summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-07-02 02:23:47 +0300
committerAndrei Karas <akaras@inbox.ru>2015-07-02 02:23:47 +0300
commitc6718526632313a36b33912e63c3287448bf6eb1 (patch)
tree8797ba4160bbe7e23c6dda0d466d2827e08108fb /src
parent1674d5685a5b08314dcf584d0c08b15479a7e624 (diff)
downloadparanucker-c6718526632313a36b33912e63c3287448bf6eb1.tar.gz
paranucker-c6718526632313a36b33912e63c3287448bf6eb1.tar.bz2
paranucker-c6718526632313a36b33912e63c3287448bf6eb1.tar.xz
paranucker-c6718526632313a36b33912e63c3287448bf6eb1.zip
Fix knownVars collection again.
Diffstat (limited to 'src')
-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);
+ }
}
}