langtools/test/tools/apt/mirror/declaration/GetAnno.java
changeset 11914 d1311b0c757f
parent 11913 be61e1597cc6
parent 11872 c51754cddc03
child 11915 33f703959597
child 11986 6f383069eb6d
--- a/langtools/test/tools/apt/mirror/declaration/GetAnno.java	Tue Feb 21 05:44:29 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +0,0 @@
-/*
- * Copyright (c) 2004, 2008, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @bug 4989091 5050782 5051962
- * @summary Tests Declaration.getAnnotation method
- * @library ../../lib
- * @compile -source 1.5 GetAnno.java
- * @run main/othervm GetAnno
- */
-
-
-import java.lang.annotation.*;
-import java.util.*;
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-
-import static java.lang.annotation.RetentionPolicy.*;
-
-
-public class GetAnno extends Tester {
-
-    public static void main(String[] args) {
-        (new GetAnno()).run();
-    }
-
-
-    // Annotations used by tests
-
-    @Retention(RUNTIME)
-    @interface AT1 {
-        long l();
-        String s();
-        RetentionPolicy e();
-        String[] sa();
-        AT2 a();
-    }
-
-    @Inherited
-    @interface AT2 {
-    }
-
-    @interface AT3 {
-        Class value() default String.class;
-    }
-
-    // Array-valued elements of various kinds.
-    @interface AT4 {
-        boolean[] bs();
-        long[] ls();
-        String[] ss();
-        RetentionPolicy[] es();
-        AT2[] as();
-    }
-
-
-    @Test(result="@GetAnno$AT1(l=7, s=sigh, e=CLASS, sa=[in, out], " +
-                              "a=@GetAnno$AT2())")
-    @AT1(l=7, s="sigh", e=CLASS, sa={"in", "out"}, a=@AT2)
-    public Annotation getAnnotation() {
-        MethodDeclaration m = getMethod("getAnnotation");
-        AT1 a = m.getAnnotation(AT1.class);
-        if (a.l() != 7 || !a.s().equals("sigh") || a.e() != CLASS)
-            throw new AssertionError();
-        return a;
-    }
-
-    @Test(result="null")
-    public Annotation getAnnotationNotThere() {
-        return thisClassDecl.getAnnotation(Deprecated.class);
-    }
-
-    @Test(result="@GetAnno$AT4(bs=[true, false], " +
-                              "ls=[9, 8], " +
-                              "ss=[black, white], " +
-                              "es=[CLASS, SOURCE], " +
-                              "as=[@GetAnno$AT2(), @GetAnno$AT2()])")
-    @AT4(bs={true, false},
-         ls={9, 8},
-         ss={"black", "white"},
-         es={CLASS, SOURCE},
-         as={@AT2, @AT2})
-    public AT4 getAnnotationArrayValues() {
-        MethodDeclaration m = getMethod("getAnnotationArrayValues");
-        return m.getAnnotation(AT4.class);
-    }
-
-    @Test(result="@GetAnno$AT3(value=java.lang.String)")
-    @AT3(String.class)
-    public AT3 getAnnotationWithClass1() {
-        MethodDeclaration m = getMethod("getAnnotationWithClass1");
-        return m.getAnnotation(AT3.class);
-    }
-
-    @Test(result="java.lang.String")
-    public TypeMirror getAnnotationWithClass2() {
-        AT3 a = getAnnotationWithClass1();
-        try {
-            Class c = a.value();
-            throw new AssertionError();
-        } catch (MirroredTypeException e) {
-            return e.getTypeMirror();
-        }
-    }
-
-    @Test(result="boolean")
-    @AT3(boolean.class)
-    public TypeMirror getAnnotationWithPrim() {
-        MethodDeclaration m = getMethod("getAnnotationWithPrim");
-        AT3 a = m.getAnnotation(AT3.class);
-        try {
-            Class c = a.value();
-            throw new AssertionError();
-        } catch (MirroredTypeException e) {
-            return e.getTypeMirror();
-        }
-    }
-
-    // 5050782
-    @Test(result="null")
-    public AT2 getInheritedAnnotation() {
-        return thisClassDecl.getAnnotation(AT2.class);
-    }
-
-    /**
-     * Verify that an annotation created by Declaration.getAnnotation()
-     * has the same hash code as a like annotation created by core
-     * reflection.
-     */
-    @Test(result="true")
-    @AT1(l=7, s="sigh", e=CLASS, sa={"in", "out"}, a=@AT2)
-    public boolean getAnnotationHashCode() {
-        MethodDeclaration m1 = getMethod("getAnnotationHashCode");
-        AT1 a1 = m1.getAnnotation(AT1.class);
-        java.lang.reflect.Method m2 = null;
-        try {
-            m2 = this.getClass().getMethod("getAnnotationHashCode");
-        } catch (NoSuchMethodException e) {
-            assert false;
-        }
-        AT1 a2 = m2.getAnnotation(AT1.class);
-        return a1.hashCode() == a2.hashCode();
-    }
-}