nridge added a comment. Still haven't had a chance to take a super detailed look, but a few high-level thoughts:
1. The AST nodes that reference operator names should store source ranges associated with the operator names, such that we shouldn't need to do token-by-token manipulation. For example, `functionDecl->getNameInfo().getCXXOperatorNameRange()`. 2. I think I appreciate now the issue with `findExplicitReferences()`: it gives us `ReferenceLoc` objects, which store a single `SourceLocation` but do **not** retain the AST node containing the reference (thereby not allowing us to access the source range of the reference easily). We've run into this before (here <https://github.com/clangd/clangd/issues/839#issuecomment-899006073>), and contemplated modifying `ReferenceLoc` to retain the AST node containing the reference, but decided against it, so I guess we should stick to that. That said... would it make sense to handle the **single-token** cases with `findExplicitReferences()`? Or would that just end up splitting the logic / duplicating code more? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D119077/new/ https://reviews.llvm.org/D119077 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits