formula/source/core/api/token.cxx | 14 ++++++++++++++ include/formula/tokenarray.hxx | 2 ++ 2 files changed, 16 insertions(+)
New commits: commit 7b67e3fc5566f4172c69fa8460aea0c006e97a4d Author: Tor Lillqvist <[email protected]> Date: Tue Jun 13 17:09:24 2017 +0300 Add FirstToken() and FirstRPNToken() functions that don't touch nIndex ... to FormulaTokenArray. Intermediate commit, these new functions aren't used yet. Change-Id: Ie505fe9dbd787087fa29f701d29ff9b4495c8699 diff --git a/formula/source/core/api/token.cxx b/formula/source/core/api/token.cxx index 978dc2e198b6..a451e2a6c107 100644 --- a/formula/source/core/api/token.cxx +++ b/formula/source/core/api/token.cxx @@ -600,6 +600,13 @@ void FormulaTokenArray::DelRPN() nRPN = nIndex = 0; } +FormulaToken* FormulaTokenArray::FirstToken() const +{ + if (!pCode || nLen == 0) + return nullptr; + return pCode[0]; +} + FormulaToken* FormulaTokenArray::PeekPrev( sal_uInt16 & nIdx ) { if (0 < nIdx && nIdx <= nLen) @@ -647,6 +654,13 @@ FormulaToken* FormulaTokenArray::PeekPrevNoSpaces() return nullptr; } +FormulaToken* FormulaTokenArray::FirstRPNToken() const +{ + if (!pRPN || nRPN == 0) + return nullptr; + return pRPN[0]; +} + bool FormulaTokenArray::HasReferences() const { for (sal_uInt16 i = 0; i < nLen; ++i) diff --git a/include/formula/tokenarray.hxx b/include/formula/tokenarray.hxx index 575ead626286..109146c56b87 100644 --- a/include/formula/tokenarray.hxx +++ b/include/formula/tokenarray.hxx @@ -206,6 +206,7 @@ public: void Clear(); void DelRPN(); FormulaToken* First() { nIndex = 0; return Next(); } + FormulaToken* FirstToken() const; FormulaToken* Next(); FormulaToken* NextNoSpaces(); FormulaToken* GetNextName(); @@ -219,6 +220,7 @@ public: FormulaToken* PeekPrevNoSpaces(); /// Only after Reset/First/Next/Last/Prev! FormulaToken* PeekNextNoSpaces(); /// Only after Reset/First/Next/Last/Prev! FormulaToken* FirstRPN() { nIndex = 0; return NextRPN(); } + FormulaToken* FirstRPNToken() const; FormulaToken* NextRPN(); FormulaToken* LastRPN() { nIndex = nRPN; return PrevRPN(); } FormulaToken* PrevRPN(); _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
