class 具有初始化和成员函数调用的实例的 ASTMatcher

ASTMatcher for class instance with Initialization and the member function call

我在获取以下实体的 ASTMatcher 时遇到了困难。第一个是 class.

的实例
Vec v1(1.0,1.0,1.0);
Vec v2(2.0,2.0,2.0);

理想情况下,我可以有一个可以匹配两个实例的匹配器。

二是捕获成员函数vec_add及其隐式参数v1和显式参数v2.

的调用
Vec v3 = v1.vec_add(v1);
Vec v4 = v1.vec_add(v2);

我想出了第一种的解决方案:

declStmt(containsDeclaration(0, varDecl(hasInitializer(cxxConstructExpr(argumentCountIs(3))))))

第二种的解决方法是

callExpr(callee(namedDecl(hasName("vec_add"))))

现在我有点知道如何思考设计了。 请继续关注我的博客!