summaryrefslogtreecommitdiff
path: root/src/analysis/expression.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-06-23 17:03:57 +0300
committerAndrei Karas <akaras@inbox.ru>2015-06-23 17:03:57 +0300
commitfc19686699db0db4c36d6df360202518c2f0386a (patch)
treebf17f80e5e1159fcd7bd438e07319459366cc5e1 /src/analysis/expression.cpp
parentf426fd33e3113838a7aa152608959b3cbbb531c3 (diff)
downloadparanucker-fc19686699db0db4c36d6df360202518c2f0386a.tar.gz
paranucker-fc19686699db0db4c36d6df360202518c2f0386a.tar.bz2
paranucker-fc19686699db0db4c36d6df360202518c2f0386a.tar.xz
paranucker-fc19686699db0db4c36d6df360202518c2f0386a.zip
Add analysis for node TRUTH_AND_EXPR.
Diffstat (limited to 'src/analysis/expression.cpp')
-rw-r--r--src/analysis/expression.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/analysis/expression.cpp b/src/analysis/expression.cpp
index 6ee975c..60b4a3e 100644
--- a/src/analysis/expression.cpp
+++ b/src/analysis/expression.cpp
@@ -37,6 +37,7 @@
#include "nodes/expr/nop_expr.h"
#include "nodes/expr/pointerplus_expr.h"
#include "nodes/expr/return_expr.h"
+#include "nodes/expr/truthand_expr.h"
#include "nodes/expr/truthandif_expr.h"
#include "nodes/expr/truthorif_expr.h"
@@ -233,6 +234,15 @@ void analyseTruthAndIfExpr(TruthAndIfExprNode *node, const WalkItem &wi, WalkIte
analyseAndCondition(node, node->args[0], node->args[1], wi, wo);
}
+void analyseTruthAndExpr(TruthAndExprNode *node, const WalkItem &wi, WalkItem &wo)
+{
+ // need two args for check
+ if (node->args.size() < 2 || command == FindArgs)
+ return;
+
+ analyseAndCondition(node, node->args[0], node->args[1], wi, wo);
+}
+
// args[0] condition
// args[1] true expr
// args[2] false expr