ymandel marked 2 inline comments as done.
ymandel added a comment.

I was going to add a test for `Type`/`QualType` and realized that they don't 
carry any source location info.  Therefore, I don't think they belong as 
top-level matchers for rewrite rules.  Instead, users should use 
`typeLoc(loc(<type matcher here>)`.  Therefore, the logic of `getKind` can be 
eliminated in favor of using `K.getSupportedKind()` directly.  However, that 
means we'll need to keep them out of the collection of matchers that we're 
processing.

For that, I propose either we ban them in `buildMatchers()` or we detect them 
and wrap them in `typeLoc(loc(<type matcher here>)`. I'm fine with either one, 
but prefer the latter. WDYT?



================
Comment at: clang/lib/Tooling/Refactoring/Transformer.cpp:127
+  // in `taggedMatchers`.
+  std::map<ASTNodeKind, SmallVector<std::pair<size_t, RewriteRule::Case>, 1>>
+      Buckets;
----------------
gribozavr wrote:
> `unordered_map`?
fails because `ASTNodeKind` doesn't have a hash function.  Which is odd since 
there's an obvious one we could define, but doesn't seem worth doing just for 
here.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D65877



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to