diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-07-08 00:34:52 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-07-08 14:09:58 +0300 |
commit | 4403372a6292fcfeff4d29383e0fc964abaeb592 (patch) | |
tree | ce546f534f60e5c7d1c7dd975159484ba63a415f /src/analysis/analysis.cpp | |
parent | c493b9059f0289585c7aa7c2be71ec7fd5aa9116 (diff) | |
download | paranucker-4403372a6292fcfeff4d29383e0fc964abaeb592.tar.gz paranucker-4403372a6292fcfeff4d29383e0fc964abaeb592.tar.bz2 paranucker-4403372a6292fcfeff4d29383e0fc964abaeb592.tar.xz paranucker-4403372a6292fcfeff4d29383e0fc964abaeb592.zip |
Add WHILE_STMT node analysis.
This add basic support for while(exprt) {code}
Diffstat (limited to 'src/analysis/analysis.cpp')
-rw-r--r-- | src/analysis/analysis.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/analysis/analysis.cpp b/src/analysis/analysis.cpp index de4fec3..70905e6 100644 --- a/src/analysis/analysis.cpp +++ b/src/analysis/analysis.cpp @@ -56,6 +56,7 @@ #include "nodes/ref/component_ref.h" #include "nodes/stmt/if_stmt.h" +#include "nodes/stmt/while_stmt.h" #include "localconsts.h" @@ -198,7 +199,7 @@ void analyseNode(Node *node, const WalkItem &wi, WalkItem &wo) // remove check for vars what was requested from some childs. // Except IF_STMT. Removing handled inside analyse function. - if (node != IF_STMT) + if (node != IF_STMT && node != WHILE_STMT) { removeNeedCheckNullVarsSetAll(wi2, wi2.removeNullVarsAll); } @@ -276,6 +277,9 @@ void analyseNode(Node *node, const WalkItem &wi, WalkItem &wo) case IF_STMT: analyseIfStmt(static_cast<IfStmtNode*>(node), wi2, wo); break; + case WHILE_STMT: + analyseWhileStmt(static_cast<WhileStmtNode*>(node), wi2, wo); + break; case COMPONENT_REF: analyseComponentRef(static_cast<ComponentRefNode*>(node), wi2, wo); break; |