|
LibreOffice Module formula (master) 1
|
#include <token.hxx>
Classes | |
| struct | PrivateAccess |
| This is dirty and only the compiler should use it! More... | |
Public Member Functions | |
| FormulaToken (StackVar eTypeP, OpCode e=ocPush) | |
| FormulaToken (const FormulaToken &r) | |
| virtual | ~FormulaToken () |
| void | Delete () |
| void | DeleteIfZeroRef () |
| StackVar | GetType () const |
| bool | IsFunction () const |
| bool | IsExternalRef () const |
| bool | IsRef () const |
| sal_uInt8 | GetParamCount () const |
| void | IncRef () const |
| void | DecRef () const |
| oslInterlockedCount | GetRef () const |
| OpCode | GetOpCode () const |
| bool | IsInForceArray () const |
| virtual sal_uInt8 | GetByte () const |
| Dummy methods to avoid switches and casts where possible, the real token classes have to override the appropriate method[s]. More... | |
| virtual void | SetByte (sal_uInt8 n) |
| virtual ParamClass | GetInForceArray () const |
| virtual void | SetInForceArray (ParamClass c) |
| virtual double | GetDouble () const |
| virtual double & | GetDoubleAsReference () |
| virtual sal_Int16 | GetDoubleType () const |
| virtual void | SetDoubleType (sal_Int16 nType) |
| virtual const svl::SharedString & | GetString () const |
| virtual void | SetString (const svl::SharedString &rStr) |
| virtual sal_uInt16 | GetIndex () const |
| virtual void | SetIndex (sal_uInt16 n) |
| virtual sal_Int16 | GetSheet () const |
| virtual void | SetSheet (sal_Int16 n) |
| virtual sal_Unicode | GetChar () const |
| virtual short * | GetJump () const |
| virtual const OUString & | GetExternal () const |
| virtual FormulaToken * | GetFAPOrigToken () const |
| virtual FormulaError | GetError () const |
| virtual void | SetError (FormulaError) |
| virtual const ScSingleRefData * | GetSingleRef () const |
| virtual ScSingleRefData * | GetSingleRef () |
| virtual const ScComplexRefData * | GetDoubleRef () const |
| virtual ScComplexRefData * | GetDoubleRef () |
| virtual const ScSingleRefData * | GetSingleRef2 () const |
| virtual ScSingleRefData * | GetSingleRef2 () |
| virtual const ScMatrix * | GetMatrix () const |
| virtual ScMatrix * | GetMatrix () |
| virtual ScJumpMatrix * | GetJumpMatrix () const |
| virtual const std::vector< ScComplexRefData > * | GetRefList () const |
| virtual std::vector< ScComplexRefData > * | GetRefList () |
| virtual FormulaToken * | Clone () const |
| virtual bool | TextEqual (const formula::FormulaToken &rToken) const |
| virtual bool | operator== (const FormulaToken &rToken) const |
| void | NewOpCode (OpCode e, const PrivateAccess &) |
Private Member Functions | |
| FormulaToken & | operator= (const FormulaToken &)=delete |
Private Attributes | |
| OpCode | eOp |
| const StackVar | eType |
| oslInterlockedCount | mnRefCnt |
| formula::FormulaToken::FormulaToken | ( | const FormulaToken & | r | ) |
|
inlinevirtual |
Reimplemented in formula::FormulaSpaceToken, formula::FormulaByteToken, formula::FormulaFAPToken, formula::FormulaDoubleToken, formula::FormulaTypedDoubleToken, formula::FormulaStringToken, formula::FormulaStringOpToken, formula::FormulaIndexToken, formula::FormulaExternalToken, formula::FormulaMissingToken, formula::FormulaJumpToken, formula::FormulaUnknownToken, formula::FormulaErrorToken, formula::SingleVectorRefToken, and formula::DoubleVectorRefToken.
Definition at line 210 of file token.hxx.
Referenced by formula::FormulaTokenArray::AddToken().
|
inline |
Definition at line 151 of file token.hxx.
References Delete.
Referenced by formula::FormulaCompiler::MergeRangeReference().
|
inline |
Definition at line 136 of file token.hxx.
Referenced by formula::FormulaTokenArray::HasMatrixDoubleRefOps().
|
virtual |
Dummy methods to avoid switches and casts where possible, the real token classes have to override the appropriate method[s].
The only methods valid anytime if not overridden are:
Any other non-overridden method pops up an assertion.
Reimplemented in formula::FormulaSpaceToken, and formula::FormulaByteToken.
Definition at line 162 of file token.cxx.
Referenced by GetParamCount(), IsFunction(), formula::FormulaSpaceToken::operator==(), and formula::FormulaByteToken::operator==().
|
virtual |
Reimplemented in formula::FormulaSpaceToken.
Definition at line 245 of file token.cxx.
Referenced by formula::FormulaSpaceToken::operator==().
|
virtual |
Reimplemented in formula::FormulaDoubleToken, and formula::FormulaMissingToken.
Definition at line 184 of file token.cxx.
Referenced by formula::FormulaCompiler::Factor(), and formula::FormulaDoubleToken::operator==().
|
virtual |
Reimplemented in formula::FormulaDoubleToken.
|
virtual |
|
virtual |
|
virtual |
Reimplemented in formula::FormulaDoubleToken, and formula::FormulaTypedDoubleToken.
Definition at line 199 of file token.cxx.
References SAL_WARN.
Referenced by formula::FormulaTypedDoubleToken::operator==().
|
virtual |
Reimplemented in formula::FormulaErrorToken.
|
virtual |
Reimplemented in formula::FormulaExternalToken.
Definition at line 259 of file token.cxx.
References SAL_WARN.
Referenced by formula::FormulaExternalToken::operator==().
|
virtual |
Reimplemented in formula::FormulaFAPToken.
Definition at line 266 of file token.cxx.
References SAL_WARN.
Referenced by formula::FormulaDlg_Impl::MakeTree(), and formula::FormulaFAPToken::operator==().
|
virtual |
Reimplemented in formula::FormulaIndexToken.
Definition at line 223 of file token.cxx.
References SAL_WARN.
Referenced by formula::FormulaIndexToken::operator==().
|
virtual |
Reimplemented in formula::FormulaByteToken, and formula::FormulaJumpToken.
Definition at line 173 of file token.cxx.
References eOp, eType, formula::ForceArrayReturn, ocPush, formula::svMatrix, and formula::Unknown.
Referenced by formula::FormulaCompiler::ForceArrayOperator(), IsInForceArray(), formula::FormulaJumpToken::operator==(), and formula::FormulaByteToken::operator==().
|
virtual |
Reimplemented in formula::FormulaJumpToken.
Definition at line 252 of file token.cxx.
References SAL_WARN.
Referenced by formula::FormulaCompiler::Factor(), and formula::FormulaJumpToken::operator==().
|
virtual |
|
virtual |
|
inline |
Definition at line 158 of file token.hxx.
Referenced by formula::FormulaCompiler::Factor(), formula::FormulaCompiler::ForceArrayOperator(), formula::FormulaTokenArray::GetOuterFuncOpCode(), formula::FormulaDlg_Impl::MakeTree(), formula::FormulaTokenArrayPlainIterator::NextNoSpaces(), operator==(), formula::FormulaTokenArrayPlainIterator::PeekNextNoSpaces(), formula::FormulaTokenArrayPlainIterator::PeekPrevNoSpaces(), and formula::FormulaTokenArray::RewriteMissing().
| sal_uInt8 formula::FormulaToken::GetParamCount | ( | ) | const |
Definition at line 89 of file token.cxx.
References eOp, GetByte(), formula::FormulaCompiler::IsOpCodeJumpCommand(), ocAnd, ocExternal, ocMacro, ocOr, ocPercentSign, SC_OPCODE_START_BIN_OP, SC_OPCODE_START_NO_PAR, SC_OPCODE_START_UN_OP, SC_OPCODE_STOP_BIN_OP, SC_OPCODE_STOP_DIV, SC_OPCODE_STOP_NO_PAR, and SC_OPCODE_STOP_UN_OP.
Referenced by formula::StructPage::GetFunctionEntry(), and formula::FormulaDlg_Impl::MakeTree().
|
inline |
|
virtual |
|
virtual |
|
virtual |
Reimplemented in formula::FormulaIndexToken.
Definition at line 234 of file token.cxx.
References SAL_WARN.
Referenced by formula::FormulaIndexToken::operator==().
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Reimplemented in formula::FormulaStringToken, formula::FormulaStringOpToken, and formula::FormulaMissingToken.
Definition at line 212 of file token.cxx.
References formula::INVALID_STRING, and SAL_WARN.
Referenced by formula::FormulaStringToken::operator==(), and formula::FormulaStringOpToken::operator==().
|
inline |
Definition at line 138 of file token.hxx.
References eType.
Referenced by formula::FormulaCompiler::Factor(), formula::FormulaCompiler::ForceArrayOperator(), and formula::FormulaDlg_Impl::MakeTree().
| bool formula::FormulaToken::IsExternalRef | ( | ) | const |
Definition at line 112 of file token.cxx.
References eType, formula::svExternalDoubleRef, formula::svExternalName, and formula::svExternalSingleRef.
| bool formula::FormulaToken::IsFunction | ( | ) | const |
Definition at line 71 of file token.cxx.
References eOp, GetByte(), formula::FormulaCompiler::IsOpCodeJumpCommand(), ocAnd, ocBad, ocColRowName, ocColRowNameAuto, ocDBArea, ocExternal, ocInternalBegin, ocInternalEnd, ocMacro, ocName, ocOr, ocPush, ocTableRef, SC_OPCODE_START_1_PAR, SC_OPCODE_START_2_PAR, SC_OPCODE_START_NO_PAR, SC_OPCODE_STOP_1_PAR, SC_OPCODE_STOP_2_PAR, and SC_OPCODE_STOP_NO_PAR.
Referenced by formula::StructPage::GetFunctionEntry(), and formula::FormulaDlg_Impl::MakeTree().
| bool formula::FormulaToken::IsInForceArray | ( | ) | const |
Definition at line 146 of file token.cxx.
References formula::ForceArray, formula::ForceArrayReturn, GetInForceArray(), formula::ReferenceOrForceArray, and formula::ReferenceOrRefArray.
Referenced by formula::FormulaDlg_Impl::MakeTree(), and formula::FormulaDlg_Impl::UpdateValues().
| bool formula::FormulaToken::IsRef | ( | ) | const |
Definition at line 129 of file token.cxx.
References eOp, eType, ocTableRef, formula::svDoubleRef, formula::svExternalDoubleRef, formula::svExternalSingleRef, and formula::svSingleRef.
|
inline |
Definition at line 217 of file token.hxx.
Referenced by formula::FormulaCompiler::Factor().
|
privatedelete |
|
virtual |
Reimplemented in formula::FormulaJumpToken, formula::FormulaSpaceToken, formula::FormulaByteToken, formula::FormulaFAPToken, formula::FormulaDoubleToken, formula::FormulaTypedDoubleToken, formula::FormulaStringToken, formula::FormulaStringOpToken, formula::FormulaIndexToken, formula::FormulaExternalToken, formula::FormulaMissingToken, formula::FormulaUnknownToken, and formula::FormulaErrorToken.
Definition at line 153 of file token.cxx.
References eType, and GetOpCode().
Referenced by formula::FormulaJumpToken::operator==(), formula::FormulaSpaceToken::operator==(), formula::FormulaByteToken::operator==(), formula::FormulaDoubleToken::operator==(), formula::FormulaStringToken::operator==(), formula::FormulaIndexToken::operator==(), formula::FormulaMissingToken::operator==(), formula::FormulaUnknownToken::operator==(), and formula::FormulaErrorToken::operator==().
|
virtual |
Reimplemented in formula::FormulaByteToken.
Definition at line 168 of file token.cxx.
Referenced by formula::FormulaCompiler::Factor().
|
virtual |
Reimplemented in formula::FormulaTypedDoubleToken.
|
virtual |
Reimplemented in formula::FormulaErrorToken.
|
virtual |
Reimplemented in formula::FormulaIndexToken.
|
virtual |
Reimplemented in formula::FormulaByteToken, and formula::FormulaJumpToken.
|
virtual |
Reimplemented in formula::FormulaIndexToken.
|
virtual |
Reimplemented in formula::FormulaStringToken, and formula::FormulaStringOpToken.
|
virtual |
|
private |
Definition at line 125 of file token.hxx.
Referenced by GetInForceArray(), GetParamCount(), IsFunction(), and IsRef().
|
private |
Definition at line 126 of file token.hxx.
Referenced by GetInForceArray(), IsExternalRef(), IsRef(), and operator==().
|
mutableprivate |