LibreOffice Module sc (master)
1
|
#include <compiler.hxx>
Public Member Functions | |
ScRawToken () | |
formula::StackVar | GetType () const |
only delete via Delete() More... | |
OpCode | GetOpCode () const |
void | NewOpCode (OpCode e) |
void | SetOpCode (OpCode eCode) |
void | SetString (rtl_uString *pData, rtl_uString *pDataIgoreCase) |
void | SetSingleReference (const ScSingleRefData &rRef) |
void | SetDoubleReference (const ScComplexRefData &rRef) |
void | SetDouble (double fVal) |
void | SetErrorConstant (FormulaError nErr) |
void | SetName (sal_Int16 nSheet, sal_uInt16 nIndex) |
void | SetExternalSingleRef (sal_uInt16 nFileId, const OUString &rTabName, const ScSingleRefData &rRef) |
void | SetExternalDoubleRef (sal_uInt16 nFileId, const OUString &rTabName, const ScComplexRefData &rRef) |
void | SetExternalName (sal_uInt16 nFileId, const OUString &rName) |
void | SetExternal (const OUString &rStr) |
bool | IsValidReference (const ScDocument &rDoc) const |
If the token is a non-external reference, determine if the reference is valid. More... | |
formula::FormulaToken * | CreateToken (ScSheetLimits &rLimits) const |
Public Attributes | |
OpCode | eOp |
formula::StackVar | eType |
union { | |
double nValue | |
struct { | |
sal_uInt8 cByte | |
formula::ParamClass eInForceArray | |
} sbyte | |
ScComplexRefData aRef | |
struct { | |
sal_uInt16 nFileId | |
ScComplexRefData aRef | |
} extref | |
struct { | |
sal_uInt16 nFileId | |
} extname | |
struct { | |
sal_Int16 nSheet | |
sal_uInt16 nIndex | |
} name | |
struct { | |
sal_uInt16 nIndex | |
ScTableRefToken::Item eItem | |
} table | |
struct { | |
rtl_uString * mpData | |
rtl_uString * mpDataIgnoreCase | |
} sharedstring | |
ScMatrix * pMat | |
FormulaError nError | |
short nJump [FORMULA_MAXJUMPCOUNT+1] | |
}; | |
OUString | maExternalName |
Private Member Functions | |
~ScRawToken () | |
Friends | |
class | ScCompiler |
class | ScTokenArray |
Definition at line 100 of file compiler.hxx.
|
inline |
Definition at line 142 of file compiler.hxx.
|
inlineprivate |
Definition at line 144 of file compiler.hxx.
FormulaToken * ScRawToken::CreateToken | ( | ScSheetLimits & | rLimits | ) | const |
Definition at line 346 of file token.cxx.
References aName, IF_NOT_OPCODE_ERROR, name, nValue, ocBad, ocMissing, ocPush, ocTableRef, SAL_WARN, formula::svByte, formula::svDouble, formula::svDoubleRef, formula::svError, formula::svExternal, formula::svExternalDoubleRef, formula::svExternalName, formula::svExternalSingleRef, formula::svFAP, formula::svIndex, formula::svJump, formula::svMatrix, formula::svMissing, formula::svSep, formula::svSingleRef, formula::svString, formula::svUnknown, and table.
Referenced by ScTokenArray::AddRawToken(), and ScCompiler::CompileString().
|
inline |
Definition at line 147 of file compiler.hxx.
References eOp.
Referenced by ScCompiler::CompileString(), and ScCompiler::IsOpCode().
|
inline |
bool ScRawToken::IsValidReference | ( | const ScDocument & | rDoc | ) | const |
If the token is a non-external reference, determine if the reference is valid.
If the token is an external reference, return true. Else return false. Used only in ScCompiler::NextNewToken() to preserve non-existing sheet names in otherwise valid references.
Definition at line 329 of file token.cxx.
References eType, formula::svDoubleRef, formula::svExternalDoubleRef, formula::svExternalSingleRef, and formula::svSingleRef.
Referenced by ScCompiler::NextNewToken().
Definition at line 148 of file compiler.hxx.
Referenced by ScCompiler::IsOpCode(), and ScCompiler::NextNewToken().
void ScRawToken::SetDouble | ( | double | fVal | ) |
Definition at line 269 of file token.cxx.
References eType, nValue, ocPush, and formula::svDouble.
Referenced by ScCompiler::IsValue().
void ScRawToken::SetDoubleReference | ( | const ScComplexRefData & | rRef | ) |
Definition at line 262 of file token.cxx.
References eType, ocPush, and formula::svDoubleRef.
Referenced by ScCompiler::IsDoubleReference().
void ScRawToken::SetErrorConstant | ( | FormulaError | nErr | ) |
Definition at line 276 of file token.cxx.
References eType, ocPush, and formula::svError.
Referenced by ScCompiler::IsErrorConstant().
void ScRawToken::SetExternal | ( | const OUString & | rStr | ) |
Definition at line 322 of file token.cxx.
References eType, ocExternal, and formula::svExternal.
Referenced by ScCompiler::IsMacro(), and ScCompiler::IsOpCode().
void ScRawToken::SetExternalDoubleRef | ( | sal_uInt16 | nFileId, |
const OUString & | rTabName, | ||
const ScComplexRefData & | rRef | ||
) |
Definition at line 303 of file token.cxx.
References eType, ocPush, and formula::svExternalDoubleRef.
Referenced by ScCompiler::IsDoubleReference().
void ScRawToken::SetExternalName | ( | sal_uInt16 | nFileId, |
const OUString & | rName | ||
) |
Definition at line 313 of file token.cxx.
References eType, ocPush, and formula::svExternalName.
Referenced by ScCompiler::IsExternalNamedRange().
void ScRawToken::SetExternalSingleRef | ( | sal_uInt16 | nFileId, |
const OUString & | rTabName, | ||
const ScSingleRefData & | rRef | ||
) |
Definition at line 292 of file token.cxx.
References eType, ocPush, and formula::svExternalSingleRef.
Referenced by ScCompiler::IsSingleReference().
void ScRawToken::SetName | ( | sal_Int16 | nSheet, |
sal_uInt16 | nIndex | ||
) |
Definition at line 283 of file token.cxx.
References eType, name, ocName, and formula::svIndex.
Referenced by ScCompiler::IsDBRange(), and ScCompiler::IsNamedRange().
Definition at line 206 of file token.cxx.
References eType, FORMULA_MAXJUMPCOUNT, ocArrayClose, ocArrayColSep, ocArrayOpen, ocArrayRowSep, ocChoose, ocClose, ocIf, ocIfError, ocIfNA, ocMissing, ocOpen, ocSep, ocTableRefClose, ocTableRefOpen, formula::svByte, formula::svJump, formula::svMissing, and formula::svSep.
Referenced by ScTokenArray::AddOpCode(), ScCompiler::IsBoolean(), ScCompiler::IsOpCode(), ScCompiler::IsOpCode2(), ScCompiler::IsTableRefItem(), ScCompiler::IsValue(), and ScCompiler::NextNewToken().
void ScRawToken::SetSingleReference | ( | const ScSingleRefData & | rRef | ) |
Definition at line 254 of file token.cxx.
References eType, ocPush, and formula::svSingleRef.
Referenced by ScCompiler::IsColRowName(), ScCompiler::IsSingleReference(), and ScCompiler::IsTableRefColumn().
void ScRawToken::SetString | ( | rtl_uString * | pData, |
rtl_uString * | pDataIgoreCase | ||
) |
Definition at line 245 of file token.cxx.
References eType, ocPush, and formula::svString.
Referenced by ScCompiler::IsString(), and ScCompiler::NextNewToken().
|
friend |
Definition at line 102 of file compiler.hxx.
|
friend |
Definition at line 105 of file compiler.hxx.
union { ... } |
ScComplexRefData ScRawToken::aRef |
Definition at line 115 of file compiler.hxx.
sal_uInt8 ScRawToken::cByte |
Definition at line 112 of file compiler.hxx.
formula::ParamClass ScRawToken::eInForceArray |
Definition at line 113 of file compiler.hxx.
ScTableRefToken::Item ScRawToken::eItem |
Definition at line 129 of file compiler.hxx.
OpCode ScRawToken::eOp |
Definition at line 106 of file compiler.hxx.
Referenced by GetOpCode(), ScCompiler::IsColRowName(), ScCompiler::IsDBRange(), and ScCompiler::IsMacro().
formula::StackVar ScRawToken::eType |
Definition at line 107 of file compiler.hxx.
Referenced by GetType().
struct { ... } ScRawToken::extname |
struct { ... } ScRawToken::extref |
OUString ScRawToken::maExternalName |
Definition at line 139 of file compiler.hxx.
rtl_uString* ScRawToken::mpData |
Definition at line 132 of file compiler.hxx.
rtl_uString* ScRawToken::mpDataIgnoreCase |
Definition at line 133 of file compiler.hxx.
struct { ... } ScRawToken::name |
FormulaError ScRawToken::nError |
Definition at line 136 of file compiler.hxx.
sal_uInt16 ScRawToken::nFileId |
Definition at line 117 of file compiler.hxx.
sal_uInt16 ScRawToken::nIndex |
Definition at line 125 of file compiler.hxx.
short ScRawToken::nJump[FORMULA_MAXJUMPCOUNT+1] |
Definition at line 137 of file compiler.hxx.
sal_Int16 ScRawToken::nSheet |
Definition at line 124 of file compiler.hxx.
double ScRawToken::nValue |
Definition at line 110 of file compiler.hxx.
ScMatrix* ScRawToken::pMat |
Definition at line 135 of file compiler.hxx.
struct { ... } ScRawToken::sbyte |
Referenced by ScCompiler::NextNewToken().
struct { ... } ScRawToken::sharedstring |
struct { ... } ScRawToken::table |