无法获得callExpr参数的类型

时间:2016-06-04 09:03:25

标签: llvm automated-refactoring

我试图从调用表达式中获取参数的类型,以便稍后在重写器中使用该类型。 这就是我所拥有的:

const clang::Expr *const *FuncArgs = CallExpress.getArgs();

std::string QTString = FuncArgs[0]->getType().getBaseTypeIdentifier()->getName().str();

当我运行它时,它编译并链接正常但是当我运行它时我得到一个段故障。 当我调用getName时,会发生这种分段错误。 我的问题是第一个,做错了什么?如果我正确地解决这个问题。还有其他方法从callExpr中的参数获取QT吗?

1 个答案:

答案 0 :(得分:0)

我终于找到了答案。您可以致电getType,然后拨打getAsString,将类型设为字符串,前提是您已从原始问题中获得FuncArgs