aaron.ballman added a comment.

In D93988#2477961 <https://reviews.llvm.org/D93988#2477961>, @steveire wrote:

> In D93988#2477602 <https://reviews.llvm.org/D93988#2477602>, @aaron.ballman 
> wrote:
>
>> Could you give me a bit more background about why you want to make this 
>> change?
>
> This change makes it explicit so that we can see which tests work in only one 
> mode, and if we want to change the default, this part is already compatible 
> with the change.
>
> But, this is not very important.
>
>> There are tests which I would expect to match in any traversal mode (e.g., 
>> `EXPECT_TRUE(matches("class X {};", traverse(TK_AsIs, HasClassX)));`)
>
> Given that
>
>   HasClassX = recordDecl(has(recordDecl(hasName("X"))))
>
> which matches the implicit `RecordDecl` within the `RecordDecl`, it shouldn't 
> match in `Ignore...` mode.

My eyes managed to miss that this was grabbing the injected declaration and 
that was the root cause of my confusion in a few places. Thanks for the 
clarification. :-)



================
Comment at: clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp:698
+
+  // TODO: No change?
   EXPECT_TRUE(matches(
----------------
Are you planning to answer this as part of this patch?


================
Comment at: clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp:3626
+  EXPECT_TRUE(matchAndVerifyResultTrue(
+      "template <typename T> struct A { struct B {"
+      "  void f() { if(true) {} }"
----------------
Rather than duplicate the code, it may be a bit cleaner to hoist the string 
literal into a local variable that's shared between the two test cases. Also, a 
comment pointing out how these tests differ wouldn't be amiss (it took me a bit 
to see that the second test is ensuring we ignore the injected class name).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D93988

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

Reply via email to