[cfe-dev] ignoring*() and hasParent() matchers
Michael Jabbour via cfe-dev
cfe-dev at lists.llvm.org
Sat Jul 7 07:23:01 PDT 2018
Thanks for the confirmation. I have learned a lot from your great
talks/presentations :-)
Thanks,
Mike
On 06/07/2018 11:03 AM, Manuel Klimek wrote:
> That's what I'd do, too.
>
> On Fri, 6 Jul 2018, 00:50 Michael Jabbour via cfe-dev,
> <cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>> wrote:
>
> I ended up writing my matcher like this:
>
> integerLiteral(
> expr().bind("literal"), //inline bind call using a
> redundant node matcher
> hasAncestor( //climb up the AST to the nearest
> varDeclancestor
>
> varDecl(hasInitializer(ignoringParenCasts(equalsBoundNode("literal"))))
> //check that this varDecl satisfies the original condition
> )
> )
>
> Any feedback is appreciated, as I am completely new to LibTooling...
>
> P.S.: The actual matcher I am working on is far more complicated.
> Inverting it (i.e. using my very first example) would result in
> much more difficult problems. Although this seems like a
> roundabout hack, it might be effective when nested inside matchers
> that have already been tested
>
> Thanks,
>
> Mike
>
>
> On 05/07/2018 7:31 PM, Michael Jabbour wrote:
>>
>> Hello all,
>>
>> When using has*() it is sometimes desirable to use
>> ignoringParenCasts(), for example (from the docs):
>>
>> varDecl(hasInitializer(ignoringParenCasts(integerLiteral())))
>>
>> Is there any way to get the same effect when hasParent(), e.g.:
>>
>> integerLiteral(hasParent(ignoringParenCasts(varDecl())))
>>
>> Obviously this does not work, but what is the best way to achieve
>> a similar effect?
>>
>> cheers,
>>
>> Mike
>>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20180707/2ffbb66a/attachment.html>
More information about the cfe-dev
mailing list