diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-07-19 01:05:26 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-07-19 01:05:26 +0300 |
commit | 63c96de147bcdd5dd2edc7acee872f768eca916c (patch) | |
tree | 774617e41ecd641032429fee7360a6a9e24f3d45 /src/analysis/collections.h | |
parent | 04c30021f7097fd3d2aafdbe159d39510ba22e49 (diff) | |
download | paranucker-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.h | 6 |
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 |