summaryrefslogtreecommitdiff
path: root/basic
diff options
context:
space:
mode:
authorArnaud Versini <arnaud.versini@libreoffice.org>2020-12-26 13:21:57 +0100
committerNoel Grandin <noel.grandin@collabora.co.uk>2020-12-26 19:23:00 +0100
commita5c1a64555ed0aebc2610ae874bff4713be366a7 (patch)
treeb39758496d75f535cb26461d47f2a3898ce61fa0 /basic
parent56169b613e5830d90323c1cad31d2015a1d4cb4d (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.cxx30
-rw-r--r--basic/source/inc/expr.hxx10
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 );