From b27fabaacb2d4a557324ee0e05f96f8589cc4fe0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Thu, 30 Apr 2020 21:49:27 +0200 Subject: [PATCH] Refactoring ExprEngine --- lib/exprengine.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/lib/exprengine.cpp b/lib/exprengine.cpp index a688e6842..c4f461a8c 100644 --- a/lib/exprengine.cpp +++ b/lib/exprengine.cpp @@ -1295,17 +1295,17 @@ static ExprEngine::ValuePtr executeAssign(const Token *tok, Data &data) ExprEngine::ValuePtr rhsValue = executeExpression(tok->astOperand2(), data); if (!rhsValue) { - const ValueType *vt = tok->astOperand1() ? tok->astOperand1()->valueType() : nullptr; - if (vt && vt->pointer == 0 && vt->isIntegral()) - rhsValue = getValueRangeFromValueType(data.getNewSymbolName(), vt, *data.settings); - else { - vt = tok->astOperand2() ? tok->astOperand2()->valueType() : nullptr; - if (vt && vt->container && vt->container->stdStringLike) { - auto size = std::make_shared(data.getNewSymbolName(), 0, ~0ULL); - auto value = std::make_shared(data.getNewSymbolName(), -128, 127); - rhsValue = std::make_shared(data.getNewSymbolName(), size, value, false, false, false); - call(data.callbacks, tok->astOperand2(), rhsValue, &data); - } + const ValueType * const vt1 = tok->astOperand1() ? tok->astOperand1()->valueType() : nullptr; + const ValueType * const vt2 = tok->astOperand2() ? tok->astOperand2()->valueType() : nullptr; + + if (vt1 && vt1->pointer == 0 && vt1->isIntegral()) + rhsValue = getValueRangeFromValueType(data.getNewSymbolName(), vt1, *data.settings); + + else if (vt2 && vt2->container && vt2->container->stdStringLike) { + auto size = std::make_shared(data.getNewSymbolName(), 0, ~0ULL); + auto value = std::make_shared(data.getNewSymbolName(), -128, 127); + rhsValue = std::make_shared(data.getNewSymbolName(), size, value, false, false, false); + call(data.callbacks, tok->astOperand2(), rhsValue, &data); } }