Clang AST - isNullPointerConstant()

时间:2016-07-01 06:16:31

标签: clang abstract-syntax-tree llvm-clang clang-static-analyzer

我试图使用Clang的AST检查目标C中CallExpr的输入参数是否为null / nil

我看到有一个方法isNullPointerConstant()似乎会做我想做的事情http://clang.llvm.org/doxygen/classclang_1_1Expr.html#ab56d6fd074c831a3e63b45f4f226b35a

但是,我不确定如何调用此方法。具体来说,它所采用的NullPointerConstantValue依赖是什么以及返回的NullPointerConstantKind是什么?

我需要做的只是评估参数是否为null,布尔返回值可以正常工作。我还有其他方法可以看吗?

1 个答案:

答案 0 :(得分:0)

这最终对我有用

Expr::NullPointerConstantKind kind = expr->isNullPointerConstant(*Context, Expr::NullPointerConstantValueDependence());

如果是好的> 0表示存在某种形式的空指针,可以检索它以查看其原因。

相关问题