63 lines
1.4 KiB
Java
63 lines
1.4 KiB
Java
|
/**
|
||
|
* @test /nodynamiccopyright/
|
||
|
* @bug 4986256
|
||
|
* @compile/ref=FallThrough.noLint.out -XDstdout -XDrawDiagnostics FallThrough.java
|
||
|
* @compile/ref=FallThrough.lintAll.out -XDstdout -Xlint:all,-path -XDrawDiagnostics FallThrough.java
|
||
|
* @compile/ref=FallThrough.lintFallThrough.out -XDstdout -Xlint:fallthrough -XDrawDiagnostics FallThrough.java
|
||
|
*/
|
||
|
|
||
|
// control: this class should generate a warning
|
||
|
class FallThrough
|
||
|
{
|
||
|
int m1(int i) {
|
||
|
switch (i) {
|
||
|
case 1: i++; case 2: i++;
|
||
|
}
|
||
|
return i;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// tests: the warnings that would otherwise be generated should all be suppressed
|
||
|
@SuppressWarnings("fallthrough")
|
||
|
class FallThrough1
|
||
|
{
|
||
|
int m1(int i) {
|
||
|
switch (i) {
|
||
|
case 1: i++; case 2: i++;
|
||
|
}
|
||
|
return i;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class FallThrough2
|
||
|
{
|
||
|
@SuppressWarnings("fallthrough")
|
||
|
class Bar {
|
||
|
int m1(int i) {
|
||
|
switch (i) {
|
||
|
case 1: i++; case 2: i++;
|
||
|
}
|
||
|
return i;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@SuppressWarnings("fallthrough")
|
||
|
void m2(int i) {
|
||
|
switch (i) {
|
||
|
case 1: i++; case 2: i++;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
@SuppressWarnings("fallthrough")
|
||
|
static int x = new FallThrough2() {
|
||
|
int m1(int i) {
|
||
|
switch (i) {
|
||
|
case 1: i++; case 2: i++;
|
||
|
}
|
||
|
return i;
|
||
|
}
|
||
|
}.m1(0);
|
||
|
|
||
|
}
|