equal
deleted
inserted
replaced
|
1 /* |
|
2 * @test /nodynamiccopyright/ |
|
3 * @bug 8231827 |
|
4 * @summary Verify behavior w.r.t. non-reifiable types and type test patterns in instanceof |
|
5 * @compile/fail/ref=Reifiable.out --enable-preview -source ${jdk.version} -XDrawDiagnostics Reifiable.java |
|
6 */ |
|
7 |
|
8 public class Reifiable implements ReifiableI { |
|
9 private static boolean test(Object o, List<Reifiable> l1, List<String> l2) { |
|
10 return o instanceof ListImpl<Reifiable> li1 && |
|
11 l1 instanceof ListImpl<Reifiable> li2 && |
|
12 l2 instanceof ListImpl<Reifiable> li3 && |
|
13 l2 instanceof ListImpl<String> li4 && |
|
14 l1 instanceof Unrelated<Reifiable> li5; |
|
15 } |
|
16 |
|
17 public class List<T> {} |
|
18 public class ListImpl<T extends ReifiableI> extends List<T> {} |
|
19 public class Unrelated<T> {} |
|
20 } |
|
21 |
|
22 interface ReifiableI {} |