mirror of
https://github.com/openjdk/jdk.git
synced 2026-01-28 03:58:21 +00:00
8205393: Add SourceVersion.RELEASE_13 8205394: Add source 13 and target 13 to javac 8205645: Bump maximum recognized class file version to 57 for JDK 13 8214825: Update preview language features for start of JDK 13 Reviewed-by: erikj, alanb, mchung, mcimadamore, dholmes, smarks, jjg
38 lines
1.1 KiB
Java
38 lines
1.1 KiB
Java
/*
|
|
* @test /nodynamiccopyright/
|
|
* @bug 8206986
|
|
* @summary Check types inferred for switch expressions.
|
|
* @compile/fail/ref=ExpressionSwitchInfer.out -XDrawDiagnostics --enable-preview -source 13 ExpressionSwitchInfer.java
|
|
*/
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
public class ExpressionSwitchInfer {
|
|
|
|
private static final String NULL = "null";
|
|
|
|
private <T> T test(List<T> l, Class<T> c, String param) {
|
|
test(param == NULL ? new ArrayList<>() : new ArrayList<>(), CharSequence.class, param).charAt(0);
|
|
test(param == NULL ? new ArrayList<>() : new ArrayList<>(), CharSequence.class, param).substring(0);
|
|
|
|
test(switch (param) {
|
|
case NULL -> new ArrayList<>();
|
|
default -> new ArrayList<>();
|
|
}, CharSequence.class, param).charAt(0);
|
|
test(switch (param) {
|
|
case NULL -> new ArrayList<>();
|
|
default -> new ArrayList<>();
|
|
}, CharSequence.class, param).substring(0);
|
|
|
|
String str = switch (param) {
|
|
case "" -> {
|
|
break 0;
|
|
} default ->"default";
|
|
};
|
|
|
|
return null;
|
|
}
|
|
|
|
}
|