test/tools/javac/annotations/typeAnnotations/failures/StaticFields.java

Wed, 23 Oct 2013 23:20:32 -0400

author
emc
date
Wed, 23 Oct 2013 23:20:32 -0400
changeset 2167
d2fa3f7e964e
parent 2134
b0c086cd4520
child 2525
2eb010b6cb22
permissions
-rw-r--r--

8006732: support correct bytecode storage of type annotations in multicatch
Summary: Fix issue with annotations being added before attribution, which causes multicatch not to work right and several tests to fail.
Reviewed-by: jfranck, jjg

jjg@1521 1 /*
jjg@1521 2 * @test /nodynamiccopyright/
jjg@1521 3 * @bug 6843077 8006775
jjg@1521 4 * @summary static field access isn't a valid location
jjg@1521 5 * @author Mahmood Ali
jjg@1521 6 * @compile/fail/ref=StaticFields.out -XDrawDiagnostics StaticFields.java
jjg@1521 7 */
jjg@2134 8 import java.lang.annotation.*;
jjg@2134 9
jjg@1521 10 class C {
jjg@2134 11 static int f;
jjg@2134 12 // static block
jjg@2134 13 static {
jjg@2134 14 @A C.f = 1;
jjg@2134 15 }
jjg@2134 16 // static ref
jjg@1521 17 int a = @A C.f;
jjg@2134 18 // static method
jjg@2134 19 static int f() { return @A C.f; }
jjg@2134 20 // main
jjg@2134 21 public static void main(String... args) {
jjg@2134 22 int a = @A C.f;
jjg@2134 23 }
jjg@1521 24 }
jjg@1521 25
jjg@2134 26 @Target(ElementType.TYPE_USE)
jjg@1521 27 @interface A { }

mercurial