equal
deleted
inserted
replaced
|
1 /* |
|
2 * @test /nodynamiccopyright/ |
|
3 * @bug 8177466 |
|
4 * @summary Add compiler support for local variable type-inference |
|
5 * @compile/fail/ref=FoldingTest.out -XDrawDiagnostics FoldingTest.java |
|
6 */ |
|
7 class FoldingTest { |
|
8 |
|
9 void testReachability() { |
|
10 for(var i = 0; i < 3; i++) { |
|
11 // ok |
|
12 } |
|
13 System.out.println("foo"); //this should be reachable |
|
14 } |
|
15 |
|
16 void testCase(String s) { |
|
17 var c = ""; |
|
18 final String c2 = "" + c; |
|
19 switch (s) { |
|
20 case c: break; //error! |
|
21 case c2: break; //error! |
|
22 } |
|
23 } |
|
24 |
|
25 void testAnno() { |
|
26 @Anno1(s1) //error |
|
27 var s1 = ""; |
|
28 @Anno2(s2) //error |
|
29 var s2 = ""; |
|
30 @Anno3(s3) //error |
|
31 var s3 = ""; |
|
32 } |
|
33 |
|
34 @interface Anno1 { |
|
35 String value(); |
|
36 } |
|
37 @interface Anno2 { |
|
38 Class<?> value(); |
|
39 } |
|
40 @interface Anno3 { |
|
41 Foo value(); |
|
42 } |
|
43 |
|
44 enum Foo { |
|
45 A, B; |
|
46 } |
|
47 } |