--- old/test/tools/apt/mirror/declaration/ClassDecl.java 2012-01-19 16:21:51.000000000 -0800 +++ /dev/null 2012-01-10 11:47:00.807870926 -0800 @@ -1,250 +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 4853450 4997614 - * @summary ClassDeclaration tests - * @library ../../lib - * @compile -source 1.5 ClassDecl.java - * @run main/othervm ClassDecl - */ - - -import java.io.Serializable; -import java.util.*; -import com.sun.mirror.declaration.*; -import com.sun.mirror.type.*; -import com.sun.mirror.util.*; - - -/** - * Sed Quis custodiet ipsos custodes? - */ -@AT1 -@AT2 -public class ClassDecl extends Tester { - - public static void main(String[] args) { - (new ClassDecl()).run(); - } - - - private ClassDeclaration nested = null; // a nested type - private ClassDeclaration object = null; // java.lang.object - - // A constructor to be found - private ClassDecl() { - } - - // Another constructor to be found - private ClassDecl(int i) { - this(); - } - - // An extra field to be found - static int i; - - // Static initializer isn't among this class's methods. - static { - i = 7; - } - - // A nested class with some accoutrements - private static strictfp class NestedClass implements Serializable { - void m1() {} - void m2() {} - void m2(int i) {} - } - - protected void init() { - nested = (ClassDeclaration) - thisClassDecl.getNestedTypes().iterator().next(); - object = (ClassDeclaration) - env.getTypeDeclaration("java.lang.Object"); - } - - - // Declaration methods - - @Test(result="class") - Collection accept() { - final Collection res = new ArrayList(); - - thisClassDecl.accept(new SimpleDeclarationVisitor() { - public void visitTypeDeclaration(TypeDeclaration t) { - res.add("type"); - } - public void visitClassDeclaration(ClassDeclaration c) { - res.add("class"); - } - public void visitEnumDeclaration(EnumDeclaration e) { - res.add("enum"); - } - }); - return res; - } - - @Test(result={"@AT1", "@AT2"}) - Collection getAnnotationMirrors() { - return thisClassDecl.getAnnotationMirrors(); - } - - @Test(result=" Sed Quis custodiet ipsos custodes?\n") - String getDocComment() { - return thisClassDecl.getDocComment(); - } - - @Test(result={"public"}) - Collection getModifiers1() { - return thisClassDecl.getModifiers(); - } - - // Check that static nested class has "static" modifier, even though - // the VM doesn't set that bit. - @Test(result={"private", "static", "strictfp"}) - Collection getModifiers2() { - return nested.getModifiers(); - } - - @Test(result="ClassDecl.java") - String getPosition() { - return thisClassDecl.getPosition().file().getName(); - } - - @Test(result="ClassDecl") - String getSimpleName1() { - return thisClassDecl.getSimpleName(); - } - - @Test(result="NestedClass") - String getSimpleName2() { - return nested.getSimpleName(); - } - - - // MemberDeclaration method - - @Test(result="null") - TypeDeclaration getDeclaringType1() { - return thisClassDecl.getDeclaringType(); - } - - @Test(result="ClassDecl") - TypeDeclaration getDeclaringType2() { - return nested.getDeclaringType(); - } - - - // TypeDeclaration methods - - @Test(result={"nested", "object", "i"}) - Collection getFields() { - return thisClassDecl.getFields(); - } - - @Test(result={}) - Collection getFormalTypeParameters1() { - return thisClassDecl.getFormalTypeParameters(); - } - - @Test(result="T") - Collection getFormalTypeParameters2() { - return nested.getFormalTypeParameters(); - } - - @Test(result="ClassDecl.NestedClass") - Collection getNestedTypes() { - return thisClassDecl.getNestedTypes(); - } - - @Test(result="") - PackageDeclaration getPackage1() { - return thisClassDecl.getPackage(); - } - - @Test(result="java.lang") - PackageDeclaration getPackage2() { - return object.getPackage(); - } - - @Test(result="ClassDecl") - String getQualifiedName1() { - return thisClassDecl.getQualifiedName(); - } - - @Test(result="ClassDecl.NestedClass") - String getQualifiedName2() { - return nested.getQualifiedName(); - } - - @Test(result="java.lang.Object") - String getQualifiedName3() { - return object.getQualifiedName(); - } - - @Test(result="java.io.Serializable") - Collection getSuperinterfaces() { - return nested.getSuperinterfaces(); - } - - - // ClassDeclaration methods - - @Test(result={"ClassDecl()", "ClassDecl(int)"}) - Collection getConstructors1() { - return thisClassDecl.getConstructors(); - } - - // Check for default constructor. - // 4997614: visitConstructionDeclaration reports info when there is no ctor - @Test(result={"NestedClass()"}) - Collection getConstructors2() { - return nested.getConstructors(); - } - - @Test(result={"m1()", "m2()", "m2(int)"}) - Collection getMethods() { - return nested.getMethods(); - } - - @Test(result={"Tester"}) - ClassType getSuperclass() { - return thisClassDecl.getSuperclass(); - } - - @Test(result={"null"}) - ClassType objectHasNoSuperclass() { - return object.getSuperclass(); - } -} - - -// Annotations used for testing. - -@interface AT1 { -} - -@interface AT2 { -}