summaryrefslogtreecommitdiff
path: root/src/analysis/walkitem.h
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-06-18 17:28:59 +0300
committerAndrei Karas <akaras@inbox.ru>2015-06-18 17:28:59 +0300
commit4125da9e48ff0f6240ad705d8a47323b70ee59c1 (patch)
tree5d5b630f13419296fb8ca94167b78a33ef842c5b /src/analysis/walkitem.h
parentd2b4c53238a9c455eb15d58526b7e5f43100f457 (diff)
downloadparanucker-4125da9e48ff0f6240ad705d8a47323b70ee59c1.tar.gz
paranucker-4125da9e48ff0f6240ad705d8a47323b70ee59c1.tar.bz2
paranucker-4125da9e48ff0f6240ad705d8a47323b70ee59c1.tar.xz
paranucker-4125da9e48ff0f6240ad705d8a47323b70ee59c1.zip
Improve analysis for nodes EQ_EXPR, NE_EXPR, TRUTH_ORIF_EXPR (incomplete).
Diffstat (limited to 'src/analysis/walkitem.h')
-rw-r--r--src/analysis/walkitem.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/analysis/walkitem.h b/src/analysis/walkitem.h
index 29352c0..11245bf 100644
--- a/src/analysis/walkitem.h
+++ b/src/analysis/walkitem.h
@@ -28,22 +28,27 @@ struct WalkItem
WalkItem() :
checkNullVars(),
removeNullVars(),
+ checkedNullVars(),
+ checkedNonNullVars(),
stopWalking(false),
- isReturned(false),
- isExpr(false)
+ isReturned(false)
{
}
WalkItem(const WalkItem &item) :
checkNullVars(item.checkNullVars),
removeNullVars(item.removeNullVars),
+ checkedNullVars(item.checkedNullVars),
+ checkedNonNullVars(item.checkedNonNullVars),
stopWalking(item.stopWalking),
isReturned(item.isReturned)
{
}
- std::set<std::string> checkNullVars;
- std::set<std::string> removeNullVars;
+ std::set<std::string> checkNullVars; // need check for usage without null pointer check
+ std::set<std::string> removeNullVars; // need remove vars from parent checkNullVars
+ std::set<std::string> checkedNullVars; // vars checked for null in expressions
+ std::set<std::string> checkedNonNullVars; // vars checked for nonnull in expressions
bool stopWalking; // stop walking on tree after this node
bool isReturned; // set if return present in child nodes
bool isExpr; // set if walking on expression for if other kind nodes