Fix FallThroughCheck fails on if with no else, issue #1395.
This commit is contained in:
parent
901dce39c1
commit
0d66a67b0d
|
|
@ -29,11 +29,13 @@ public class FallThroughTest extends BaseCheckTestSupport{
|
|||
final String[] expected = {
|
||||
"14:13: " + msg,
|
||||
"38:13: " + msg,
|
||||
"47:13: " + msg,
|
||||
"53:13: " + msg,
|
||||
"70:13: " + msg,
|
||||
"87:13: " + msg,
|
||||
"105:13: " + msg,
|
||||
"123:13: " + msg,
|
||||
"179:11: " + msg,
|
||||
"369:11: " + msg,
|
||||
"372:11: " + msg,
|
||||
"374:41: " + msg,
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ public class FallThroughInput
|
|||
if (true) {
|
||||
return;
|
||||
}
|
||||
case 14:
|
||||
case 14: //warn
|
||||
if (true) {
|
||||
return;
|
||||
} else {
|
||||
|
|
@ -176,7 +176,7 @@ public class FallThroughInput
|
|||
if (true) {
|
||||
return;
|
||||
}
|
||||
case 14:
|
||||
case 14: //warn
|
||||
if (true) {
|
||||
return;
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -223,7 +223,10 @@ public class FallThroughCheck extends Check {
|
|||
|
||||
if (isTerminated && elseStmt != null) {
|
||||
isTerminated = isTerminated(elseStmt.getFirstChild(),
|
||||
useBreak, useContinue);
|
||||
useBreak, useContinue);
|
||||
}
|
||||
else if (elseStmt == null) {
|
||||
isTerminated = false;
|
||||
}
|
||||
return isTerminated;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,11 +38,13 @@ public class FallThroughCheckTest extends BaseCheckTestSupport {
|
|||
final String[] expected = {
|
||||
"14:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"38:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"47:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"53:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"70:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"87:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"105:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"123:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"179:11: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"369:11: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"372:11: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"374:40: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
|
|
@ -64,12 +66,14 @@ public class FallThroughCheckTest extends BaseCheckTestSupport {
|
|||
final String[] expected = {
|
||||
"14:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"38:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"47:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"53:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"70:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"87:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"105:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"123:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"123:13: " + getCheckMessage(MSG_FALL_THROUGH_LAST),
|
||||
"179:11: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"369:11: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"372:11: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"374:40: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
|
|
@ -94,6 +98,7 @@ public class FallThroughCheckTest extends BaseCheckTestSupport {
|
|||
final String[] expected = {
|
||||
"14:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"38:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"47:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"53:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"70:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"87:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
|
|
@ -101,6 +106,7 @@ public class FallThroughCheckTest extends BaseCheckTestSupport {
|
|||
"123:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"145:11: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"170:11: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"179:11: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"186:11: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"204:11: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"222:11: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
|
|
@ -138,4 +144,23 @@ public class FallThroughCheckTest extends BaseCheckTestSupport {
|
|||
Assert.assertNotNull(check.getDefaultTokens());
|
||||
Assert.assertNotNull(check.getRequiredTokens());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFallThroughNoElse() throws Exception {
|
||||
DefaultConfiguration checkConfig = createCheckConfig(FallThroughCheck.class);
|
||||
final String[] expected = {
|
||||
"20:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"35:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"39:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"46:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"60:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"67:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"80:21: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"86:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
"88:13: " + getCheckMessage(MSG_FALL_THROUGH),
|
||||
};
|
||||
verify(checkConfig,
|
||||
getPath("coding" + File.separator + "InputFallThrough2.java"),
|
||||
expected);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,95 @@
|
|||
package com.puppycrawl.tools.checkstyle.coding;
|
||||
|
||||
public class InputFallThrough2 {
|
||||
enum Test {
|
||||
A, B, C
|
||||
}
|
||||
|
||||
public static void test() {
|
||||
Test test = Test.A;
|
||||
int variable = 0;
|
||||
|
||||
switch (test) {
|
||||
case A:
|
||||
break;
|
||||
case B:
|
||||
if (variable == 1) {
|
||||
// some work
|
||||
break;
|
||||
}
|
||||
case C:
|
||||
break;
|
||||
}
|
||||
|
||||
int var2 = 1;
|
||||
switch (variable) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
System.out.println(var2);
|
||||
break;
|
||||
case 3:
|
||||
if (true) {
|
||||
return;
|
||||
}
|
||||
case 4:
|
||||
if (var2 == 2) {
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
if (var2 == 1) {
|
||||
|
||||
}
|
||||
else if (true) {
|
||||
return;
|
||||
}
|
||||
case 6:
|
||||
if (var2 > 1) {
|
||||
break;
|
||||
}
|
||||
else {
|
||||
break;
|
||||
}
|
||||
case 7:
|
||||
if (var2 ==1) {
|
||||
break;
|
||||
}
|
||||
else if (true) {
|
||||
return;
|
||||
}
|
||||
case 8:
|
||||
if(var2 == 5) {
|
||||
System.out.println("0xB16B00B5");
|
||||
}
|
||||
else {
|
||||
break;
|
||||
}
|
||||
case 9:
|
||||
if(var2 == 5) {
|
||||
System.out.println("0xCAFED00D");
|
||||
}
|
||||
else {
|
||||
System.out.printf("0x4B1D");
|
||||
}
|
||||
break;
|
||||
case 10:
|
||||
int var3 = 0xDEADBEEF;
|
||||
switch (var3) {
|
||||
case 0xCAFEBABE:
|
||||
System.out.printf("0x1CEB00DA");
|
||||
default:
|
||||
System.out.printf("");
|
||||
}
|
||||
if(true) {
|
||||
break;
|
||||
}
|
||||
case 11:
|
||||
if(false) {break;}
|
||||
case 12:
|
||||
if(true);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue