langtools/test/tools/javac/annotations/typeAnnotations/failures/StaticFields.java
author jjg
Tue, 15 Oct 2013 15:57:13 -0700
changeset 21041 99f5e5e97425
parent 15385 ee1eebe7e210
permissions -rw-r--r--
8026564: import changes from type-annotations forest Reviewed-by: jjg Contributed-by: wdietl@gmail.com, steve.sides@oracle.com
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
15385
ee1eebe7e210 8006775: JSR 308: Compiler changes in JDK8
jjg
parents:
diff changeset
     1
/*
ee1eebe7e210 8006775: JSR 308: Compiler changes in JDK8
jjg
parents:
diff changeset
     2
 * @test /nodynamiccopyright/
ee1eebe7e210 8006775: JSR 308: Compiler changes in JDK8
jjg
parents:
diff changeset
     3
 * @bug 6843077 8006775
ee1eebe7e210 8006775: JSR 308: Compiler changes in JDK8
jjg
parents:
diff changeset
     4
 * @summary static field access isn't a valid location
ee1eebe7e210 8006775: JSR 308: Compiler changes in JDK8
jjg
parents:
diff changeset
     5
 * @author Mahmood Ali
ee1eebe7e210 8006775: JSR 308: Compiler changes in JDK8
jjg
parents:
diff changeset
     6
 * @compile/fail/ref=StaticFields.out -XDrawDiagnostics StaticFields.java
ee1eebe7e210 8006775: JSR 308: Compiler changes in JDK8
jjg
parents:
diff changeset
     7
 */
21041
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents: 15385
diff changeset
     8
import java.lang.annotation.*;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents: 15385
diff changeset
     9
15385
ee1eebe7e210 8006775: JSR 308: Compiler changes in JDK8
jjg
parents:
diff changeset
    10
class C {
21041
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents: 15385
diff changeset
    11
  static int f;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents: 15385
diff changeset
    12
  // static block
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents: 15385
diff changeset
    13
  static {
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents: 15385
diff changeset
    14
    @A C.f = 1;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents: 15385
diff changeset
    15
  }
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents: 15385
diff changeset
    16
  // static ref
15385
ee1eebe7e210 8006775: JSR 308: Compiler changes in JDK8
jjg
parents:
diff changeset
    17
  int a = @A C.f;
21041
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents: 15385
diff changeset
    18
  // static method
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents: 15385
diff changeset
    19
  static int f() { return @A C.f; }
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents: 15385
diff changeset
    20
  // main
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents: 15385
diff changeset
    21
  public static void main(String... args) {
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents: 15385
diff changeset
    22
    int a = @A C.f;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents: 15385
diff changeset
    23
  }
15385
ee1eebe7e210 8006775: JSR 308: Compiler changes in JDK8
jjg
parents:
diff changeset
    24
}
ee1eebe7e210 8006775: JSR 308: Compiler changes in JDK8
jjg
parents:
diff changeset
    25
21041
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents: 15385
diff changeset
    26
@Target(ElementType.TYPE_USE)
15385
ee1eebe7e210 8006775: JSR 308: Compiler changes in JDK8
jjg
parents:
diff changeset
    27
@interface A { }