summaryrefslogtreecommitdiff
path: root/src/analysis/collections.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-07-19 20:27:28 +0300
committerAndrei Karas <akaras@inbox.ru>2015-07-19 20:27:28 +0300
commit4307905ef2ea753cb080b12c9a3ca70be22f40e5 (patch)
tree6d9750711f329cb062596de715b6dd0b0e68b131 /src/analysis/collections.cpp
parentaaa7e95066c8144d5df0ccab7fa2ca334c8512e5 (diff)
downloadparanucker-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.cpp11
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)
{