LibreOffice Module sc (master)  1
Public Member Functions | Public Attributes | Private Member Functions | Friends | List of all members
ScRawToken Struct Referencefinal

#include <compiler.hxx>

Collaboration diagram for ScRawToken:
[legend]

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::FormulaTokenCreateToken (ScSheetLimits &rLimits) const
 

Public Attributes

OpCode eOp
 
formula::StackVar eType
 
union {
   double   nValue
 
   struct {
      sal_uInt8   nCount
 
      sal_Unicode   cChar
 
   }   whitespace
 
   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
 

Detailed Description

Definition at line 99 of file compiler.hxx.

Constructor & Destructor Documentation

ScRawToken::ScRawToken ( )
inline

Definition at line 145 of file compiler.hxx.

ScRawToken::~ScRawToken ( )
inlineprivate

Definition at line 147 of file compiler.hxx.

Member Function Documentation

FormulaToken * ScRawToken::CreateToken ( ScSheetLimits rLimits) const
OpCode ScRawToken::GetOpCode ( ) const
inline

Definition at line 150 of file compiler.hxx.

References eOp.

Referenced by ScCompiler::CompileString(), and ScCompiler::IsOpCode().

formula::StackVar ScRawToken::GetType ( ) const
inline

only delete via Delete()

Definition at line 149 of file compiler.hxx.

References eType.

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 334 of file token.cxx.

References eType, formula::svDoubleRef, formula::svExternalDoubleRef, formula::svExternalSingleRef, and formula::svSingleRef.

Referenced by ScCompiler::NextNewToken().

void ScRawToken::NewOpCode ( OpCode  e)
inline

Definition at line 151 of file compiler.hxx.

Referenced by ScCompiler::IsOpCode(), and ScCompiler::NextNewToken().

void ScRawToken::SetDouble ( double  fVal)

Definition at line 274 of file token.cxx.

References eType, nValue, ocPush, and formula::svDouble.

Referenced by ScCompiler::IsValue().

void ScRawToken::SetDoubleReference ( const ScComplexRefData rRef)

Definition at line 267 of file token.cxx.

References eType, ocPush, and formula::svDoubleRef.

Referenced by ScCompiler::IsDoubleReference().

void ScRawToken::SetErrorConstant ( FormulaError  nErr)

Definition at line 281 of file token.cxx.

References eType, ocPush, and formula::svError.

Referenced by ScCompiler::IsErrorConstant().

void ScRawToken::SetExternal ( const OUString &  rStr)

Definition at line 327 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 308 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 318 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 297 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 288 of file token.cxx.

References eType, name, ocName, and formula::svIndex.

Referenced by ScCompiler::IsDBRange(), and ScCompiler::IsNamedRange().

void ScRawToken::SetOpCode ( OpCode  eCode)
void ScRawToken::SetSingleReference ( const ScSingleRefData rRef)
void ScRawToken::SetString ( rtl_uString *  pData,
rtl_uString *  pDataIgoreCase 
)

Definition at line 250 of file token.cxx.

References eType, ocPush, and formula::svString.

Referenced by ScCompiler::IsString(), and ScCompiler::NextNewToken().

Friends And Related Function Documentation

friend class ScCompiler
friend

Definition at line 101 of file compiler.hxx.

friend class ScTokenArray
friend

Definition at line 104 of file compiler.hxx.

Member Data Documentation

union { ... }
ScComplexRefData ScRawToken::aRef

Definition at line 118 of file compiler.hxx.

sal_uInt8 ScRawToken::cByte

Definition at line 115 of file compiler.hxx.

sal_Unicode ScRawToken::cChar

Definition at line 112 of file compiler.hxx.

formula::ParamClass ScRawToken::eInForceArray

Definition at line 116 of file compiler.hxx.

ScTableRefToken::Item ScRawToken::eItem

Definition at line 132 of file compiler.hxx.

OpCode ScRawToken::eOp
formula::StackVar ScRawToken::eType

Definition at line 106 of file compiler.hxx.

Referenced by GetType().

struct { ... } ScRawToken::extname
struct { ... } ScRawToken::extref
OUString ScRawToken::maExternalName

Definition at line 142 of file compiler.hxx.

rtl_uString* ScRawToken::mpData

Definition at line 135 of file compiler.hxx.

rtl_uString* ScRawToken::mpDataIgnoreCase

Definition at line 136 of file compiler.hxx.

struct { ... } ScRawToken::name
sal_uInt8 ScRawToken::nCount

Definition at line 111 of file compiler.hxx.

FormulaError ScRawToken::nError

Definition at line 139 of file compiler.hxx.

sal_uInt16 ScRawToken::nFileId

Definition at line 120 of file compiler.hxx.

sal_uInt16 ScRawToken::nIndex

Definition at line 128 of file compiler.hxx.

short ScRawToken::nJump[FORMULA_MAXJUMPCOUNT+1]

Definition at line 140 of file compiler.hxx.

sal_Int16 ScRawToken::nSheet

Definition at line 127 of file compiler.hxx.

double ScRawToken::nValue

Definition at line 109 of file compiler.hxx.

ScMatrix* ScRawToken::pMat

Definition at line 138 of file compiler.hxx.

struct { ... } ScRawToken::sbyte
struct { ... } ScRawToken::sharedstring
struct { ... } ScRawToken::table
struct { ... } ScRawToken::whitespace

The documentation for this struct was generated from the following files: