diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-07-19 20:27:28 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-07-19 20:27:28 +0300 |
commit | 4307905ef2ea753cb080b12c9a3ca70be22f40e5 (patch) | |
tree | 6d9750711f329cb062596de715b6dd0b0e68b131 /src/analysis/collections.cpp | |
parent | aaa7e95066c8144d5df0ccab7fa2ca334c8512e5 (diff) | |
download | paranucker-4307905ef2ea753cb080b12c9a3ca70be22f40e5.tar.gz paranucker-4307905ef2ea753cb080b12c9a3ca70be22f40e5.tar.bz2 paranucker-4307905ef2ea753cb080b12c9a3ca70be22f40e5.tar.xz paranucker-4307905ef2ea753cb080b12c9a3ca70be22f40e5.zip |
Handle situation like this: "type var = nullptr". Here var will be known as nulled variable.
Diffstat (limited to 'src/analysis/collections.cpp')
-rw-r--r-- | src/analysis/collections.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/analysis/collections.cpp b/src/analysis/collections.cpp index d8d9510..b7acf6d 100644 --- a/src/analysis/collections.cpp +++ b/src/analysis/collections.cpp @@ -187,6 +187,17 @@ void addUnknownVar(WalkItem &wi, wi.removeNullVarsAll.erase(var); } +void addNullVar(WalkItem &wi, + const std::string &var) +{ + wi.knownVars.insert(var); + wi.knownNullVars.insert(var); + wi.knownNonNullVars.erase(var); + wi.addNullVars.insert(var); + wi.removeNullVars.erase(var); + wi.removeNullVarsAll.erase(var); +} + void addNonNullVar(WalkItem &wi, const std::string &var) { |