我正在编写一个铿锵声工具,并试图弄清楚如何评估一个字符串字符串赋予对程序AST的访问权限。考虑下面的程序:在铿锵工具中评估常量表达式
class DHolder {
public:
DHolder(std::string s) {}
};
DHolder x("foo");
我在Clang的工具下面的代码:
const CXXConstructExpr *ctor = ... // constructs `x` above
const Expr *expr = ctor->getArg(0); // the "foo" expression
???
我怎样才能从Expr
获取表示"foo"
字符串文字在我的工具实际的C++字符串?我试着这样做:
// From ExprConstant.cpp
Evaluate(result, info, expr);
,但我不知道如何初始化result
和info
参数。
任何线索?