jdk-24/test/langtools/tools/javac/patterns/BindingsExistTest.java
Jan Lahoda 229e0d1631 8231826: Implement javac changes for pattern matching for instanceof
Co-authored-by: Brian Goetz <brian.goetz@oracle.com>
Co-authored-by: Gavin Bierman <gavin.bierman@oracle.com>
Co-authored-by: Maurizio Cimadamore <maurizio.cimadamore@oracle.com>
Co-authored-by: Srikanth Adayapalam <srikanth.adayapalam@oracle.com>
Co-authored-by: Vicente Romero <vicente.romero@oracle.com>
Reviewed-by: mcimadamore
2019-11-27 09:00:01 +01:00

31 lines
800 B
Java

/*
* @test /nodynamiccopyright/
* @bug 8231827
* @summary Clashing bindings are reported correctly
* @compile/fail/ref=BindingsExistTest.out -XDrawDiagnostics --enable-preview -source ${jdk.version} BindingsExistTest.java
*/
public class BindingsExistTest {
public void t(Object o1, Object o2) {
if (o1 instanceof String k && o2 instanceof Integer k) {}
if (o1 instanceof String k || o2 instanceof Integer k) {}
if (!(o1 instanceof String k)) {
return ;
}
if (o1 instanceof Integer k) {}
String s2 = "";
if (o1 instanceof String s2) {}
if (o1 instanceof String s3) {
String s3 = "";
}
if (!(o1 instanceof String s4)) {
return ;
}
String s4 = "";
}
}