< prev index next >
test/langtools/tools/javac/switchexpr/ExpressionSwitch.java
Print this page
rev 52724 : imported patch 8214031
@@ -21,10 +21,18 @@
check(T.C, "other");
assertEquals(exhaustive1(T.C), "C");
assertEquals(scopesIsolated(T.B), "B");
assertEquals(lambdas1(T.B).get(), "B");
assertEquals(lambdas2(T.B).get(), "B");
+ assertEquals(convert1("A"), 0);
+ assertEquals(convert1("B"), 0);
+ assertEquals(convert1("C"), 1);
+ assertEquals(convert1(""), -1);
+ assertEquals(convert2("A"), 0);
+ assertEquals(convert2("B"), 0);
+ assertEquals(convert2("C"), 1);
+ assertEquals(convert2(""), -1);
localClass(T.A);
}
private String print(T t) {
return switch (t) {
@@ -74,10 +82,26 @@
case B: { break () -> "B"; }
default: break () -> "default";
};
}
+ private int convert1(String s) {
+ return switch (s) {
+ case "A", "B" -> 0;
+ case "C" -> { break 1; }
+ default -> -1;
+ };
+ }
+
+ private int convert2(String s) {
+ return switch (s) {
+ case "A", "B": break 0;
+ case "C": break 1;
+ default: break -1;
+ };
+ }
+
private void localClass(T t) {
String good = "good";
class L {
public String c() {
STOP: switch (t) {
< prev index next >