--- 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();
- }
-}