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 |