Wed, 23 Oct 2013 23:20:32 -0400
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 { } |