summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/analysis/statement.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/analysis/statement.cpp b/src/analysis/statement.cpp
index 245755c..1126e90 100644
--- a/src/analysis/statement.cpp
+++ b/src/analysis/statement.cpp
@@ -113,6 +113,10 @@ void analyseCondition(Node *node,
wo.knownNonNullVars.insert(it);
removeNeedCheckNullVar(wo, it);
}
+ FOR_EACH (it, wco.checkedNonNullVars)
+ {
+ wo.knownNullVars.insert(it);
+ }
}
if (wo3.isReturned)
{
@@ -123,6 +127,10 @@ void analyseCondition(Node *node,
wo.knownNonNullVars.insert(it);
removeNeedCheckNullVar(wo, it);
}
+ FOR_EACH (it, wco.checkedNullVars)
+ {
+ wo.knownNullVars.insert(it);
+ }
}
if (wo2.isReturned && wo3.isReturned)
@@ -131,7 +139,6 @@ void analyseCondition(Node *node,
FOR_EACH (it, wo.needCheckNullVars)
{
wo.removeNullVarsAll.insert(it);
- wo.knownNonNullVars.insert(it);
}
}