我正在尝试使用clang的Analyzer框架获取函数调用序列(使用checkers等)。
我写了Checker
,它使用checkPreCall
方法来处理函数调用。我正在尝试查看简单的函数调用,如f(x, y)
,我想看到我传递给函数的变量的名称。
使用Expr
是Stmt
类型的事实,我使用printPretty
函数来获取变量名称,但显然如果参数是x+2
或我得到x+2
作为输出。
有没有更好的方法来检索变量的名称,甚至找出它是一个简单的表达式(x
)还是一个复杂的表达式(x+2
)?