[cfe-dev] Matching bools

Daniel Jasper djasper at google.com
Sun Oct 7 13:21:20 PDT 2012


+cfe-dev

Hi Gábor,

I think the AST-internal-name of the type bool is '_Bool'. Can you try
that with the asString-matcher? However, I think the right solution
would be to write a matcher like:

AST_MATCHER(QualType, isBoolean) {
  return Node->isBooleanType();
}

Cheers,
Daniel

On Sun, Oct 7, 2012 at 10:06 PM, Gábor Horváth <xazax.hun at gmail.com> wrote:
> Hi!
>
> I can't figure out how can I match bool types.
>
> First of all, I had a matcher like this:
> classTemplateSpecializationDecl(hasAnyTemplateArgument(refersToType(asString("bool"))))
>
> but asString("bool") did not give me any match, however using any other
> types would. First of all, I thought, maybe bool is a typedef, and that can
> cause the problem, so I alstered the asString matcher, to also check the
> name of the cannonical type.
>
> It looks now like this one:
> AST_MATCHER_P(QualType, asString, std::string, Name) {
>   return Name == Node.getAsString() || Name ==
> Node.getCanonicalType().getAsString();
> }
>
> However I still has no success.
>
> Thanks for your answer in advance,
> Gábor




More information about the cfe-dev mailing list