summaryrefslogtreecommitdiff
path: root/src/analysis/collections.h
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-07-19 01:05:26 +0300
committerAndrei Karas <akaras@inbox.ru>2015-07-19 01:05:26 +0300
commit63c96de147bcdd5dd2edc7acee872f768eca916c (patch)
tree774617e41ecd641032429fee7360a6a9e24f3d45 /src/analysis/collections.h
parent04c30021f7097fd3d2aafdbe159d39510ba22e49 (diff)
downloadparanucker-63c96de147bcdd5dd2edc7acee872f768eca916c.tar.gz
paranucker-63c96de147bcdd5dd2edc7acee872f768eca916c.tar.bz2
paranucker-63c96de147bcdd5dd2edc7acee872f768eca916c.tar.xz
paranucker-63c96de147bcdd5dd2edc7acee872f768eca916c.zip
Add ability for detect what variable will be non null after if block.
Example: if (!ptr) { ptr1 = new data; } // here ptr1 always non null
Diffstat (limited to 'src/analysis/collections.h')
-rw-r--r--src/analysis/collections.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/analysis/collections.h b/src/analysis/collections.h
index a03cbe5..1e36bf0 100644
--- a/src/analysis/collections.h
+++ b/src/analysis/collections.h
@@ -86,6 +86,12 @@ namespace Analysis
void enforceNeedCheckNullVars(WalkItem &wi);
void removeLinkVarOnly(WalkItem &wi, const std::string &var);
+
+ void removeNeedCheckNullVars2(WalkItem &wco, WalkItem &wi, WalkItem &wo);
+
+ void addKnownNonNullVarWithLinked(WalkItem &wo, WalkItem &wi, const std::string &var);
+
+ void removeNeedCheckNullVarOnly(WalkItem &wi, const std::string &var);
}
#endif // ANALYSIS_COLLECTIONS_H