mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02:00
8206986: Compiler support for Switch Expressions (Preview)
8207405: Compiler Tree API support for Switch Expressions (Preview) Support for switch expression, switch with rules and multiple constants for cases. Reviewed-by: jjg, mcimadamore, vromero
This commit is contained in:
parent
3f4b55c4df
commit
b3b644438e
121 changed files with 4753 additions and 268 deletions
|
@ -4,13 +4,17 @@
|
|||
* @summary The compiler was allowing void types in its parsing of conditional expressions.
|
||||
* @author tball
|
||||
*
|
||||
* @compile/fail/ref=ConditionalWithVoid.out -XDrawDiagnostics ConditionalWithVoid.java
|
||||
* @compile/fail/ref=ConditionalWithVoid.out --enable-preview -source 12 -XDrawDiagnostics ConditionalWithVoid.java
|
||||
*/
|
||||
public class ConditionalWithVoid {
|
||||
public void test(Object o) {
|
||||
public void test(Object o, String s) {
|
||||
// Should fail to compile since Object.wait() has a void return type. Poly case.
|
||||
System.out.println(o instanceof String ? o.hashCode() : o.wait());
|
||||
// Should fail to compile since Object.wait() has a void return type. Standalone case.
|
||||
(o instanceof String ? o.hashCode() : o.wait()).toString();
|
||||
// Should fail to compile since Object.wait() has a void return type. Poly case.
|
||||
System.out.println(switch (s) {case "" -> o.hashCode(); default -> o.wait();});
|
||||
// Should fail to compile since Object.wait() has a void return type. Standalone case.
|
||||
(switch (s) {case "" -> o.hashCode(); default -> o.wait();}).toString();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue