diff options
-rw-r--r-- | src/analysis/statement.cpp | 14 |
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); + } } } |