From 198a722974790e541dd7a1248fca0a35fbb5b1ec Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Mon, 18 Mar 2013 15:15:59 -0400 Subject: Move GetHash() from FormulaTokenArray to ScTokenArray. To allow access to reference tokens. Change-Id: I3e2d2653722005c04b6d26e1a4ddfce0a459ef37 --- formula/inc/formula/tokenarray.hxx | 1 - formula/source/core/api/token.cxx | 52 -------------------------------------- 2 files changed, 53 deletions(-) (limited to 'formula') diff --git a/formula/inc/formula/tokenarray.hxx b/formula/inc/formula/tokenarray.hxx index aa382cd9653e..42c92127c856 100644 --- a/formula/inc/formula/tokenarray.hxx +++ b/formula/inc/formula/tokenarray.hxx @@ -94,7 +94,6 @@ public: virtual ~FormulaTokenArray(); FormulaTokenArray* Clone() const; /// True copy! - size_t GetHash() const; void Clear(); void DelRPN(); FormulaToken* First() { nIndex = 0; return Next(); } diff --git a/formula/source/core/api/token.cxx b/formula/source/core/api/token.cxx index 5a47d2e43934..150be29a7a61 100644 --- a/formula/source/core/api/token.cxx +++ b/formula/source/core/api/token.cxx @@ -685,58 +685,6 @@ FormulaTokenArray* FormulaTokenArray::Clone() const return p; } -size_t FormulaTokenArray::GetHash() const -{ - static OUStringHash aHasher; - - size_t nHash = 1; - OpCode eOp; - StackVar eType; - const FormulaToken* p; - sal_uInt16 n = std::min(nLen, 20); - for (sal_uInt16 i = 0; i < n; ++i) - { - p = pCode[i]; - eOp = p->GetOpCode(); - if (eOp == ocPush) - { - // This is stack variable. Do additional differentiation. - eType = p->GetType(); - switch (eType) - { - case svByte: - { - // Constant value. - sal_uInt8 nVal = p->GetByte(); - nHash += (static_cast(nVal) << i); - continue; - } - case svDouble: - { - // Constant value. - double fVal = p->GetDouble(); - nHash += (static_cast(fVal) << i); - continue; - } - case svString: - { - // Constant string. - const String& rStr = p->GetString(); - nHash += (aHasher(rStr) << i); - continue; - } - default: - // TODO: Decide later if we should generate hash from references as well. - ; - } - } - - // Use the opcode value in all the other cases. - nHash += (static_cast(eOp) << i); - } - return nHash; -} - void FormulaTokenArray::Clear() { if( nRPN ) DelRPN(); -- cgit