test/tools/javac/annotations/typeAnnotations/failures/target/VoidMethod.java

Wed, 21 Aug 2013 16:13:50 -0700

author
jjg
date
Wed, 21 Aug 2013 16:13:50 -0700
changeset 1969
7de231613e4a
parent 0
959103a6100f
permissions
-rw-r--r--

8023515: import type-annotations updates
Reviewed-by: jjg
Contributed-by: wdietl@gmail.com

aoqi@0 1 /*
aoqi@0 2 * @test /nodynamiccopyright/
aoqi@0 3 * @bug 6843077 8006775
aoqi@0 4 * @summary test invalid location of TypeUse and TypeParameter
aoqi@0 5 * @author Mahmood Ali
aoqi@0 6 * @compile/fail/ref=VoidMethod.out -XDrawDiagnostics VoidMethod.java
aoqi@0 7 */
aoqi@0 8
aoqi@0 9 import java.lang.annotation.Target;
aoqi@0 10 import java.lang.annotation.ElementType;
aoqi@0 11
aoqi@0 12 class VoidMethod {
aoqi@0 13 // Invalid
aoqi@0 14 @A void test1() { }
aoqi@0 15 // The following is legal:
aoqi@0 16 @B void test2() { }
aoqi@0 17 // Invalid
aoqi@0 18 @C void test3() { }
aoqi@0 19 // The following is legal:
aoqi@0 20 @D void test4() { }
aoqi@0 21 }
aoqi@0 22
aoqi@0 23 @Target(ElementType.TYPE_USE)
aoqi@0 24 @interface A { }
aoqi@0 25
aoqi@0 26 @Target({ElementType.TYPE_USE, ElementType.METHOD})
aoqi@0 27 @interface B { }
aoqi@0 28
aoqi@0 29 @Target(ElementType.TYPE_PARAMETER)
aoqi@0 30 @interface C { }
aoqi@0 31
aoqi@0 32 @Target({ElementType.TYPE_PARAMETER, ElementType.METHOD})
aoqi@0 33 @interface D { }

mercurial