basic/source/comp/exprnode.cxx | 4 +--- basic/source/comp/exprtree.cxx | 2 ++ basic/source/inc/expr.hxx | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-)
New commits: commit 4cac0c05c645fbcc67cf6090144026a2dfd02064 Author: Arnaud Versini <arnaud.vers...@gmail.com> Date: Sun Jan 24 18:59:33 2016 +0100 BASIC: SbiExpression::IsIntConstant has side effects. Also renames IsIntConstant to ConvertToIntConstIfPossible. Change-Id: Ib4b465ac0d890762547fb2d83c26ad6be6ee75e8 Reviewed-on: https://gerrit.libreoffice.org/21746 Reviewed-by: Michael Stahl <mst...@redhat.com> Tested-by: Michael Stahl <mst...@redhat.com> diff --git a/basic/source/comp/exprnode.cxx b/basic/source/comp/exprnode.cxx index 19272dc..77c1aa5 100644 --- a/basic/source/comp/exprnode.cxx +++ b/basic/source/comp/exprnode.cxx @@ -152,7 +152,7 @@ SbiExprNode* SbiExprNode::GetRealNode() // This method transform the type, if it fits into the Integer range -bool SbiExprNode::IsIntConst() +void SbiExprNode::ConvertToIntConstIfPossible() { if( eNodeType == SbxNUMVAL ) { @@ -163,11 +163,9 @@ bool SbiExprNode::IsIntConst() { nVal = (double) (short) nVal; eType = SbxINTEGER; - return true; } } } - return false; } bool SbiExprNode::IsNumber() diff --git a/basic/source/comp/exprtree.cxx b/basic/source/comp/exprtree.cxx index 634d5a3..5a153b3 100644 --- a/basic/source/comp/exprtree.cxx +++ b/basic/source/comp/exprtree.cxx @@ -1158,6 +1158,7 @@ SbiExprList* SbiExprList::ParseDimList( SbiParser* pParser ) { pExpr2 = new SbiExpression( pParser ); eTok = pParser->Next(); + pExpr1->ConvertToIntConstIfPossible(), pExpr2->ConvertToIntConstIfPossible(); pExprList->bError = pExprList->bError || !pExpr1->IsValid() || !pExpr2->IsValid(); pExpr1->pNext = pExpr2; if( !pLast ) @@ -1175,6 +1176,7 @@ SbiExprList* SbiExprList::ParseDimList( SbiParser* pParser ) { pExpr1->SetBased(); pExpr1->pNext = nullptr; + pExpr1->ConvertToIntConstIfPossible(); pExprList->bError = pExprList->bError || !pExpr1->IsValid(); if( !pLast ) { diff --git a/basic/source/inc/expr.hxx b/basic/source/inc/expr.hxx index 53a9638..eac1c8a 100644 --- a/basic/source/inc/expr.hxx +++ b/basic/source/inc/expr.hxx @@ -129,7 +129,7 @@ public: bool IsValid() { return !bError; } bool IsConstant() // true: constant operand { return eNodeType == SbxSTRVAL || eNodeType == SbxNUMVAL; } - bool IsIntConst(); + void ConvertToIntConstIfPossible(); bool IsVariable(); bool IsUnary() { return pLeft && !pRight; } @@ -197,7 +197,7 @@ public: bool IsValid() { return pExpr->IsValid(); } bool IsVariable() { return pExpr->IsVariable(); } bool IsLvalue() { return pExpr->IsLvalue(); } - bool IsIntConstant() { return pExpr->IsIntConst(); } + void ConvertToIntConstIfPossible() { pExpr->ConvertToIntConstIfPossible(); } const OUString& GetString() { return pExpr->GetString(); } SbiSymDef* GetRealVar() { return pExpr->GetRealVar(); } SbiExprNode* GetExprNode() { return pExpr; } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits