summaryrefslogtreecommitdiff
path: root/src/analysis/expression.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/expression.cpp')
-rw-r--r--src/analysis/expression.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/analysis/expression.cpp b/src/analysis/expression.cpp
index 20bc821..e521615 100644
--- a/src/analysis/expression.cpp
+++ b/src/analysis/expression.cpp
@@ -245,6 +245,8 @@ void analyseOrCondition(Node *node, Node *node1, Node *node2, const WalkItem &wi
removeCheckNullVarsSet(wi2, wo1.checkedNullVars);
wi2.checkNullVars.insert(wo1.checkedNonNullVars.begin(),
wo1.checkedNonNullVars.end());
+ wi2.knownVars.insert(wo1.checkedNonNullVars.begin(),
+ wo1.checkedNonNullVars.end());
Log::dumpWI(node, "wi2 ", wi2);
walkTree(node2, wi2, wo2);
Log::dumpWI(node, "wo2 ", wo2);
@@ -272,6 +274,8 @@ void analyseAndCondition(Node *node, Node *node1, Node *node2, const WalkItem &w
removeCheckNullVarsSet(wi2, wo1.checkedNonNullVars);
wi2.checkNullVars.insert(wo1.checkedNullVars.begin(),
wo1.checkedNullVars.end());
+ wi2.knownVars.insert(wo1.checkedNullVars.begin(),
+ wo1.checkedNullVars.end());
Log::dumpWI(node, "wi2 ", wi2);
walkTree(node2, wi2, wo2);
Log::dumpWI(node, "wo2 ", wo2);