LegalizeAdulthood marked an inline comment as done.
LegalizeAdulthood added inline comments.


================
Comment at: clang/include/clang/ASTMatchers/ASTMatchers.h:5435-5442
+/// Matches two consecutive statements within a compound statement.
+///
+/// Given
+/// \code
+///   { if (x > 0) return true; return false; }
+/// \endcode
+/// compoundStmt(hasSubstatementSequence(ifStmt(), returnStmt()))
----------------
aaron.ballman wrote:
> How do we extend this to support testing arbitrary sequences of statements? 
> (If this supports two statements, someone will find a need for three, etc).
Yeah, I was wondering that too.  I didn't see (but didn't look extensively) any 
support for variadic matchers taking a parameter pack.

I stopped at 2 because this suits my immediate needs with 
`readability-simplify-boolean-expr` where I have to manually loop over 
`CompoundStmt` matches in order to verify that the `if (x) return true; return 
false;` constructs consist of two adjacent statements.


================
Comment at: clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp:2636
+
+TEST_P(ASTMatchersTest, HasSubstatementSequenceComplex) {
+  const char *Text = R"code(
----------------
aaron.ballman wrote:
> Some more complex-ish tests: can we match within function try or catch blocks 
> and GNU statement expressions?
Adding something for GNU statement expressions is a good idea.

I'm open for other suggestions that might improve coverage.

At the moment, I believe I have 100% coverage of the new matcher, with the 
exception of GNU statement expressions (honestly, I just copy/pasted that from 
another matcher on `CompoundStmt`, I wasn't even aware of this GNU extension).


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

https://reviews.llvm.org/D116518

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

Reply via email to