diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-06-23 20:41:10 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-06-23 20:41:10 +0300 |
commit | 1290718edd386257698556c1068fd5665dd14ead (patch) | |
tree | 552d6dc10dfd6044045309069d405253ce4883b2 /src/analysis/analysis.cpp | |
parent | 69e9e905de9dd9fb5c28abb5013945bba03e9dbb (diff) | |
download | paranucker-1290718edd386257698556c1068fd5665dd14ead.tar.gz paranucker-1290718edd386257698556c1068fd5665dd14ead.tar.bz2 paranucker-1290718edd386257698556c1068fd5665dd14ead.tar.xz paranucker-1290718edd386257698556c1068fd5665dd14ead.zip |
Add analysis for CALL_EXPR.
This allow detect null pointers like this: ptr->function();
Diffstat (limited to 'src/analysis/analysis.cpp')
-rw-r--r-- | src/analysis/analysis.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/analysis/analysis.cpp b/src/analysis/analysis.cpp index 3cd7215..e4e789f 100644 --- a/src/analysis/analysis.cpp +++ b/src/analysis/analysis.cpp @@ -35,6 +35,7 @@ #include "nodes/expr/addr_expr.h" #include "nodes/expr/bind_expr.h" #include "nodes/expr/compound_expr.h" +#include "nodes/expr/call_expr.h" #include "nodes/expr/cond_expr.h" #include "nodes/expr/decl_expr.h" #include "nodes/expr/eq_expr.h" @@ -331,6 +332,9 @@ void analyseNode(Node *node, const WalkItem &wi, WalkItem &wo) case EQ_EXPR: analyseEqExpr(static_cast<EqExprNode*>(node), wi2, wo); break; + case CALL_EXPR: + analyseCallExpr(static_cast<CallExprNode*>(node), wi2, wo); + break; case COND_EXPR: analyseCondExpr(static_cast<CondExprNode*>(node), wi2, wo); break; |