diff options
author | Arnaud Versini <arnaud.versini@libreoffice.org> | 2020-12-26 13:21:57 +0100 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-12-26 19:23:00 +0100 |
commit | a5c1a64555ed0aebc2610ae874bff4713be366a7 (patch) | |
tree | b39758496d75f535cb26461d47f2a3898ce61fa0 /basic | |
parent | 56169b613e5830d90323c1cad31d2015a1d4cb4d (diff) |
BASIC : simplify SbiExpression initialization
Change-Id: I3a1cca2f6ea3b6d3fef2e10e2ae4d0674cfe205a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108324
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'basic')
-rw-r--r-- | basic/source/comp/exprtree.cxx | 30 | ||||
-rw-r--r-- | basic/source/inc/expr.hxx | 10 |
2 files changed, 17 insertions, 23 deletions
diff --git a/basic/source/comp/exprtree.cxx b/basic/source/comp/exprtree.cxx index 38b9adeb9800..a18a740447ec 100644 --- a/basic/source/comp/exprtree.cxx +++ b/basic/source/comp/exprtree.cxx @@ -26,13 +26,11 @@ #include <expr.hxx> SbiExpression::SbiExpression( SbiParser* p, SbiExprType t, - SbiExprMode eMode, const KeywordSymbolInfo* pKeywordSymbolInfo ) + SbiExprMode eMode, const KeywordSymbolInfo* pKeywordSymbolInfo ) : + pParser(p), + eCurExpr(t), + m_eMode(eMode) { - pParser = p; - bBased = bError = bByVal = bBracket = false; - nParenLevel = 0; - eCurExpr = t; - m_eMode = eMode; pExpr = (t != SbSTDEXPR ) ? Term( pKeywordSymbolInfo ) : Boolean(); if( t != SbSYMBOL ) { @@ -48,24 +46,20 @@ SbiExpression::SbiExpression( SbiParser* p, SbiExprType t, } } -SbiExpression::SbiExpression( SbiParser* p, double n, SbxDataType t ) +SbiExpression::SbiExpression( SbiParser* p, double n, SbxDataType t ) : + pParser(p), + eCurExpr(SbOPERAND), + m_eMode(EXPRMODE_STANDARD) { - pParser = p; - bBased = bError = bByVal = bBracket = false; - nParenLevel = 0; - eCurExpr = SbOPERAND; - m_eMode = EXPRMODE_STANDARD; pExpr = std::make_unique<SbiExprNode>( n, t ); pExpr->Optimize(pParser); } -SbiExpression::SbiExpression( SbiParser* p, const SbiSymDef& r, SbiExprListPtr pPar ) +SbiExpression::SbiExpression( SbiParser* p, const SbiSymDef& r, SbiExprListPtr pPar ) : + pParser(p), + eCurExpr(SbOPERAND), + m_eMode(EXPRMODE_STANDARD) { - pParser = p; - bBased = bError = bByVal = bBracket = false; - nParenLevel = 0; - eCurExpr = SbOPERAND; - m_eMode = EXPRMODE_STANDARD; pExpr = std::make_unique<SbiExprNode>( r, SbxVARIANT, std::move(pPar) ); } diff --git a/basic/source/inc/expr.hxx b/basic/source/inc/expr.hxx index b0656717e399..93f344e89fac 100644 --- a/basic/source/inc/expr.hxx +++ b/basic/source/inc/expr.hxx @@ -152,11 +152,11 @@ protected: std::unique_ptr<SbiExprNode> pExpr; // expression tree SbiExprType eCurExpr; // type of expression SbiExprMode m_eMode; // expression context - bool bBased; // true: easy DIM-part (+BASE) - bool bError; - bool bByVal; // true: ByVal-Parameter - bool bBracket; // true: Parameter list with brackets - sal_uInt16 nParenLevel; + bool bBased = false; // true: easy DIM-part (+BASE) + bool bError = false; + bool bByVal = false; // true: ByVal-Parameter + bool bBracket = false; // true: Parameter list with brackets + sal_uInt16 nParenLevel = 0; std::unique_ptr<SbiExprNode> Term( const KeywordSymbolInfo* pKeywordSymbolInfo = nullptr ); std::unique_ptr<SbiExprNode> ObjTerm( SbiSymDef& ); std::unique_ptr<SbiExprNode> Operand( bool bUsedForTypeOf = false ); |