[PATCH] D26125: [clang-tidy] Fixed readability-else-after-return for cascade statements
Paweł Żukowski via cfe-commits
cfe-commits at lists.llvm.org
Tue Nov 1 11:29:33 PDT 2016
idlecode retitled this revision from "[clang-tidy] Fixed else-after-return warning in cascade if statement" to "[clang-tidy] Fixed readability-else-after-return for cascade statements".
idlecode updated the summary for this revision.
idlecode updated this revision to Diff 76604.
idlecode added a comment.
I have reverted matcher to the state before https://reviews.llvm.org/D23265 (tests are passing with compoundStmt instead of stmt and this way is better than mine).
https://reviews.llvm.org/D26125
Files:
clang-tidy/readability/ElseAfterReturnCheck.cpp
test/clang-tidy/readability-else-after-return.cpp
Index: test/clang-tidy/readability-else-after-return.cpp
===================================================================
--- test/clang-tidy/readability-else-after-return.cpp
+++ test/clang-tidy/readability-else-after-return.cpp
@@ -29,32 +29,60 @@
else if (a > 10)
return;
else // comment-2
- // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: do not use 'else' after 'return'
- // CHECK-FIXES: {{^}} // comment-2
+ // CHECK-FIXES-NOT: {{^}} // comment-2
f(0);
+
+ if (a > 0)
+ if (a < 10)
+ return;
+ else // comment-3
+ // CHECK-FIXES-NOT: {{^}} // comment-3
+ f(0);
+ else
+ if (a > 10)
+ return;
+ else // comment-4
+ // CHECK-FIXES-NOT: {{^}} // comment-4
+ f(0);
+
+ if (a > 0) {
+ if (a < 10)
+ return;
+ else // comment-5
+ // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: do not use 'else' after 'return'
+ // CHECK-FIXES: {{^}} // comment-5
+ f(0);
+ } else {
+ if (a > 10)
+ return;
+ else // comment-6
+ // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: do not use 'else' after 'return'
+ // CHECK-FIXES: {{^}} // comment-6
+ f(0);
+ }
}
void foo() {
for (unsigned x = 0; x < 42; ++x) {
if (x) {
continue;
- } else { // comment-3
+ } else { // comment-7
// CHECK-MESSAGES: :[[@LINE-1]]:7: warning: do not use 'else' after 'continue'
- // CHECK-FIXES: {{^}} } // comment-3
+ // CHECK-FIXES: {{^}} } // comment-7
x++;
}
if (x) {
break;
- } else { // comment-4
+ } else { // comment-8
// CHECK-MESSAGES: :[[@LINE-1]]:7: warning: do not use 'else' after 'break'
- // CHECK-FIXES: {{^}} } // comment-4
+ // CHECK-FIXES: {{^}} } // comment-8
x++;
}
if (x) {
throw 42;
- } else { // comment-5
+ } else { // comment-9
// CHECK-MESSAGES: :[[@LINE-1]]:7: warning: do not use 'else' after 'throw'
- // CHECK-FIXES: {{^}} } // comment-5
+ // CHECK-FIXES: {{^}} } // comment-9
x++;
}
}
Index: clang-tidy/readability/ElseAfterReturnCheck.cpp
===================================================================
--- clang-tidy/readability/ElseAfterReturnCheck.cpp
+++ clang-tidy/readability/ElseAfterReturnCheck.cpp
@@ -23,7 +23,7 @@
stmt(anyOf(returnStmt().bind("return"), continueStmt().bind("continue"),
breakStmt().bind("break"), cxxThrowExpr().bind("throw")));
Finder->addMatcher(
- stmt(forEach(
+ compoundStmt(forEach(
ifStmt(hasThen(stmt(
anyOf(ControlFlowInterruptorMatcher,
compoundStmt(has(ControlFlowInterruptorMatcher))))),
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D26125.76604.patch
Type: text/x-patch
Size: 2690 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20161101/26be5aad/attachment.bin>
More information about the cfe-commits
mailing list