gribozavr2 accepted this revision.
gribozavr2 added inline comments.
This revision is now accepted and ready to land.


================
Comment at: clang/include/clang/Tooling/Transformer/RewriteRule.h:337
+// refer to nodes bound by the calling rule. `Rule` is not applied to the node
+// itself.
+EditGenerator rewriteDescendants(std::string NodeId, RewriteRule Rule);
----------------
Please use three slashes for doc comments.


================
Comment at: clang/lib/Tooling/Transformer/RewriteRule.cpp:194
+    for (auto &Matcher : transformer::detail::buildMatchers(Rule))
+      MF->addMatcher(forEachDescendantDynamically<T>(std::move(Nodes), 
Matcher),
+                     this);
----------------
Wouldn't this line move the same value multiple times?


================
Comment at: clang/lib/Tooling/Transformer/RewriteRule.cpp:208
+    }
+    // FIXME: some combinators legitimately return no changes.
+    if (Transformations->empty()) {
----------------
The fix seems trivial -- removing the if statement. Why not do that?


================
Comment at: clang/unittests/Tooling/TransformerTest.cpp:422
+  std::string Input =
+      "int f(int x) { int y = x; { int z = x * x; } return x; }";
+  std::string Expected =
----------------
These tests do not demonstrate that the rewrite is only applied to the 
descendants of the specified AST node -- would be good to test that.


================
Comment at: clang/unittests/Tooling/TransformerTest.cpp:1135
+
+TEST_F(TransformerTest, RewriteDescendantsUnboundNode) {
+  std::string Input =
----------------
Any particular reason to add these tests at the end of the file instead of 
grouped together with the rest of the tests for `rewriteDescendants` above?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D84409



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

Reply via email to