1 /* |
1 /* |
2 * @test /nodynamiccopyright/ |
2 * @test /nodynamiccopyright/ |
3 * @bug 6843077 8006775 |
3 * @bug 6843077 8006775 |
4 * @summary check that A is accessible in the class type parameters |
4 * @summary Unqualified inner type annotation not in scope. |
5 * @author Mahmood Ali |
5 * @author Mahmood Ali |
6 * @compile/fail/ref=Scopes.out -XDrawDiagnostics Scopes.java |
6 * @compile/fail/ref=Scopes.out -XDrawDiagnostics Scopes.java |
7 */ |
7 */ |
8 class Scopes<T extends @UniqueInner Object> { |
8 import java.lang.annotation.*; |
9 // UniqueInner is not visible in the type parameters. |
9 |
10 // One has to use Scopes.UniqueInner. |
10 @InnerTA |
11 // Annotations with the default @Target are not allowed there, |
11 class Scopes<@InnerTA T extends @InnerTA Object> { |
12 // so we also get the second error about the invalid location. |
12 // The simple name TA is not in scope on header of class. |
13 // Adding the target here doesn't matter, as we don't resolve |
13 // One has to use @Scopes.TA. |
14 // the annotation type. |
14 @Target(ElementType.TYPE_USE) |
15 // @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) |
15 @interface InnerTA { }; |
16 @interface UniqueInner { }; |
|
17 } |
16 } |