Hi,
I’m newbie using ASTMatchers and I’m trying to learn little by little how to use them.
I was basing on the matcher recordDecl(hasName(“Foo”), isDerivedFrom(“Bar”)) shown in http://clang.llvm.org/docs/LibASTMatchers.html trying to include new features. For instance, I tried to look for classes which have at least one virtual method:
recordDecl(hasName(“Foo”), isDerivedFrom(“Bar”), hasMethod(isVirtual()))
Or I tried to match protected overriden methods:
methodDecl(allOf(isProtected(), isOverride());
But neither of them worked as it couldn’t find “isOverride” and “isVirtual” identifiers. I was trying a lot of combinations, but I can’t understand this well.
Finally, I tried to look for the the default constructor of a certain class:
constructorDecl(hasName(“Foo”), isDefaultConstructor())
but this is wrong. What I’m doing bad? Please, any information you give me will be fine to me to understand how to use matchers.
Thanks in advance,
Pedro.