undefect. CWE-407 — 63 sites patched across 27 ecosystems
Authors: russell@unturf.com · brackishbert@gmail.com · foxhop.net · TimeHexOn.com Patches, unit tests, benchmarks, whitepaper, and outreach briefs. Public domain — no copyright claimed. Use freely.
This commit is contained in:
commit
0a580b313d
70422 changed files with 17213626 additions and 0 deletions
|
|
@ -0,0 +1,71 @@
|
|||
/*
|
||||
* @test /nodynamiccopyright/
|
||||
* @bug 8212982
|
||||
* @summary Verify a compile-time error is produced if switch expression does not provide a value
|
||||
* @compile/fail/ref=ExpressionSwitchFlow.out -XDrawDiagnostics ExpressionSwitchFlow.java
|
||||
*/
|
||||
|
||||
public class ExpressionSwitchFlow {
|
||||
private String test1(int i) {
|
||||
return switch (i) {
|
||||
case 0 -> {}
|
||||
default -> { yield "other"; }
|
||||
};
|
||||
}
|
||||
private String test2(int i) {
|
||||
return switch (i) {
|
||||
case 0 -> {
|
||||
}
|
||||
default -> "other";
|
||||
};
|
||||
}
|
||||
private String test3(int i) {
|
||||
return switch (i) {
|
||||
case 0 -> {}
|
||||
case 1 -> "";
|
||||
default -> throw new IllegalStateException();
|
||||
};
|
||||
}
|
||||
private String test4(int i) {
|
||||
return switch (i) {
|
||||
case 0 -> { yield "other"; }
|
||||
default -> {}
|
||||
};
|
||||
}
|
||||
private String test5(int i) {
|
||||
return switch (i) {
|
||||
case 0 -> "other";
|
||||
default -> {}
|
||||
};
|
||||
}
|
||||
private String test6(int i) {
|
||||
return switch (i) {
|
||||
case 0 -> throw new IllegalStateException();
|
||||
case 1 -> "";
|
||||
default -> {}
|
||||
};
|
||||
}
|
||||
private String test7(int i) {
|
||||
return switch (i) {
|
||||
case 0: throw new IllegalStateException();
|
||||
case 1: yield "";
|
||||
default:
|
||||
};
|
||||
}
|
||||
private String test8(int i) {
|
||||
return switch (i) {
|
||||
case 1: yield "";
|
||||
case 0: i++;
|
||||
default: {
|
||||
}
|
||||
};
|
||||
}
|
||||
private String test9(int i) {
|
||||
return switch (i) {
|
||||
case 1: yield "";
|
||||
case 0:
|
||||
default:
|
||||
System.err.println();
|
||||
};
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue