summaryrefslogtreecommitdiff
path: root/src/analysis/walkitem.h
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-08-04 00:44:42 +0300
committerAndrei Karas <akaras@inbox.ru>2015-08-04 00:44:42 +0300
commit6e0b30c7d2febba72754838b4811dd31a90284f9 (patch)
treeaa31d85836b12745c8a2b9e54c736641cfd594f4 /src/analysis/walkitem.h
parent4c0f6bc74b1cf798d28214544fb4b6517f741b8f (diff)
downloadparanucker-6e0b30c7d2febba72754838b4811dd31a90284f9.tar.gz
paranucker-6e0b30c7d2febba72754838b4811dd31a90284f9.tar.bz2
paranucker-6e0b30c7d2febba72754838b4811dd31a90284f9.tar.xz
paranucker-6e0b30c7d2febba72754838b4811dd31a90284f9.zip
Add numeric value in node calculation.
Use it in NE_EXPR and EQ_EXPR.
Diffstat (limited to 'src/analysis/walkitem.h')
-rw-r--r--src/analysis/walkitem.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/analysis/walkitem.h b/src/analysis/walkitem.h
index aa5d579..c02b52e 100644
--- a/src/analysis/walkitem.h
+++ b/src/analysis/walkitem.h
@@ -44,6 +44,8 @@ struct WalkItem
checkedElseNonNullVars(),
linkedVars(),
linkedReverseVars(),
+ num(-1),
+ isNum(false),
stopWalking(false),
isReturned(false),
isContinued(false),
@@ -66,6 +68,8 @@ struct WalkItem
checkedElseNonNullVars(item.checkedElseNonNullVars),
linkedVars(item.linkedVars),
linkedReverseVars(item.linkedReverseVars),
+ num(item.num),
+ isNum(item.isNum),
stopWalking(item.stopWalking),
isReturned(item.isReturned),
isContinued(item.isContinued),
@@ -87,6 +91,8 @@ struct WalkItem
StringSet checkedElseNonNullVars; // vars checked for nonnull in expressions for else case
StringMapSet linkedVars; // linked vars. map <parent, set(vars)>
StringMap linkedReverseVars; // linked vars. map <child, parent>
+ int num; // numerical number stored in node
+ bool isNum; // true if number stored in node
bool stopWalking; // stop walking on tree after this node
bool isReturned; // set if return present in child nodes
bool isContinued; // set if continue present in child nodes