我試圖找到如何使用CXXMemberCallExpr鐺查詢和CXXMemberCallExpr匹配
我已經嘗試了各種情況下的排列用鏗鏘-查詢匹配,不能得到它的工作。看起來,第一個字符比轉儲更低,例如FunctionDecl在鏗鏘查詢中變爲functionDecl
如果-ast-dump匹配器名稱與clang-query名稱相匹配 - 但猜測它們不是' t
例如。
clang-query> match CXXMemberCallExpr()
1:2: Matcher not found: CXXMemberCallExpr
clang-query> match cxxmemberCallExpr()
1:2: Matcher not found: cxxmemberCallExpr
clang-query> match CxxMemberCallExpr()
1:2: Matcher not found: CxxMemberCallExpr
clang-query> match CXXmemberCallExpr()
1:2: Matcher not found: CXXmemberCallExpr
clang-query> match cxxMemberCallExpr()
1:2: Matcher not found: cxxMemberCallExpr
如果人們想幫助更多的我想創造一個匹配到虛擬:: foo的(),所以基類的虛函數的所有調用。
這是我試圖用
class Virtual
{
public:
virtual void foo()
{
}
};
class Real : public Virtual
{
public:
virtual void foo()
{
}
};
void bar()
{
Virtual *v=new Real();
Real *r=new Real();
Virtual *v2=new Virtual();
v->foo();
r->foo();
v2->foo();
delete v;
delete r;
delete v2;
}
而且命令鐺爲全面AST(太長,粘貼)鐺-Xclang -ast突降virt.cc