1

我很难获得以下实体的 ASTMatcher。第一个是类的实例。

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);
4

1 回答 1

1

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

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

第二种解决方法是

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

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

于 2019-01-19T21:31:47.560 回答