test/langtools/tools/javac/lvti/FoldingTest.java
changeset 47268 48ec75306997
equal deleted inserted replaced
47267:b3a91921bafc 47268:48ec75306997
       
     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 }