[PATCH] D119363: [clang] Add `ObjCProtocolLoc` to represent protocol references

David Goldman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 15 12:28:52 PST 2022


dgoldman added a comment.

In D119363#3324024 <https://reviews.llvm.org/D119363#3324024>, @sammccall wrote:

> In D119363#3323867 <https://reviews.llvm.org/D119363#3323867>, @dgoldman wrote:
>
>> In D119363#3323778 <https://reviews.llvm.org/D119363#3323778>, @sammccall wrote:
>>
>>> I'm a bit concerned about the parent map vs ASTMatchFinder's view being out of sync: we'll have a ProtocolLoc node that has a parent but the parent doesn't have the child.
>>>
>>> I'm not sure this breaks anything immediately, but I think we should also make these nodes visible to matchers, even if there's no specific matcher yet.
>>
>> Hmm I can try to do it - what do I need to modify to make them visible to matchers?
>
> I don't remember specifically, I think ASTMatchFinderImpl has a RecursiveASTVisitor that you need to extend? I'm not sure actually how you would observe these nodes cleanly without matchers (hacks like `has(hasParent())` maybe?) So maybe it's best to ignore it in this patch and add basic matchers in a next one

It looks like ASTMatchFinder.cpp has a `MatchASTVisitor` which I think is what you meant, but yeah I think it's probably best to do in a follow up unless you think it'll break something here.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D119363/new/

https://reviews.llvm.org/D119363



More information about the cfe-commits mailing list