89 std::vector<std::unique_ptr<SbiExpression>>
aData;
104 void addExpression( std::unique_ptr<SbiExpression>&& pExpr );
139 SbiExprNode( std::unique_ptr<SbiExprNode>, sal_uInt16 );
181 std::unique_ptr<SbiExprNode>
Operand(
bool bUsedForTypeOf =
false );
182 std::unique_ptr<SbiExprNode>
Unary();
183 std::unique_ptr<SbiExprNode>
Exp();
184 std::unique_ptr<SbiExprNode>
MulDiv();
185 std::unique_ptr<SbiExprNode>
IntDiv();
186 std::unique_ptr<SbiExprNode>
Mod();
187 std::unique_ptr<SbiExprNode>
AddSub();
188 std::unique_ptr<SbiExprNode>
Cat();
189 std::unique_ptr<SbiExprNode>
Like();
190 std::unique_ptr<SbiExprNode>
VBA_Not();
191 std::unique_ptr<SbiExprNode>
Comp();
192 std::unique_ptr<SbiExprNode>
Boolean();
SbiConstExpression(SbiParser *)
SbxDataType GetType() const
const OUString & GetString() const
void addExpression(std::unique_ptr< SbiExpression > &&pExpr)
void Gen(SbiCodeGen &rGen)
static SbiExprListPtr ParseParameters(SbiParser *, bool bStandaloneExpression=false, bool bPar=true)
static SbiExprListPtr ParseDimList(SbiParser *)
SbiExpression * Get(size_t)
std::vector< std::unique_ptr< SbiExpression > > aData
void ConvertToIntConstIfPossible()
SbiNodeType GetNodeType() const
void FoldConstantsUnaryNode(SbiParser *)
std::unique_ptr< SbiExprNode > pLeft
std::unique_ptr< SbiExprNode > pRight
SbiExprList * GetParameters()
void GenElement(SbiCodeGen &, SbiOpcode)
void Gen(SbiCodeGen &rGen, RecursiveMode eRecMode=UNDEFINED)
SbxDataType GetType() const
void Optimize(SbiParser *)
void FoldConstants(SbiParser *)
void SetType(SbxDataType eTp)
SbiExprNode * pWithParent
SbiExprNode * GetRealNode()
const OUString & GetString() const
void FoldConstantsBinaryNode(SbiParser *)
void SetWithParent(SbiExprNode *p)
std::unique_ptr< SbiExprNode > VBA_Not()
void Gen(RecursiveMode eRecMode=UNDEFINED)
std::unique_ptr< SbiExprNode > Comp()
std::unique_ptr< SbiExprNode > Boolean()
std::unique_ptr< SbiExprNode > Like()
void ConvertToIntConstIfPossible()
std::unique_ptr< SbiExprNode > Unary()
SbiExprNode * GetExprNode()
std::unique_ptr< SbiExprNode > Cat()
std::unique_ptr< SbiExprNode > Operand(bool bUsedForTypeOf=false)
std::unique_ptr< SbiExprNode > IntDiv()
std::unique_ptr< SbiExprNode > pExpr
std::unique_ptr< SbiExprNode > Exp()
std::unique_ptr< SbiExprNode > AddSub()
std::unique_ptr< SbiExprNode > MulDiv()
std::unique_ptr< SbiExprNode > Term(const KeywordSymbolInfo *pKeywordSymbolInfo=nullptr)
const OUString & GetString() const
SbxDataType GetType() const
std::unique_ptr< SbiExprNode > ObjTerm(SbiSymDef &)
SbiExpression(SbiParser *, SbiExprType=SbSTDEXPR, SbiExprMode eMode=EXPRMODE_STANDARD, const KeywordSymbolInfo *pKeywordSymbolInfo=nullptr)
std::unique_ptr< SbiExprNode > Mod()
std::unique_ptr< SbiExprList > SbiExprListPtr
std::vector< SbiExprListPtr > SbiExprListVector
@ EXPRMODE_LPAREN_PENDING
@ EXPRMODE_LPAREN_NOT_NEEDED
@ EXPRMODE_ARRAY_OR_OBJECT
OUString m_aKeywordSymbol
SbxDataType m_eSbxDataType
SbiExprListVector * pvMorePar