[cfe-dev] ASTMatchers: isVirtual and isOverride

Pedro Delgado Perez pedro.delgadoperez at mail.uca.es
Thu Apr 18 12:23:47 PDT 2013


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 [ 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,


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20130418/20d96ea0/attachment.html>

More information about the cfe-dev mailing list