summaryrefslogtreecommitdiff
path: root/src/analysis/statement.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/statement.cpp')
-rw-r--r--src/analysis/statement.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/analysis/statement.cpp b/src/analysis/statement.cpp
index 1126e90..d421387 100644
--- a/src/analysis/statement.cpp
+++ b/src/analysis/statement.cpp
@@ -113,9 +113,12 @@ void analyseCondition(Node *node,
wo.knownNonNullVars.insert(it);
removeNeedCheckNullVar(wo, it);
}
- FOR_EACH (it, wco.checkedNonNullVars)
+ if (wco.cleanExpr)
{
- wo.knownNullVars.insert(it);
+ FOR_EACH (it, wco.checkedNonNullVars)
+ {
+ wo.knownNullVars.insert(it);
+ }
}
}
if (wo3.isReturned)
@@ -127,9 +130,12 @@ void analyseCondition(Node *node,
wo.knownNonNullVars.insert(it);
removeNeedCheckNullVar(wo, it);
}
- FOR_EACH (it, wco.checkedNullVars)
+ if (wco.cleanExpr)
{
- wo.knownNullVars.insert(it);
+ FOR_EACH (it, wco.checkedNullVars)
+ {
+ wo.knownNullVars.insert(it);
+ }
}
}