diff options
Diffstat (limited to 'src/analysis/expression.cpp')
-rw-r--r-- | src/analysis/expression.cpp | 4 |
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); |