Merge
authorlana
Sat, 18 Feb 2012 16:12:28 -0800
changeset 11870 bc664cc5f2a0
parent 11863 ac6277ec304a (current diff)
parent 11869 d659025e6575 (diff)
child 11871 08f8da764f8f
Merge
langtools/make/test/lib/apt.sh
langtools/src/share/classes/com/sun/mirror/apt/AnnotationProcessor.java
langtools/src/share/classes/com/sun/mirror/apt/AnnotationProcessorEnvironment.java
langtools/src/share/classes/com/sun/mirror/apt/AnnotationProcessorFactory.java
langtools/src/share/classes/com/sun/mirror/apt/AnnotationProcessorListener.java
langtools/src/share/classes/com/sun/mirror/apt/AnnotationProcessors.java
langtools/src/share/classes/com/sun/mirror/apt/Filer.java
langtools/src/share/classes/com/sun/mirror/apt/Messager.java
langtools/src/share/classes/com/sun/mirror/apt/RoundCompleteEvent.java
langtools/src/share/classes/com/sun/mirror/apt/RoundCompleteListener.java
langtools/src/share/classes/com/sun/mirror/apt/RoundState.java
langtools/src/share/classes/com/sun/mirror/apt/package-info.java
langtools/src/share/classes/com/sun/mirror/declaration/AnnotationMirror.java
langtools/src/share/classes/com/sun/mirror/declaration/AnnotationTypeDeclaration.java
langtools/src/share/classes/com/sun/mirror/declaration/AnnotationTypeElementDeclaration.java
langtools/src/share/classes/com/sun/mirror/declaration/AnnotationValue.java
langtools/src/share/classes/com/sun/mirror/declaration/ClassDeclaration.java
langtools/src/share/classes/com/sun/mirror/declaration/ConstructorDeclaration.java
langtools/src/share/classes/com/sun/mirror/declaration/Declaration.java
langtools/src/share/classes/com/sun/mirror/declaration/EnumConstantDeclaration.java
langtools/src/share/classes/com/sun/mirror/declaration/EnumDeclaration.java
langtools/src/share/classes/com/sun/mirror/declaration/ExecutableDeclaration.java
langtools/src/share/classes/com/sun/mirror/declaration/FieldDeclaration.java
langtools/src/share/classes/com/sun/mirror/declaration/InterfaceDeclaration.java
langtools/src/share/classes/com/sun/mirror/declaration/MemberDeclaration.java
langtools/src/share/classes/com/sun/mirror/declaration/MethodDeclaration.java
langtools/src/share/classes/com/sun/mirror/declaration/Modifier.java
langtools/src/share/classes/com/sun/mirror/declaration/PackageDeclaration.java
langtools/src/share/classes/com/sun/mirror/declaration/ParameterDeclaration.java
langtools/src/share/classes/com/sun/mirror/declaration/TypeDeclaration.java
langtools/src/share/classes/com/sun/mirror/declaration/TypeParameterDeclaration.java
langtools/src/share/classes/com/sun/mirror/declaration/package-info.java
langtools/src/share/classes/com/sun/mirror/overview.html
langtools/src/share/classes/com/sun/mirror/type/AnnotationType.java
langtools/src/share/classes/com/sun/mirror/type/ArrayType.java
langtools/src/share/classes/com/sun/mirror/type/ClassType.java
langtools/src/share/classes/com/sun/mirror/type/DeclaredType.java
langtools/src/share/classes/com/sun/mirror/type/EnumType.java
langtools/src/share/classes/com/sun/mirror/type/InterfaceType.java
langtools/src/share/classes/com/sun/mirror/type/MirroredTypeException.java
langtools/src/share/classes/com/sun/mirror/type/MirroredTypesException.java
langtools/src/share/classes/com/sun/mirror/type/PrimitiveType.java
langtools/src/share/classes/com/sun/mirror/type/ReferenceType.java
langtools/src/share/classes/com/sun/mirror/type/TypeMirror.java
langtools/src/share/classes/com/sun/mirror/type/TypeVariable.java
langtools/src/share/classes/com/sun/mirror/type/VoidType.java
langtools/src/share/classes/com/sun/mirror/type/WildcardType.java
langtools/src/share/classes/com/sun/mirror/type/package-info.java
langtools/src/share/classes/com/sun/mirror/util/DeclarationFilter.java
langtools/src/share/classes/com/sun/mirror/util/DeclarationScanner.java
langtools/src/share/classes/com/sun/mirror/util/DeclarationVisitor.java
langtools/src/share/classes/com/sun/mirror/util/DeclarationVisitors.java
langtools/src/share/classes/com/sun/mirror/util/Declarations.java
langtools/src/share/classes/com/sun/mirror/util/SimpleDeclarationVisitor.java
langtools/src/share/classes/com/sun/mirror/util/SimpleTypeVisitor.java
langtools/src/share/classes/com/sun/mirror/util/SourceOrderDeclScanner.java
langtools/src/share/classes/com/sun/mirror/util/SourcePosition.java
langtools/src/share/classes/com/sun/mirror/util/TypeVisitor.java
langtools/src/share/classes/com/sun/mirror/util/Types.java
langtools/src/share/classes/com/sun/mirror/util/package-info.java
langtools/src/share/classes/com/sun/tools/apt/Main.java
langtools/src/share/classes/com/sun/tools/apt/comp/AnnotationProcessingError.java
langtools/src/share/classes/com/sun/tools/apt/comp/Apt.java
langtools/src/share/classes/com/sun/tools/apt/comp/BootstrapAPF.java
langtools/src/share/classes/com/sun/tools/apt/comp/PrintAP.java
langtools/src/share/classes/com/sun/tools/apt/comp/UsageMessageNeededException.java
langtools/src/share/classes/com/sun/tools/apt/main/AptJavaCompiler.java
langtools/src/share/classes/com/sun/tools/apt/main/CommandLine.java
langtools/src/share/classes/com/sun/tools/apt/main/Main.java
langtools/src/share/classes/com/sun/tools/apt/mirror/AptEnv.java
langtools/src/share/classes/com/sun/tools/apt/mirror/apt/AnnotationProcessorEnvironmentImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/apt/FilerImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/apt/MessagerImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/apt/RoundCompleteEventImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/apt/RoundStateImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationMirrorImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationProxyMaker.java
langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationTypeDeclarationImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationTypeElementDeclarationImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationValueImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/ClassDeclarationImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/Constants.java
langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/ConstructorDeclarationImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/DeclarationImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/DeclarationMaker.java
langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/EnumConstantDeclarationImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/EnumDeclarationImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/ExecutableDeclarationImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/FieldDeclarationImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/InterfaceDeclarationImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/MemberDeclarationImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/MethodDeclarationImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/PackageDeclarationImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/ParameterDeclarationImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/TypeDeclarationImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/TypeParameterDeclarationImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/type/AnnotationTypeImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/type/ArrayTypeImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/type/ClassTypeImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/type/DeclaredTypeImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/type/EnumTypeImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/type/InterfaceTypeImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/type/PrimitiveTypeImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/type/TypeMaker.java
langtools/src/share/classes/com/sun/tools/apt/mirror/type/TypeMirrorImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/type/TypeVariableImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/type/VoidTypeImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/type/WildcardTypeImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/util/DeclarationsImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/util/SourcePositionImpl.java
langtools/src/share/classes/com/sun/tools/apt/mirror/util/TypesImpl.java
langtools/src/share/classes/com/sun/tools/apt/resources/apt.properties
langtools/src/share/classes/com/sun/tools/apt/resources/apt_ja.properties
langtools/src/share/classes/com/sun/tools/apt/resources/apt_zh_CN.properties
langtools/src/share/classes/com/sun/tools/apt/util/Bark.java
langtools/test/tools/apt/Basics/Aggregate.java
langtools/test/tools/apt/Basics/ClassAnnotations.java
langtools/test/tools/apt/Basics/FreshnessApf.java
langtools/test/tools/apt/Basics/GenClass.java
langtools/test/tools/apt/Basics/Indirect.java
langtools/test/tools/apt/Basics/Lacuna.java
langtools/test/tools/apt/Basics/MethodAnnotations.java
langtools/test/tools/apt/Basics/Milk.java
langtools/test/tools/apt/Basics/MisMatch.java
langtools/test/tools/apt/Basics/Misc.java
langtools/test/tools/apt/Basics/MyMarker.java
langtools/test/tools/apt/Basics/MySimple.java
langtools/test/tools/apt/Basics/NestedClassAnnotations.java
langtools/test/tools/apt/Basics/ParameterAnnotations.java
langtools/test/tools/apt/Basics/StaticFieldAnnotations.java
langtools/test/tools/apt/Basics/StaticMethodAnnotations.java
langtools/test/tools/apt/Basics/TestGetPackageApf.java
langtools/test/tools/apt/Basics/TestGetTypeDeclarationApf.java
langtools/test/tools/apt/Basics/annot/AnnotMarker.java
langtools/test/tools/apt/Basics/annot/AnnotShangri_la.java
langtools/test/tools/apt/Basics/annot/AnnotSimple.java
langtools/test/tools/apt/Basics/annot/annot2/AnnotMarker2.java
langtools/test/tools/apt/Basics/annot/annot2/AnnotSimple2.java
langtools/test/tools/apt/Basics/com.sun.mirror.apt.AnnotationProcessorFactory
langtools/test/tools/apt/Basics/foo/bar/Baz.java
langtools/test/tools/apt/Basics/foo/bar/Quux.java
langtools/test/tools/apt/Basics/golden.txt
langtools/test/tools/apt/Basics/goldenAggregate.txt
langtools/test/tools/apt/Basics/p1/p2.java
langtools/test/tools/apt/Basics/p1/p2/C1.java
langtools/test/tools/apt/Basics/print.sh
langtools/test/tools/apt/Compile/ClassDeclApf.java
langtools/test/tools/apt/Compile/ClassDeclApf2.java
langtools/test/tools/apt/Compile/Dummy1.java
langtools/test/tools/apt/Compile/ErrorAPF.java
langtools/test/tools/apt/Compile/HelloAnnotation.java
langtools/test/tools/apt/Compile/HelloWorld.java
langtools/test/tools/apt/Compile/Round1Apf.java
langtools/test/tools/apt/Compile/Round2Apf.java
langtools/test/tools/apt/Compile/Round3Apf.java
langtools/test/tools/apt/Compile/Round4Apf.java
langtools/test/tools/apt/Compile/Rounds.java
langtools/test/tools/apt/Compile/StaticApf.java
langtools/test/tools/apt/Compile/WarnAPF.java
langtools/test/tools/apt/Compile/WrappedStaticApf.java
langtools/test/tools/apt/Compile/compile.sh
langtools/test/tools/apt/Compile/golden.txt
langtools/test/tools/apt/Compile/goldenFactory.txt
langtools/test/tools/apt/Compile/goldenWarn.txt
langtools/test/tools/apt/Compile/servicesRound1
langtools/test/tools/apt/Compile/servicesRound2
langtools/test/tools/apt/Compile/servicesRound3
langtools/test/tools/apt/Compile/servicesRound4
langtools/test/tools/apt/Compile/servicesStaticApf
langtools/test/tools/apt/Compile/src/AhOneClass.java
langtools/test/tools/apt/Compile/src/AndAhTwoClass.java
langtools/test/tools/apt/Compile/src/Round1Class.java
langtools/test/tools/apt/Discovery/Dee.java
langtools/test/tools/apt/Discovery/Dum.java
langtools/test/tools/apt/Discovery/Empty.java
langtools/test/tools/apt/Discovery/PhantomTouch.java
langtools/test/tools/apt/Discovery/PhantomUpdate.java
langtools/test/tools/apt/Discovery/Touch.java
langtools/test/tools/apt/Discovery/discovery.sh
langtools/test/tools/apt/Discovery/servicesBadTouch
langtools/test/tools/apt/Discovery/servicesPhantomTouch
langtools/test/tools/apt/Discovery/servicesTouch
langtools/test/tools/apt/Discovery/servicesTweedle
langtools/test/tools/apt/Misc/Marked.java
langtools/test/tools/apt/Misc/Marker.java
langtools/test/tools/apt/Misc/Misc.java
langtools/test/tools/apt/Misc/misc.sh
langtools/test/tools/apt/Misc/servicesMisc
langtools/test/tools/apt/Options/Marked.java
langtools/test/tools/apt/Options/Marker.java
langtools/test/tools/apt/Options/OptionChecker.java
langtools/test/tools/apt/Options/options.sh
langtools/test/tools/apt/Options/servicesOptions
langtools/test/tools/apt/Scanners/Counter.java
langtools/test/tools/apt/Scanners/MemberOrderApf.java
langtools/test/tools/apt/Scanners/Order.java
langtools/test/tools/apt/Scanners/Scanner.java
langtools/test/tools/apt/Scanners/TestEnum.java
langtools/test/tools/apt/Scanners/VisitOrder.java
langtools/test/tools/apt/Scanners/scanner.sh
langtools/test/tools/apt/Scanners/servicesScanner
langtools/test/tools/apt/lib/Ignore.java
langtools/test/tools/apt/lib/Test.java
langtools/test/tools/apt/lib/TestProcessor.java
langtools/test/tools/apt/lib/TestProcessorFactory.java
langtools/test/tools/apt/lib/Tester.java
langtools/test/tools/apt/mirror/declaration/AnnoMirror.java
langtools/test/tools/apt/mirror/declaration/AnnoTypeDecl.java
langtools/test/tools/apt/mirror/declaration/AnnoTypeElemDecl.java
langtools/test/tools/apt/mirror/declaration/AnnoVal.java
langtools/test/tools/apt/mirror/declaration/ClassDecl.java
langtools/test/tools/apt/mirror/declaration/ConstExpr.java
langtools/test/tools/apt/mirror/declaration/ConstructorDecl.java
langtools/test/tools/apt/mirror/declaration/EnumDecl.java
langtools/test/tools/apt/mirror/declaration/FieldDecl.java
langtools/test/tools/apt/mirror/declaration/GetAnno.java
langtools/test/tools/apt/mirror/declaration/InterfaceDecl.java
langtools/test/tools/apt/mirror/declaration/MethodDecl.java
langtools/test/tools/apt/mirror/declaration/PackageDecl.java
langtools/test/tools/apt/mirror/declaration/ParameterDecl.java
langtools/test/tools/apt/mirror/declaration/pkg1/AClass.java
langtools/test/tools/apt/mirror/declaration/pkg1/AnAnnoType.java
langtools/test/tools/apt/mirror/declaration/pkg1/AnEnum.java
langtools/test/tools/apt/mirror/declaration/pkg1/AnInterface.java
langtools/test/tools/apt/mirror/declaration/pkg1/package-info.java
langtools/test/tools/apt/mirror/declaration/pkg1/pkg2/AnInterface.java
langtools/test/tools/apt/mirror/declaration/pkg1/pkg2/package.html
langtools/test/tools/apt/mirror/type/AnnoTyp.java
langtools/test/tools/apt/mirror/type/ArrayTyp.java
langtools/test/tools/apt/mirror/type/ClassTyp.java
langtools/test/tools/apt/mirror/type/EnumTyp.java
langtools/test/tools/apt/mirror/type/InterfaceTyp.java
langtools/test/tools/apt/mirror/type/PrimitiveTyp.java
langtools/test/tools/apt/mirror/type/TypeVar.java
langtools/test/tools/apt/mirror/type/WildcardTyp.java
langtools/test/tools/apt/mirror/util/Overrides.java
langtools/test/tools/apt/mirror/util/TypeCreation.java
--- a/langtools/make/Makefile-classic	Thu Feb 16 13:01:46 2012 -0800
+++ b/langtools/make/Makefile-classic	Sat Feb 18 16:12:28 2012 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2007, 2012 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
@@ -115,7 +115,6 @@
 JAVADOC_JAR = $(LIB_DIR)/javadoc.jar
 JAVAH_JAR = $(LIB_DIR)/javah.jar
 JAVAP_JAR = $(LIB_DIR)/javap.jar
-APT_JAR = $(LIB_DIR)/apt.jar
 
 CLASSES_JAR = $(DIST_DIR)/classes.jar
 SRC_ZIP = $(DIST_DIR)/src.zip
@@ -163,7 +162,7 @@
 
 #----- useful macros
 
-TOOLS =  javac javadoc javah javap apt
+TOOLS =  javac javadoc javah javap
 
 SOURCE_LEVEL = 5
 BOOTSTRAP_TARGET_LEVEL = 5
@@ -319,28 +318,6 @@
 	( $(ECHO) Main-Class: sun.tools.javap.Main ) > $(BUILD_DIR)/javap.mf
 	$(BOOTJAR) -cfm $@ $(BUILD_DIR)/javap.mf $(patsubst %,-C $(CLASSES_DIR) %, $(JAVAP_DIRS))
 
-#----- apt
-
-APT_DIRS = \
-	com/sun/mirror \
-	com/sun/tools/apt
-
-APT_RESOURCE_FILES = \
-	$(shell find $(patsubst %,$(SRC_CLASSES_DIR)/%,$(APT_DIRS)) -name SCCS -prune -o -name \*.properties -print )
-
-APT_JAVA_FILES = \
-	$(shell find $(patsubst %,$(SRC_CLASSES_DIR)/%,$(APT_DIRS)) -name SCCS -prune -o -name \*.java -print ) \
-	$(patsubst $(SRC_CLASSES_DIR)/%.properties,$(GENSRC_DIR)/%.java,$(APT_RESOURCE_FILES))
- 
-$(APT_JAR): $(APT_JAVA_FILES) $(JAVAC_JAR) \
-		$(patsubst $(SRC_CLASSES_DIR)/%.properties,$(GENSRC_DIR)/%.java,$(APT_RESOURCE_FILES))
-	$(MKDIR) -p $(CLASSES_DIR) $(@D)
-	$(BOOT_JAVAC) -sourcepath "" -classpath $(CLASSES_DIR) -d $(CLASSES_DIR) -target $(TARGET_LEVEL) $(NO_PROPRIETARY_API_WARNINGS) \
-		$(APT_JAVA_FILES) \
-		$(patsubst $(SRC_CLASSES_DIR)/%.properties,$(GENSRC_DIR)/%.java,$(APT_RESOURCE_FILES))
-	( $(ECHO) Main-Class: com.sun.tools.apt.Main ; $(ECHO) Class-Path: javac.jar ) > $(BUILD_DIR)/apt.mf
-	$(BOOTJAR) -cfm $@ $(BUILD_DIR)/apt.mf $(patsubst %,-C $(CLASSES_DIR) %, $(APT_DIRS))
-
 #-----
 
 build-tools: $(BUILDTOOLCLASSES_DIR)/CompileProperties/CompileProperties.class
@@ -366,7 +343,7 @@
 
 #----- all classes
 
-$(DIST_DIR)/%/classes.jar: $(JAVAC_JAR) $(JAVADOC_JAR) $(JAVAH_JAR) $(JAVAP_JAR) $(APT_JAR)
+$(DIST_DIR)/%/classes.jar: $(JAVAC_JAR) $(JAVADOC_JAR) $(JAVAH_JAR) $(JAVAP_JAR)
 	$(MKDIR) -p $(@D)
 	$(BOOTJAR) -cf $@ -C $(CLASSES_DIR) .
 
@@ -401,7 +378,6 @@
 	- $(TESTJAVA) -jar $(JAVADOC_JAR) -version
 	$(TESTJAVA) -jar $(JAVAH_JAR) -version
 	- $(TESTJAVA) -jar $(JAVAP_JAR) -version
-	$(TESTJAVA) -jar $(APT_JAR) -version
 
 #-----
 
--- a/langtools/make/build.properties	Thu Feb 16 13:01:46 2012 -0800
+++ b/langtools/make/build.properties	Sat Feb 18 16:12:28 2012 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2007, 2012, 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
@@ -159,15 +159,6 @@
 
 #
 
-apt.includes = \
-        com/sun/mirror/ \
-        com/sun/tools/apt/
-
-apt.tests = \
-        tools/apt/
-
-#
-
 # The following files require the latest JDK to be available.
 # The API can be provided by using a suitable boot.java.home
 # or by setting import.jdk
--- a/langtools/make/build.xml	Thu Feb 16 13:01:46 2012 -0800
+++ b/langtools/make/build.xml	Sat Feb 18 16:12:28 2012 -0800
@@ -83,7 +83,7 @@
  - global property definitions
  - general top level targets
  - general diagnostic/debugging targets
- - groups of targets for each tool: javac, javadoc, doclets, javah, javap, apt
+ - groups of targets for each tool: javac, javadoc, doclets, javah, javap
     Within each group, the following targets are provided, where applicable
       build-bootstrap-TOOL      build the bootstrap version of the tool
       build-classes-TOOL        build the classes for the tool
@@ -245,11 +245,11 @@
     />
 
     <target name="build-all-tools"
-        depends="build-javac,build-javadoc,build-doclets,build-javah,build-javap,build-apt"
+        depends="build-javac,build-javadoc,build-doclets,build-javah,build-javap"
     />
 
     <target name="build-all-classes" depends="build-bootstrap-javac,-create-import-jdk-stubs">
-        <build-classes includes="${javac.includes} ${javadoc.includes} ${doclets.includes} ${javah.includes} ${javap.includes} ${apt.includes}"/>
+        <build-classes includes="${javac.includes} ${javadoc.includes} ${doclets.includes} ${javah.includes} ${javap.includes}"/>
     </target>
 
     <!-- clean -->
@@ -657,42 +657,6 @@
 
 
     <!--
-    **** apt targets.
-    -->
-
-    <target name="build-bootstrap-apt" depends="build-bootstrap-javac">
-        <build-bootstrap-classes includes="${apt.includes}"/>
-        <build-bootstrap-jar     name="apt" includes="${apt.includes}"
-                                 jarclasspath="javac.jar"/>
-        <build-bootstrap-tool    name="apt"/>
-    </target>
-
-    <target name="build-apt" depends="build-javac,build-classes-apt">
-        <build-jar  name="apt" includes="${apt.includes}" jarclasspath="javac.jar"/>
-        <build-tool name="apt"/>
-    </target>
-
-    <target name="build-classes-apt" depends="build-classes-javac">
-        <build-classes includes="${apt.includes}"/>
-    </target>
-
-    <target name="javadoc-apt" depends="build-apt,-def-javadoc-tool">
-        <javadoc-tool name="apt" includes="${apt.includes}"/>
-    </target>
-
-
-    <target name="jtreg-apt" depends="build-apt,-def-jtreg">
-        <jtreg-tool name="apt" tests="${apt.tests}"/>
-    </target>
-
-    <target name="findbugs-apt" depends="build-apt,-def-findbugs">
-        <findbugs-tool name="apt"/>
-    </target>
-
-    <target name="apt" depends="build-apt,jtreg-apt,findbugs-apt"/>
-
-
-    <!--
     **** Create import JDK stubs.
     -->
 
@@ -967,7 +931,6 @@
                             <filename name="java/"/>
                             <filename name="javax/"/>
                             <filename name="com/sun/javadoc/"/>
-                            <filename name="com/sun/mirror/"/>
                             <filename name="com/sun/source/"/>
                         </or>
                     </packageset>
@@ -1005,7 +968,7 @@
                     samevm="@{samevm}" verbose="@{verbose}"
                     failonerror="false" resultproperty="jtreg.@{name}.result"
                     javacoptions="-g"
-                    vmoptions="${coverage.options} -Xbootclasspath/p:${coverage.classpath}:${build.classes.dir} @{jpda.jvmargs}">
+                    vmoptions="${coverage.options} -Xbootclasspath/p:${coverage.classpath}${path.separator}${build.classes.dir} @{jpda.jvmargs}">
                     <arg line="@{keywords}"/>
                     <arg line="@{options}"/>
                     <arg line="@{tests}"/>
--- a/langtools/make/netbeans/README	Thu Feb 16 13:01:46 2012 -0800
+++ b/langtools/make/netbeans/README	Sat Feb 18 16:12:28 2012 -0800
@@ -7,7 +7,7 @@
 repository.
 
 The repository contains a number of tools:
-    apt, javac, javadoc and its doclets, javah and javap.
+    javac, javadoc and its doclets, javah and javap.
 
 Build Properties.
 
--- a/langtools/make/test/lib/apt.sh	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright (c) 2002, 2007, 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
-# @summary Verify the basic execution of the apt classes in classes.jar.
-
-TESTSRC=${TESTSRC:-.}
-TOPDIR=${TESTSRC}/../../..
-TESTJAVAEXE="${TESTJAVA:+${TESTJAVA}/bin/}java"
-
-"${TESTJAVAEXE}" -Xbootclasspath/p:${TOPDIR}/dist/lib/classes.jar \
-    com.sun.tools.apt.Main \
-    -print "${TESTSRC}"/../HelloWorld.java > apt.tmp
-
-if diff ${TESTSRC}/../HelloWorld.apt.gold.txt apt.tmp ; then
-    echo "Test passed."
-else
-    echo "Test failed."
-    exit 1
-fi
--- a/langtools/make/test/lib/src.gold.txt	Thu Feb 16 13:01:46 2012 -0800
+++ b/langtools/make/test/lib/src.gold.txt	Sat Feb 18 16:12:28 2012 -0800
@@ -1,14 +1,4 @@
 com/sun/javadoc/package.html
-com/sun/mirror/apt/package.html
-com/sun/mirror/declaration/package.html
-com/sun/mirror/overview.html
-com/sun/mirror/type/package.html
-com/sun/mirror/util/package.html
-com/sun/tools/apt/Main.java
-com/sun/tools/apt/main/Main.java
-com/sun/tools/apt/resources/apt.properties
-com/sun/tools/apt/resources/apt_ja.properties
-com/sun/tools/apt/resources/apt_zh_CN.properties
 com/sun/tools/doclets/formats/html/markup/package.html
 com/sun/tools/doclets/formats/html/package.html
 com/sun/tools/doclets/formats/html/resources/standard.properties
--- a/langtools/src/share/classes/com/sun/mirror/apt/AnnotationProcessor.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.apt;
-
-
-import java.io.IOException;
-import java.util.Collection;
-
-
-/**
- * An annotation processor, used to examine and process the
- * annotations of program elements.  An annotation processor may,
- * for example, create new source files and XML documents to be used
- * in conjunction with the original code.
- *
- * <p> An annotation processor is constructed by a
- * {@linkplain AnnotationProcessorFactory factory}, which provides it with an
- * {@linkplain AnnotationProcessorEnvironment environment} that
- * encapsulates the state it needs.
- * Messages regarding warnings and errors encountered during processing
- * should be directed to the environment's {@link Messager},
- * and new files may be created using the environment's {@link Filer}.
- *
- * <p> Each annotation processor is created to process annotations
- * of a particular annotation type or set of annotation types.
- * It may use its environment to find the program elements with
- * annotations of those types.  It may freely examine any other program
- * elements in the course of its processing.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is {@link
- * javax.annotation.processing.Processor}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface AnnotationProcessor {
-
-    /**
-     * Process all program elements supported by this annotation processor.
-     */
-    void process();
-}
--- a/langtools/src/share/classes/com/sun/mirror/apt/AnnotationProcessorEnvironment.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,182 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.apt;
-
-
-import java.util.Collection;
-import java.util.Map;
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.util.*;
-
-
-/**
- * The environment encapsulating the state needed by an annotation processor.
- * An annotation processing tool makes this environment available
- * to all annotation processors.
- *
- * <p> When an annotation processing tool is invoked, it is given a
- * set of type declarations on which to operate.  These
- * are refered to as the <i>specified</i> types.
- * The type declarations said to be <i>included</i> in this invocation
- * consist of the specified types and any types nested within them.
- *
- * <p> {@link DeclarationFilter}
- * provides a simple way to select just the items of interest
- * when a method returns a collection of declarations.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is {@link
- * javax.annotation.processing.ProcessingEnvironment}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface AnnotationProcessorEnvironment {
-
-    /**
-     * Returns the options passed to the annotation processing tool.
-     * Options are returned in the form of a map from option name
-     * (such as <tt>"-encoding"</tt>) to option value.
-     * For an option with no value (such as <tt>"-help"</tt>), the
-     * corresponding value in the map is <tt>null</tt>.
-     *
-     * <p> Options beginning with <tt>"-A"</tt> are <i>processor-specific.</i>
-     * Such options are unrecognized by the tool, but intended to be used by
-     * some annotation processor.
-     *
-     * @return the options passed to the tool
-     */
-    Map<String,String> getOptions();
-
-    /**
-     * Returns the messager used to report errors, warnings, and other
-     * notices.
-     *
-     * @return the messager
-     */
-    Messager getMessager();
-
-    /**
-     * Returns the filer used to create new source, class, or auxiliary
-     * files.
-     *
-     * @return the filer
-     */
-    Filer getFiler();
-
-
-    /**
-     * Returns the declarations of the types specified when the
-     * annotation processing tool was invoked.
-     *
-     * @return the types specified when the tool was invoked, or an
-     * empty collection if there were none
-     */
-    Collection<TypeDeclaration> getSpecifiedTypeDeclarations();
-
-    /**
-     * Returns the declaration of a package given its fully qualified name.
-     *
-     * @param name  fully qualified package name, or "" for the unnamed package
-     * @return the declaration of the named package, or null if it cannot
-     * be found
-     */
-    PackageDeclaration getPackage(String name);
-
-    /**
-     * Returns the declaration of a type given its fully qualified name.
-     *
-     * @param name  fully qualified type name
-     * @return the declaration of the named type, or null if it cannot be
-     * found
-     */
-    TypeDeclaration getTypeDeclaration(String name);
-
-    /**
-     * A convenience method that returns the declarations of the types
-     * {@linkplain AnnotationProcessorEnvironment <i>included</i>}
-     * in this invocation of the annotation processing tool.
-     *
-     * @return the declarations of the types included in this invocation
-     * of the tool, or an empty collection if there are none
-     */
-    Collection<TypeDeclaration> getTypeDeclarations();
-
-    /**
-     * Returns the declarations annotated with the given annotation type.
-     * Only declarations of the types
-     * {@linkplain AnnotationProcessorEnvironment <i>included</i>}
-     * in this invocation of the annotation processing tool, or
-     * declarations of members, parameters, or type parameters
-     * declared within those, are returned.
-     *
-     * @param a  annotation type being requested
-     * @return the declarations annotated with the given annotation type,
-     * or an empty collection if there are none
-     */
-    Collection<Declaration> getDeclarationsAnnotatedWith(
-                                                AnnotationTypeDeclaration a);
-
-    /**
-     * Returns an implementation of some utility methods for
-     * operating on declarations.
-     *
-     * @return declaration utilities
-     */
-    Declarations getDeclarationUtils();
-
-    /**
-     * Returns an implementation of some utility methods for
-     * operating on types.
-     *
-     * @return type utilities
-     */
-    Types getTypeUtils();
-
-    /**
-     * Add a listener.  If the listener is currently registered to listen,
-     * adding it again will have no effect.
-     *
-     * @param listener The listener to add.
-     * @throws NullPointerException if the listener is null
-     */
-    void addListener(AnnotationProcessorListener listener);
-
-
-    /**
-     * Remove a listener.  If the listener is not currently listening,
-     * the method call does nothing.
-     *
-     * @param listener The listener to remove.
-     * @throws NullPointerException if the listener is null
-     */
-    void removeListener(AnnotationProcessorListener listener);
-}
--- a/langtools/src/share/classes/com/sun/mirror/apt/AnnotationProcessorFactory.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.apt;
-
-
-import java.util.Collection;
-import java.util.Set;
-
-import com.sun.mirror.declaration.AnnotationTypeDeclaration;
-
-
-/**
- * A factory for creating annotation processors.
- * Each factory is responsible for creating processors for one or more
- * annotation types.
- * The factory is said to <i>support</i> these types.
- *
- * <p> Each implementation of an <tt>AnnotationProcessorFactory</tt>
- * must provide a public no-argument constructor to be used by tools to
- * instantiate the factory.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is {@link
- * javax.annotation.processing.Processor}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface AnnotationProcessorFactory {
-
-    /**
-     * Returns the options recognized by this factory or by any of the
-     * processors it may create.
-     * Only {@linkplain AnnotationProcessorEnvironment#getOptions()
-     * processor-specific} options are included, each of which begins
-     * with <tt>"-A"</tt>.  For example, if this factory recognizes
-     * options such as <tt>-Adebug -Aloglevel=3</tt>, it will
-     * return the strings <tt>"-Adebug"</tt> and <tt>"-Aloglevel"</tt>.
-     *
-     * <p> A tool might use this information to determine if any
-     * options provided by a user are unrecognized by any processor,
-     * in which case it may wish to report an error.
-     *
-     * @return the options recognized by this factory or by any of the
-     * processors it may create, or an empty collection if none
-     */
-    Collection<String> supportedOptions();
-
-    /**
-     * Returns the names of the annotation types supported by this factory.
-     * An element of the result may be the canonical (fully qualified) name
-     * of a supported annotation type.  Alternately it may be of the form
-     * <tt>"<i>name</i>.*"</tt>
-     * representing the set of all annotation types
-     * with canonical names beginning with <tt>"<i>name</i>."</tt>
-     * Finally, <tt>"*"</tt> by itself represents the set of all
-     * annotation types.
-     *
-     * @return the names of the annotation types supported by this factory
-     */
-    Collection<String> supportedAnnotationTypes();
-
-    /**
-     * Returns an annotation processor for a set of annotation
-     * types. The set will be empty if the factory supports
-     * &quot;<tt>*</tt>&quot; and the specified type declarations have
-     * no annotations.  Note that the set of annotation types may be
-     * empty for other reasons, such as giving the factory an
-     * opportunity to register a listener.  An
-     * <tt>AnnotationProcessorFactory</tt> must gracefully handle an
-     * empty set of annotations; an appropriate response to an empty
-     * set will often be returning {@link AnnotationProcessors#NO_OP}.
-     *
-     * @param atds type declarations of the annotation types to be processed
-     * @param env  environment to use during processing
-     * @return an annotation processor for the given annotation types,
-     *          or <tt>null</tt> if the types are not supported or the
-     *          processor cannot be created
-     */
-    AnnotationProcessor getProcessorFor(Set<AnnotationTypeDeclaration> atds,
-                                        AnnotationProcessorEnvironment env);
-}
--- a/langtools/src/share/classes/com/sun/mirror/apt/AnnotationProcessorListener.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.apt;
-
-/**
- * Superinterface for all annotation processor event listeners.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  This interface has no
- * direct analog in the standardized API because the different round
- * model renders it unnecessary.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface AnnotationProcessorListener extends java.util.EventListener {}
--- a/langtools/src/share/classes/com/sun/mirror/apt/AnnotationProcessors.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.apt;
-
-import com.sun.mirror.apt.*;
-import java.util.*;
-
-/**
- * Utilities to create specialized annotation processors.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  There is no direct analog
- * of the functionality of this class in the standardized API.
- *
- * @since 1.5
- * @author Joseph D. Darcy
- * @author Scott Seligman
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public class AnnotationProcessors {
-    static class NoOpAP implements AnnotationProcessor {
-        NoOpAP() {}
-        public void process(){}
-    }
-
-    /**
-     * Combines multiple annotation processors into a simple composite
-     * processor.
-     * The composite processor functions by invoking each of its component
-     * processors in sequence.
-     */
-    static class CompositeAnnotationProcessor implements AnnotationProcessor {
-
-        private List<AnnotationProcessor> aps =
-            new LinkedList<AnnotationProcessor>();
-
-        /**
-         * Constructs a new composite annotation processor.
-         * @param aps  the component annotation processors
-         */
-        public CompositeAnnotationProcessor(Collection<AnnotationProcessor> aps) {
-            this.aps.addAll(aps);
-        }
-
-        /**
-         * Constructs a new composite annotation processor.
-         * @param aps  the component annotation processors
-         */
-        public CompositeAnnotationProcessor(AnnotationProcessor... aps) {
-            for(AnnotationProcessor ap: aps)
-                this.aps.add(ap);
-        }
-
-        /**
-         * Invokes the <tt>process</tt> method of each component processor,
-         * in the order in which the processors were passed to the constructor.
-         */
-        public void process() {
-            for(AnnotationProcessor ap: aps)
-                ap.process();
-        }
-    }
-
-
-    /**
-     *  An annotation processor that does nothing and has no state.
-     *  May be used multiple times.
-     *
-     * @since 1.5
-     */
-    public final static AnnotationProcessor NO_OP = new NoOpAP();
-
-    /**
-     * Constructs a new composite annotation processor.  A composite
-     * annotation processor combines multiple annotation processors
-     * into one and functions by invoking each of its component
-     * processors' process methods in sequence.
-     *
-     * @param aps The processors to create a composite of
-     * @since 1.5
-     */
-    public static AnnotationProcessor getCompositeAnnotationProcessor(AnnotationProcessor... aps) {
-        return new CompositeAnnotationProcessor(aps);
-    }
-
-    /**
-     * Constructs a new composite annotation processor.  A composite
-     * annotation processor combines multiple annotation processors
-     * into one and functions by invoking each of its component
-     * processors' process methods in the sequence the processors are
-     * returned by the collection's iterator.
-     *
-     * @param aps A collection of processors to create a composite of
-     * @since 1.5
-     */
-    public static AnnotationProcessor getCompositeAnnotationProcessor(Collection<AnnotationProcessor> aps) {
-        return new CompositeAnnotationProcessor(aps);
-    }
-}
--- a/langtools/src/share/classes/com/sun/mirror/apt/Filer.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.apt;
-
-
-import java.io.*;
-
-
-/**
- * This interface supports the creation of new files by an
- * annotation processor.
- * Files created in this way will be known to the annotation processing
- * tool implementing this interface, better enabling the tool to manage them.
- * Four kinds of files are distinguished:
- * source files, class files, other text files, and other binary files.
- * The latter two are collectively referred to as <i>auxiliary</i> files.
- *
- * <p> There are two distinguished locations (subtrees within the
- * file system) where newly created files are placed:
- * one for new source files, and one for new class files.
- * (These might be specified on a tool's command line, for example,
- * using flags such as <tt>-s</tt> and <tt>-d</tt>.)
- * Auxiliary files may be created in either location.
- *
- * <p> During each run of an annotation processing tool, a file
- * with a given pathname may be created only once.  If that file already
- * exists before the first attempt to create it, the old contents will
- * be deleted.  Any subsequent attempt to create the same file during
- * a run will fail.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is {@link
- * javax.annotation.processing.Filer}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface Filer {
-
-    /**
-     * Creates a new source file and returns a writer for it.
-     * The file's name and path (relative to the root of all newly created
-     * source files) is based on the type to be declared in that file.
-     * If more than one type is being declared, the name of the principal
-     * top-level type (the public one, for example) should be used.
-     *
-     * <p> The {@linkplain java.nio.charset.Charset charset} used to
-     * encode the file is determined by the implementation.
-     * An annotation processing tool may have an <tt>-encoding</tt>
-     * flag or the like for specifying this.  It will typically use
-     * the platform's default encoding if none is specified.
-     *
-     * @param name  canonical (fully qualified) name of the principal type
-     *          being declared in this file
-     * @return a writer for the new file
-     * @throws IOException if the file cannot be created
-     */
-    PrintWriter createSourceFile(String name) throws IOException;
-
-    /**
-     * Creates a new class file, and returns a stream for writing to it.
-     * The file's name and path (relative to the root of all newly created
-     * class files) is based on the name of the type being written.
-     *
-     * @param name canonical (fully qualified) name of the type being written
-     * @return a stream for writing to the new file
-     * @throws IOException if the file cannot be created
-     */
-    OutputStream createClassFile(String name) throws IOException;
-
-    /**
-     * Creates a new text file, and returns a writer for it.
-     * The file is located along with either the
-     * newly created source or newly created binary files.  It may be
-     * named relative to some package (as are source and binary files),
-     * and from there by an arbitrary pathname.  In a loose sense, the
-     * pathname of the new file will be the concatenation of
-     * <tt>loc</tt>, <tt>pkg</tt>, and <tt>relPath</tt>.
-     *
-     * <p> A {@linkplain java.nio.charset.Charset charset} for
-     * encoding the file may be provided.  If none is given, the
-     * charset used to encode source files
-     * (see {@link #createSourceFile(String)}) will be used.
-     *
-     * @param loc location of the new file
-     * @param pkg package relative to which the file should be named,
-     *          or the empty string if none
-     * @param relPath final pathname components of the file
-     * @param charsetName the name of the charset to use, or null if none
-     *          is being explicitly specified
-     * @return a writer for the new file
-     * @throws IOException if the file cannot be created
-     */
-    PrintWriter createTextFile(Location loc,
-                               String pkg,
-                               File relPath,
-                               String charsetName) throws IOException;
-
-    /**
-     * Creates a new binary file, and returns a stream for writing to it.
-     * The file is located along with either the
-     * newly created source or newly created binary files.  It may be
-     * named relative to some package (as are source and binary files),
-     * and from there by an arbitrary pathname.  In a loose sense, the
-     * pathname of the new file will be the concatenation of
-     * <tt>loc</tt>, <tt>pkg</tt>, and <tt>relPath</tt>.
-     *
-     * @param loc location of the new file
-     * @param pkg package relative to which the file should be named,
-     *          or the empty string if none
-     * @param relPath final pathname components of the file
-     * @return a stream for writing to the new file
-     * @throws IOException if the file cannot be created
-     */
-    OutputStream createBinaryFile(Location loc,
-                                  String pkg,
-                                  File relPath) throws IOException;
-
-
-    /**
-     * Locations (subtrees within the file system) where new files are created.
-     *
-     * @deprecated All components of this API have been superseded by
-     * the standardized annotation processing API.  The replacement
-     * for the functionality of this enum is {@link
-     * javax.tools.StandardLocation}.
-     */
-    @Deprecated
-    enum Location {
-        /** The location of new source files. */
-        SOURCE_TREE,
-        /** The location of new class files. */
-        CLASS_TREE
-    }
-}
--- a/langtools/src/share/classes/com/sun/mirror/apt/Messager.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.apt;
-
-import com.sun.mirror.util.SourcePosition;
-
-/**
- * A <tt>Messager</tt> provides the way for
- * an annotation processor to report error messages, warnings, and
- * other notices.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is {@link
- * javax.annotation.processing.Messager}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface Messager {
-
-    /**
-     * Prints an error message.
-     * Equivalent to <tt>printError(null, msg)</tt>.
-     * @param msg  the message, or an empty string if none
-     */
-    void printError(String msg);
-
-    /**
-     * Prints an error message.
-     * @param pos  the position where the error occured, or null if it is
-     *                  unknown or not applicable
-     * @param msg  the message, or an empty string if none
-     */
-    void printError(SourcePosition pos, String msg);
-
-    /**
-     * Prints a warning message.
-     * Equivalent to <tt>printWarning(null, msg)</tt>.
-     * @param msg  the message, or an empty string if none
-     */
-    void printWarning(String msg);
-
-    /**
-     * Prints a warning message.
-     * @param pos  the position where the warning occured, or null if it is
-     *                  unknown or not applicable
-     * @param msg  the message, or an empty string if none
-     */
-    void printWarning(SourcePosition pos, String msg);
-
-    /**
-     * Prints a notice.
-     * Equivalent to <tt>printNotice(null, msg)</tt>.
-     * @param msg  the message, or an empty string if none
-     */
-    void printNotice(String msg);
-
-    /**
-     * Prints a notice.
-     * @param pos  the position where the noticed occured, or null if it is
-     *                  unknown or not applicable
-     * @param msg  the message, or an empty string if none
-     */
-    void printNotice(SourcePosition pos, String msg);
-}
--- a/langtools/src/share/classes/com/sun/mirror/apt/RoundCompleteEvent.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.apt;
-
-/**
- * Event for the completion of a round of annotation processing.
- *
- * <p>While this class extends the serializable <tt>EventObject</tt>, it
- * cannot meaningfully be serialized because all of the annotation
- * processing tool's internal state would potentially be needed.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  This class has no direct
- * analog in the standardized API because the different round model
- * renders it unnecessary.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public abstract class RoundCompleteEvent extends java.util.EventObject {
-    private RoundState rs;
-
-    /**
-     * The current <tt>AnnotationProcessorEnvironment</tt> is regarded
-     * as the source of events.
-     *
-     * @param source The source of events
-     * @param rs     The state of the round
-     */
-    protected RoundCompleteEvent(AnnotationProcessorEnvironment source,
-                                 RoundState rs) {
-        super(source);
-        this.rs = rs;
-    }
-
-    /**
-     * Return round state.
-     */
-    public RoundState getRoundState() {
-        return rs;
-    }
-
-    /**
-     * Return source.
-     */
-    public AnnotationProcessorEnvironment getSource() {
-        return (AnnotationProcessorEnvironment)super.getSource();
-    }
-}
--- a/langtools/src/share/classes/com/sun/mirror/apt/RoundCompleteListener.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.apt;
-
-/**
- * Listener for the completion of a round of annotation processing.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  This interface has no
- * direct analog in the standardized API because the different round
- * model renders it unnecessary.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface RoundCompleteListener extends AnnotationProcessorListener {
-    /**
-     * Invoked after all processors for a round have run to completion.
-     *
-     * @param event An event for round completion
-     */
-    void roundComplete(RoundCompleteEvent event);
-}
--- a/langtools/src/share/classes/com/sun/mirror/apt/RoundState.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.apt;
-
-/**
- * Represents the status of a completed round of annotation processing.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is {@link
- * javax.annotation.processing.RoundEnvironment}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface RoundState {
-    /**
-     * Returns <tt>true</tt> if this was the last round of annotation
-     * processing; returns <tt>false</tt> if there will be a subsequent round.
-     */
-    boolean finalRound();
-
-    /**
-     * Returns <tt>true</tt> if an error was raised in this round of processing;
-     * returns <tt>false</tt> otherwise.
-     */
-    boolean errorRaised();
-
-    /**
-     * Returns <tt>true</tt> if new source files were created in this round of
-     * processing; returns <tt>false</tt> otherwise.
-     */
-    boolean sourceFilesCreated();
-
-    /**
-     * Returns <tt>true</tt> if new class files were created in this round of
-     * processing; returns <tt>false</tt> otherwise.
-     */
-    boolean classFilesCreated();
-}
--- a/langtools/src/share/classes/com/sun/mirror/apt/package-info.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-/**
- * Classes used to communicate information between {@linkplain
- * com.sun.mirror.apt.AnnotationProcessor annotation processors} and
- * an annotation processing tool.
- *
- * <p>The {@code apt} tool and its associated API have been superseded
- * by the standardized annotation processing API.  The replacement for
- * the functionality in this package is {@link
- * javax.annotation.processing}.
- *
- * @since 1.5
- */
-package com.sun.mirror.apt;
--- a/langtools/src/share/classes/com/sun/mirror/declaration/AnnotationMirror.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.declaration;
-
-import java.util.Map;
-import com.sun.mirror.type.AnnotationType;
-import com.sun.mirror.util.SourcePosition;
-
-
-/**
- * Represents an annotation.  An annotation associates a value with
- * each element of an annotation type.
- *
- * <p> Annotations should not be compared using reference-equality
- * ("<tt>==</tt>").  There is no guarantee that any particular
- * annotation will always be represented by the same object.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is {@link
- * javax.lang.model.element.AnnotationMirror}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface AnnotationMirror {
-
-    /**
-     * Returns the annotation type of this annotation.
-     *
-     * @return the annotation type of this annotation
-     */
-    AnnotationType getAnnotationType();
-
-    /**
-     * Returns the source position of the beginning of this annotation.
-     * Returns null if the position is unknown or not applicable.
-     *
-     * <p>This source position is intended for use in providing diagnostics,
-     * and indicates only approximately where an annotation begins.
-     *
-     * @return  the source position of the beginning of this annotation or
-     * null if the position is unknown or not applicable
-     */
-    SourcePosition getPosition();
-
-    /**
-     * Returns this annotation's elements and their values.
-     * This is returned in the form of a map that associates elements
-     * with their corresponding values.
-     * Only those elements and values explicitly present in the
-     * annotation are included, not those that are implicitly assuming
-     * their default values.
-     * The order of the map matches the order in which the
-     * elements appear in the annotation's source.
-     *
-     * @return this annotation's elements and their values,
-     * or an empty map if there are none
-     */
-    Map<AnnotationTypeElementDeclaration, AnnotationValue> getElementValues();
-}
--- a/langtools/src/share/classes/com/sun/mirror/declaration/AnnotationTypeDeclaration.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.declaration;
-
-
-import java.util.Collection;
-
-
-/**
- * Represents the declaration of an annotation type.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is included in {@link
- * javax.lang.model.element.TypeElement}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface AnnotationTypeDeclaration extends InterfaceDeclaration {
-
-    /**
-     * Returns the annotation type elements of this annotation type.
-     * These are the methods that are directly declared in the type's
-     * declaration.
-     *
-     * @return the annotation type elements of this annotation type,
-     * or an empty collection if there are none
-     */
-    Collection<AnnotationTypeElementDeclaration> getMethods();
-}
--- a/langtools/src/share/classes/com/sun/mirror/declaration/AnnotationTypeElementDeclaration.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.declaration;
-
-
-/**
- * Represents an element of an annotation type.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is included in {@link
- * javax.lang.model.element.ExecutableElement}.
- *
- * @author Joe Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface AnnotationTypeElementDeclaration extends MethodDeclaration {
-
-    /**
-     * Returns the default value of this element.
-     *
-     * @return the default value of this element, or null if this element
-     * has no default.
-     */
-    AnnotationValue getDefaultValue();
-
-    /**
-     * {@inheritDoc}
-     */
-    AnnotationTypeDeclaration getDeclaringType();
-}
--- a/langtools/src/share/classes/com/sun/mirror/declaration/AnnotationValue.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.declaration;
-
-import com.sun.mirror.util.SourcePosition;
-
-/**
- * Represents a value of an annotation type element.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is {@link
- * javax.lang.model.element.AnnotationValue}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface AnnotationValue {
-
-    /**
-     * Returns the value.
-     * The result has one of the following types:
-     * <ul><li> a wrapper class (such as {@link Integer}) for a primitive type
-     *     <li> {@code String}
-     *     <li> {@code TypeMirror}
-     *     <li> {@code EnumConstantDeclaration}
-     *     <li> {@code AnnotationMirror}
-     *     <li> {@code Collection<AnnotationValue>}
-     *          (representing the elements, in order, if the value is an array)
-     * </ul>
-     *
-     * @return the value
-     */
-    Object getValue();
-
-    /**
-     * Returns the source position of the beginning of this annotation value.
-     * Returns null if the position is unknown or not applicable.
-     *
-     * <p>This source position is intended for use in providing diagnostics,
-     * and indicates only approximately where an annotation value begins.
-     *
-     * @return  the source position of the beginning of this annotation value or
-     * null if the position is unknown or not applicable
-     */
-    SourcePosition getPosition();
-
-    /**
-     * Returns a string representation of this value.
-     * This is returned in a form suitable for representing this value
-     * in the source code of an annotation.
-     *
-     * @return a string representation of this value
-     */
-    String toString();
-}
--- a/langtools/src/share/classes/com/sun/mirror/declaration/ClassDeclaration.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.declaration;
-
-
-import java.util.Collection;
-
-import com.sun.mirror.type.ClassType;
-
-
-/**
- * Represents the declaration of a class.
- * For the declaration of an interface, see {@link InterfaceDeclaration}.
- * Provides access to information about the class, its members, and
- * its constructors.
- * Note that an {@linkplain EnumDeclaration enum} is a kind of class.
- *
- * <p> While a <tt>ClassDeclaration</tt> represents the <i>declaration</i>
- * of a class, a {@link ClassType} represents a class <i>type</i>.
- * See {@link TypeDeclaration} for more on this distinction.
- *
- * <p> {@link com.sun.mirror.util.DeclarationFilter}
- * provides a simple way to select just the items of interest
- * when a method returns a collection of declarations.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is included in {@link
- * javax.lang.model.element.TypeElement}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- *
- * @see ClassType
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface ClassDeclaration extends TypeDeclaration {
-
-    /**
-     * Returns the class type directly extended by this class.
-     * The only class with no superclass is <tt>java.lang.Object</tt>,
-     * for which this method returns null.
-     *
-     * @return the class type directly extended by this class, or null
-     * if there is none
-     */
-    ClassType getSuperclass();
-
-    /**
-     * Returns the constructors of this class.
-     * This includes the default constructor if this class has
-     * no constructors explicitly declared.
-     *
-     * @return the constructors of this class
-     *
-     * @see com.sun.mirror.util.DeclarationFilter
-     */
-    Collection<ConstructorDeclaration> getConstructors();
-
-    /**
-     * {@inheritDoc}
-     */
-    Collection<MethodDeclaration> getMethods();
-}
--- a/langtools/src/share/classes/com/sun/mirror/declaration/ConstructorDeclaration.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.declaration;
-
-
-/**
- * Represents a constructor of a class or interface.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is included in {@link
- * javax.lang.model.element.ExecutableElement}.
- *
- * @author Joe Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface ConstructorDeclaration extends ExecutableDeclaration {
-}
--- a/langtools/src/share/classes/com/sun/mirror/declaration/Declaration.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.declaration;
-
-
-import java.lang.annotation.Annotation;
-import java.util.Collection;
-
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-
-/**
- * Represents the declaration of a program element such as a package,
- * class, or method.  Each declaration represents a static, language-level
- * construct (and not, for example, a runtime construct of the virtual
- * machine), and typically corresponds one-to-one with a particular
- * fragment of source code.
- *
- * <p> Declarations should be compared using the {@link #equals(Object)}
- * method.  There is no guarantee that any particular declaration will
- * always be represented by the same object.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is {@link
- * javax.lang.model.element.Element}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- *
- * @see Declarations
- * @see TypeMirror
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface Declaration {
-
-    /**
-     * Tests whether an object represents the same declaration as this.
-     *
-     * @param obj  the object to be compared with this declaration
-     * @return <tt>true</tt> if the specified object represents the same
-     *          declaration as this
-     */
-    boolean equals(Object obj);
-
-    /**
-     * Returns the text of the documentation ("javadoc") comment of
-     * this declaration.
-     *
-     * @return the documentation comment of this declaration, or <tt>null</tt>
-     *          if there is none
-     */
-    String getDocComment();
-
-    /**
-     * Returns the annotations that are directly present on this declaration.
-     *
-     * @return the annotations directly present on this declaration;
-     *          an empty collection if there are none
-     */
-    Collection<AnnotationMirror> getAnnotationMirrors();
-
-    /**
-     * Returns the annotation of this declaration having the specified
-     * type.  The annotation may be either inherited or directly
-     * present on this declaration.
-     *
-     * <p> The annotation returned by this method could contain an element
-     * whose value is of type <tt>Class</tt>.
-     * This value cannot be returned directly:  information necessary to
-     * locate and load a class (such as the class loader to use) is
-     * not available, and the class might not be loadable at all.
-     * Attempting to read a <tt>Class</tt> object by invoking the relevant
-     * method on the returned annotation
-     * will result in a {@link MirroredTypeException},
-     * from which the corresponding {@link TypeMirror} may be extracted.
-     * Similarly, attempting to read a <tt>Class[]</tt>-valued element
-     * will result in a {@link MirroredTypesException}.
-     *
-     * <blockquote>
-     * <i>Note:</i> This method is unlike
-     * others in this and related interfaces.  It operates on run-time
-     * reflective information -- representations of annotation types
-     * currently loaded into the VM -- rather than on the mirrored
-     * representations defined by and used throughout these
-     * interfaces.  It is intended for callers that are written to
-     * operate on a known, fixed set of annotation types.
-     * </blockquote>
-     *
-     * @param <A>  the annotation type
-     * @param annotationType  the <tt>Class</tt> object corresponding to
-     *          the annotation type
-     * @return the annotation of this declaration having the specified type
-     *
-     * @see #getAnnotationMirrors()
-     */
-    <A extends Annotation> A getAnnotation(Class<A> annotationType);
-
-    /**
-     * Returns the modifiers of this declaration, excluding annotations.
-     * Implicit modifiers, such as the <tt>public</tt> and <tt>static</tt>
-     * modifiers of interface members, are included.
-     *
-     * @return the modifiers of this declaration in undefined order;
-     *          an empty collection if there are none
-     */
-    Collection<Modifier> getModifiers();
-
-    /**
-     * Returns the simple (unqualified) name of this declaration.
-     * The name of a generic type does not include any reference
-     * to its formal type parameters.
-     * For example, the simple name of the interface declaration
-     * {@code java.util.Set<E>} is <tt>"Set"</tt>.
-     * If this declaration represents the empty package, an empty
-     * string is returned.
-     * If it represents a constructor, the simple name of its
-     * declaring class is returned.
-     *
-     * @return the simple name of this declaration
-     */
-    String getSimpleName();
-
-    /**
-     * Returns the source position of the beginning of this declaration.
-     * Returns <tt>null</tt> if the position is unknown or not applicable.
-     *
-     * <p> This source position is intended for use in providing
-     * diagnostics, and indicates only approximately where a declaration
-     * begins.
-     *
-     * @return the source position of the beginning of this declaration,
-     *          or null if the position is unknown or not applicable
-     */
-    SourcePosition getPosition();
-
-    /**
-     * Applies a visitor to this declaration.
-     *
-     * @param v the visitor operating on this declaration
-     */
-    void accept(DeclarationVisitor v);
-}
--- a/langtools/src/share/classes/com/sun/mirror/declaration/EnumConstantDeclaration.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.declaration;
-
-
-/**
- * Represents an enum constant declaration.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is included in {@link
- * javax.lang.model.element.VariableElement}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface EnumConstantDeclaration extends FieldDeclaration {
-    /**
-     * {@inheritDoc}
-     */
-    EnumDeclaration getDeclaringType();
-}
--- a/langtools/src/share/classes/com/sun/mirror/declaration/EnumDeclaration.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.declaration;
-
-
-import java.util.Collection;
-
-
-/**
- * Represents the declaration of an enum type.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is included in {@link
- * javax.lang.model.element.TypeElement}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface EnumDeclaration extends ClassDeclaration {
-
-    /**
-     * Returns the enum constants defined for this enum.
-     *
-     * @return the enum constants defined for this enum,
-     * or an empty collection if there are none
-     */
-    Collection<EnumConstantDeclaration> getEnumConstants();
-}
--- a/langtools/src/share/classes/com/sun/mirror/declaration/ExecutableDeclaration.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.declaration;
-
-
-import java.util.Collection;
-
-import com.sun.mirror.type.ReferenceType;
-
-
-/**
- * Represents a method or constructor of a class or interface.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is {@link
- * javax.lang.model.element.ExecutableElement}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface ExecutableDeclaration extends MemberDeclaration {
-
-    /**
-     * Returns <tt>true</tt> if this method or constructor accepts a variable
-     * number of arguments.
-     *
-     * @return <tt>true</tt> if this method or constructor accepts a variable
-     * number of arguments
-     */
-    boolean isVarArgs();
-
-    /**
-     * Returns the formal type parameters of this method or constructor.
-     * They are returned in declaration order.
-     *
-     * @return the formal type parameters of this method or constructor,
-     * or an empty collection if there are none
-     */
-    Collection<TypeParameterDeclaration> getFormalTypeParameters();
-
-    /**
-     * Returns the formal parameters of this method or constructor.
-     * They are returned in declaration order.
-     *
-     * @return the formal parameters of this method or constructor,
-     * or an empty collection if there are none
-     */
-    Collection<ParameterDeclaration> getParameters();
-
-    /**
-     * Returns the exceptions and other throwables listed in this
-     * method or constructor's <tt>throws</tt> clause.
-     *
-     * @return the exceptions and other throwables listed in the
-     * <tt>throws</tt> clause, or an empty collection if there are none
-     */
-    Collection<ReferenceType> getThrownTypes();
-}
--- a/langtools/src/share/classes/com/sun/mirror/declaration/FieldDeclaration.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.declaration;
-
-
-import com.sun.mirror.type.TypeMirror;
-
-
-/**
- * Represents a field of a type declaration.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is included in {@link
- * javax.lang.model.element.VariableElement}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface FieldDeclaration extends MemberDeclaration {
-
-    /**
-     * Returns the type of this field.
-     *
-     * @return the type of this field
-     */
-    TypeMirror getType();
-
-    /**
-     * Returns the value of this field if this field is a compile-time
-     * constant.  Returns <tt>null</tt> otherwise.
-     * The value will be of a primitive type or <tt>String</tt>.
-     * If the value is of a primitive type, it is wrapped in the
-     * appropriate wrapper class (such as {@link Integer}).
-     *
-     * @return the value of this field if this field is a compile-time
-     * constant, or <tt>null</tt> otherwise
-     */
-    Object getConstantValue();
-
-    /**
-     * Returns the text of a <i>constant expression</i> representing the
-     * value of this field if this field is a compile-time constant.
-     * Returns <tt>null</tt> otherwise.
-     * The value will be of a primitive type or <tt>String</tt>.
-     * The text returned is in a form suitable for representing the value
-     * in source code.
-     *
-     * @return the text of a constant expression if this field is a
-     *          compile-time constant, or <tt>null</tt> otherwise
-     */
-    String getConstantExpression();
-}
--- a/langtools/src/share/classes/com/sun/mirror/declaration/InterfaceDeclaration.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.declaration;
-
-
-import com.sun.mirror.type.InterfaceType;
-
-
-/**
- * Represents the declaration of an interface.
- * Provides access to information about the interface and its members.
- * Note that an {@linkplain AnnotationTypeDeclaration annotation type} is
- * a kind of interface.
- *
- * <p> While an <tt>InterfaceDeclaration</tt> represents the
- * <i>declaration</i> of an interface, an {@link InterfaceType}
- * represents an interface <i>type</i>.
- * See {@link TypeDeclaration} for more on this distinction.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is included in {@link
- * javax.lang.model.element.TypeElement}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- *
- * @see InterfaceType
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface InterfaceDeclaration extends TypeDeclaration {
-}
--- a/langtools/src/share/classes/com/sun/mirror/declaration/MemberDeclaration.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.declaration;
-
-
-/**
- * Represents a declaration that may be a member or constructor of a declared
- * type.  This includes fields, constructors, methods, and (since they
- * may be nested) declared types themselves.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is {@link
- * javax.lang.model.element.Element}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface MemberDeclaration extends Declaration {
-
-    /**
-     * Returns the type declaration within which this member or constructor
-     * is declared.
-     * If this is the declaration of a top-level type (a non-nested class
-     * or interface), returns null.
-     *
-     * @return the type declaration within which this member or constructor
-     * is declared, or null if there is none
-     */
-    TypeDeclaration getDeclaringType();
-}
--- a/langtools/src/share/classes/com/sun/mirror/declaration/MethodDeclaration.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.declaration;
-
-
-import com.sun.mirror.type.TypeMirror;
-import com.sun.mirror.type.VoidType;
-
-
-/**
- * Represents a method of a class or interface.
- * Note that an
- * {@linkplain AnnotationTypeElementDeclaration annotation type element}
- * is a kind of method.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is included in {@link
- * javax.lang.model.element.ExecutableElement}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface MethodDeclaration extends ExecutableDeclaration {
-
-    /**
-     * Returns the formal return type of this method.
-     * Returns {@link VoidType} if this method does not return a value.
-     *
-     * @return the formal return type of this method
-     */
-    TypeMirror getReturnType();
-}
--- a/langtools/src/share/classes/com/sun/mirror/declaration/Modifier.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.declaration;
-
-
-/**
- * Represents a modifier on the declaration of a program element such
- * as a class, method, or field.
- *
- * <p> Not all modifiers are applicable to all kinds of declarations.
- * When two or more modifiers appear in the source code of a declaration,
- * then it is customary, though not required, that they appear in the same
- * order as the constants listed in the detail section below.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this enum is {@link javax.lang.model.element.Modifier}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public enum Modifier {
-
-    // See JLS2 sections 8.1.1, 8.3.1, 8.4.3, 8.8.3, and 9.1.1.
-    // java.lang.reflect.Modifier includes INTERFACE, but that's a VMism.
-
-    /** The modifier <tt>public</tt> */         PUBLIC,
-    /** The modifier <tt>protected</tt> */      PROTECTED,
-    /** The modifier <tt>private</tt> */        PRIVATE,
-    /** The modifier <tt>abstract</tt> */       ABSTRACT,
-    /** The modifier <tt>static</tt> */         STATIC,
-    /** The modifier <tt>final</tt> */          FINAL,
-    /** The modifier <tt>transient</tt> */      TRANSIENT,
-    /** The modifier <tt>volatile</tt> */       VOLATILE,
-    /** The modifier <tt>synchronized</tt> */   SYNCHRONIZED,
-    /** The modifier <tt>native</tt> */         NATIVE,
-    /** The modifier <tt>strictfp</tt> */       STRICTFP;
-
-
-    private String lowercase = null;    // modifier name in lowercase
-
-    /**
-     * Returns this modifier's name in lowercase.
-     */
-    public String toString() {
-        if (lowercase == null) {
-           lowercase = name().toLowerCase(java.util.Locale.US);
-        }
-        return lowercase;
-    }
-}
--- a/langtools/src/share/classes/com/sun/mirror/declaration/PackageDeclaration.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.declaration;
-
-
-import java.util.Collection;
-
-
-/**
- * Represents the declaration of a package.  Provides access to information
- * about the package and its members.
- *
- * <p> {@link com.sun.mirror.util.DeclarationFilter}
- * provides a simple way to select just the items of interest
- * when a method returns a collection of declarations.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is {@link
- * javax.lang.model.element.PackageElement}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface PackageDeclaration extends Declaration {
-
-    /**
-     * Returns the fully qualified name of this package.
-     * This is also known as the package's <i>canonical</i> name.
-     *
-     * @return the fully qualified name of this package, or the
-     * empty string if this is the unnamed package
-     */
-    String getQualifiedName();
-
-    /**
-     * Returns the declarations of the top-level classes in this package.
-     * Interfaces are not included, but enum types are.
-     *
-     * @return the declarations of the top-level classes in this package
-     *
-     * @see com.sun.mirror.util.DeclarationFilter
-     */
-    Collection<ClassDeclaration> getClasses();
-
-    /**
-     * Returns the declarations of the top-level enum types in this package.
-     *
-     * @return the declarations of the top-level enum types in this package
-     *
-     * @see com.sun.mirror.util.DeclarationFilter
-     */
-    Collection<EnumDeclaration> getEnums();
-
-    /**
-     * Returns the declarations of the top-level interfaces in this package.
-     * Annotation types are included.
-     *
-     * @return the declarations of the top-level interfaces in this package
-     *
-     * @see com.sun.mirror.util.DeclarationFilter
-     */
-    Collection<InterfaceDeclaration> getInterfaces();
-
-    /**
-     * Returns the declarations of the top-level annotation types in this
-     * package.
-     *
-     * @return the declarations of the top-level annotation types in this
-     * package
-     *
-     * @see com.sun.mirror.util.DeclarationFilter
-     */
-    Collection<AnnotationTypeDeclaration> getAnnotationTypes();
-}
--- a/langtools/src/share/classes/com/sun/mirror/declaration/ParameterDeclaration.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.declaration;
-
-
-import com.sun.mirror.type.TypeMirror;
-
-
-/**
- * Represents a formal parameter of a method or constructor.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is included in {@link
- * javax.lang.model.element.VariableElement}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface ParameterDeclaration extends Declaration {
-
-    /**
-     * Returns the type of this parameter.
-     *
-     * @return the type of this parameter
-     */
-    TypeMirror getType();
-}
--- a/langtools/src/share/classes/com/sun/mirror/declaration/TypeDeclaration.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,146 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.declaration;
-
-
-import java.util.Collection;
-
-import com.sun.mirror.type.*;
-
-
-/**
- * Represents the declaration of a class or interface.
- * Provides access to information about the type and its members.
- * Note that an {@linkplain EnumDeclaration enum} is a kind of class,
- * and an {@linkplain AnnotationTypeDeclaration annotation type} is
- * a kind of interface.
- *
- * <p> <a name="DECL_VS_TYPE"></a>
- * While a <tt>TypeDeclaration</tt> represents the <i>declaration</i>
- * of a class or interface, a {@link DeclaredType} represents a class
- * or interface <i>type</i>, the latter being a use
- * (or <i>invocation</i>) of the former.
- * The distinction is most apparent with generic types,
- * for which a single declaration can define a whole
- * family of types.  For example, the declaration of
- * {@code java.util.Set} corresponds to the parameterized types
- * {@code java.util.Set<String>} and {@code java.util.Set<Number>}
- * (and many others), and to the raw type {@code java.util.Set}.
- *
- * <p> {@link com.sun.mirror.util.DeclarationFilter}
- * provides a simple way to select just the items of interest
- * when a method returns a collection of declarations.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is included in {@link
- * javax.lang.model.element.TypeElement}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- *
- * @see DeclaredType
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface TypeDeclaration extends MemberDeclaration {
-
-    /**
-     * Returns the package within which this type is declared.
-     *
-     * @return the package within which this type is declared
-     */
-    PackageDeclaration getPackage();
-
-    /**
-     * Returns the fully qualified name of this class or interface
-     * declaration.  More precisely, it returns the <i>canonical</i>
-     * name.
-     * The name of a generic type does not include any reference
-     * to its formal type parameters.
-     * For example, the the fully qualified name of the interface declaration
-     * {@code java.util.Set<E>} is <tt>"java.util.Set"</tt>.
-     *
-     * @return the fully qualified name of this class or interface declaration
-     */
-    String getQualifiedName();
-
-    /**
-     * Returns the formal type parameters of this class or interface.
-     *
-     * @return the formal type parameters, or an empty collection
-     * if there are none
-     */
-    Collection<TypeParameterDeclaration> getFormalTypeParameters();
-
-    /**
-     * Returns the interface types directly implemented by this class
-     * or extended by this interface.
-     *
-     * @return the interface types directly implemented by this class
-     * or extended by this interface, or an empty collection if there are none
-     *
-     * @see com.sun.mirror.util.DeclarationFilter
-     */
-    Collection<InterfaceType> getSuperinterfaces();
-
-    /**
-     * Returns the fields that are directly declared by this class or
-     * interface.  Includes enum constants.
-     *
-     * @return the fields that are directly declared,
-     * or an empty collection if there are none
-     *
-     * @see com.sun.mirror.util.DeclarationFilter
-     */
-    Collection<FieldDeclaration> getFields();
-
-    /**
-     * Returns the methods that are directly declared by this class or
-     * interface.  Includes annotation type elements.  Excludes
-     * implicitly declared methods of an interface, such as
-     * <tt>toString</tt>, that correspond to the methods of
-     * <tt>java.lang.Object</tt>.
-     *
-     * @return the methods that are directly declared,
-     * or an empty collection if there are none
-     *
-     * @see com.sun.mirror.util.DeclarationFilter
-     */
-    Collection<? extends MethodDeclaration> getMethods();
-
-    /**
-     * Returns the declarations of the nested classes and interfaces
-     * that are directly declared by this class or interface.
-     *
-     * @return the declarations of the nested classes and interfaces,
-     * or an empty collection if there are none
-     *
-     * @see com.sun.mirror.util.DeclarationFilter
-     */
-    Collection<TypeDeclaration> getNestedTypes();
-}
--- a/langtools/src/share/classes/com/sun/mirror/declaration/TypeParameterDeclaration.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.declaration;
-
-
-import java.util.Collection;
-
-import com.sun.mirror.type.*;
-
-
-/**
- * Represents a formal type parameter of a generic type, method,
- * or constructor declaration.
- * A type parameter declares a {@link TypeVariable}.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is {@link
- * javax.lang.model.element.TypeParameterElement}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface TypeParameterDeclaration extends Declaration {
-
-    /**
-     * Returns the bounds of this type parameter.
-     * These are the types given by the <i>extends</i> clause.
-     * If there is no explicit <i>extends</i> clause, then
-     * <tt>java.lang.Object</tt> is considered to be the sole bound.
-     *
-     * @return the bounds of this type parameter
-     */
-    Collection<ReferenceType> getBounds();
-
-    /**
-     * Returns the type, method, or constructor declaration within which
-     * this type parameter is declared.
-     *
-     * @return the declaration within which this type parameter is declared
-     */
-    Declaration getOwner();
-}
--- a/langtools/src/share/classes/com/sun/mirror/declaration/package-info.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-/**
- * Interfaces used to model program element declarations.  A
- * declaration is represented by the appropriate subinterface of
- * {@link com.sun.mirror.declaration.Declaration}, and an annotation
- * is represented as an {@link
- * com.sun.mirror.declaration.AnnotationMirror}.
- *
- * <p>The {@code apt} tool and its associated API have been superseded
- * by the standardized annotation processing API.  The replacement for
- * the functionality in this package is {@link
- * javax.lang.model.element}.
- *
- * @since 1.5
- */
-package com.sun.mirror.declaration;
--- a/langtools/src/share/classes/com/sun/mirror/overview.html	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-<!--
-
-Copyright (c) 2004, 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.  Oracle designates this
-particular file as subject to the "Classpath" exception as provided
-by Oracle in the LICENSE file that accompanied this code.
-
-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.
--->
-</head>
-
-<body bgcolor="white">
-
-The Mirror API is used to model the semantic structure of a program.
-It provides representations of the entities
-declared in a program, such as classes, methods, and fields.
-Constructs below the method level, such as 
-individual statements and expressions, are not represented.
-
-<p> Also included is support for writing
-{@linkplain com.sun.mirror.apt.AnnotationProcessor annotation processors}
-to examine and process the annotations
-of program elements.  An annotation processor may, as an example, create
-new source files and XML documents to be used in conjunction with the
-original code.
-
-
-<h4> Characteristics of the API </h4>
-
-A program is represented at the language level, rather than at the
-level of the virtual machine.  Nested classes, for example, are
-handled as first-class constructs, 
-rather than in the translated form understood by the VM.
-Both source code and compiled code (class files) may be modeled
-in this way.
-
-<p> Programs are modeled in their static, or build-time, form.
-This differs from the {@linkplain java.lang.reflect reflection} API,
-which provides run-time information about classes and objects.
-
-<p> The API does not provide direct support for generating new code.
-
-
-<h4> Declarations and Types </h4>
-  
-The mirror API represents program constructs principally through the
-{@link com.sun.mirror.declaration.Declaration} interface
-and its hierarchy of subinterfaces in the package {@link
-com.sun.mirror.declaration}.  A <tt>Declaration</tt> represents a
-program element such as a package, class, or method.
-The interface hierarchy is depicted
-<a href="com/sun/mirror/declaration/package-tree.html"> here</a>.
-
-<p> Types are represented by the {@link com.sun.mirror.type.TypeMirror}
-interface and its hierarchy of subinterfaces in the
-package {@link com.sun.mirror.type}.  Types include primitive types,
-class and interface types, array types, type variables, and wildcards.
-The interface hierarchy is depicted
-<a href="com/sun/mirror/type/package-tree.html"> here</a>.
-
-<p> The API makes a clear distinction between declarations and types.
-This is most significant for generic types, where a single declaration
-can define an infinite family of types.  For example, the declaration of
-<tt>java.util.Set</tt> defines the raw type <tt>java.util.Set</tt>,
-the parameterized type {@code java.util.Set<String>},
-and much more.  Only the declaration can be annotated, for example,
-and only a type can appear in a method signature.
-
-<p> A program being modeled may be incomplete, in that
-it may depend on an unknown class or interface type.
-This may be the result of a processing error such as a missing class file,
-or perhaps the missing type is to be created by an annotation processor.
-See {@link com.sun.mirror.type.DeclaredType} for information on
-how such unknown types are handled.
-
-
-<h4> Utilities and Tool Support </h4>
-
-The {@link com.sun.mirror.util} package provides
-utilities to assist in the processing of declarations and types.
-Included is support for using the visitor design pattern when
-operating on declaration and type objects.
-
-<p> The {@link com.sun.mirror.apt} package supports the writing
-of annotation processors.  It provides the mechanism for them to
-interact with an annotation processing tool.
-
-
-@since 1.5
-
-</body>
-</html>
--- a/langtools/src/share/classes/com/sun/mirror/type/AnnotationType.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.type;
-
-
-import com.sun.mirror.declaration.AnnotationTypeDeclaration;
-
-
-/**
- * Represents an annotation type.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is included in {@link
- * javax.lang.model.type.DeclaredType}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface AnnotationType extends InterfaceType {
-
-    /**
-     * {@inheritDoc}
-     */
-    AnnotationTypeDeclaration getDeclaration();
-}
--- a/langtools/src/share/classes/com/sun/mirror/type/ArrayType.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.type;
-
-
-/**
- * Represents an array type.
- * A multidimensional array type is represented as an array type
- * whose component type is also an array type.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is {@link
- * javax.lang.model.type.ArrayType}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface ArrayType extends ReferenceType {
-
-    /**
-     * Returns the component type of this array type.
-     *
-     * @return the component type of this array type
-     */
-    TypeMirror getComponentType();
-}
--- a/langtools/src/share/classes/com/sun/mirror/type/ClassType.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.type;
-
-
-import com.sun.mirror.declaration.*;
-
-
-/**
- * Represents a class type.
- * Interface types are represented separately by {@link InterfaceType}.
- * Note that an {@linkplain EnumType enum} is a kind of class.
- *
- * <p> While a {@link ClassDeclaration} represents the <i>declaration</i>
- * of a class, a <tt>ClassType</tt> represents a class <i>type</i>.
- * See {@link TypeDeclaration} for more on this distinction.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is included in {@link
- * javax.lang.model.type.DeclaredType}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface ClassType extends DeclaredType {
-
-    /**
-     * {@inheritDoc}
-     */
-    ClassDeclaration getDeclaration();
-
-    /**
-     * Returns the class type that is a direct supertype of this one.
-     * This is the superclass of this type's declaring class, with any
-     * type arguments substituted in.
-     * The only class with no superclass is <tt>java.lang.Object</tt>,
-     * for which this method returns <tt>null</tt>.
-     *
-     * <p> For example, the class type extended by
-     * {@code java.util.TreeSet<String>} is
-     * {@code java.util.AbstractSet<String>}.
-     *
-     * @return the class type that is a direct supertype of this one,
-     * or <tt>null</tt> if there is none
-     */
-    ClassType getSuperclass();
-}
--- a/langtools/src/share/classes/com/sun/mirror/type/DeclaredType.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.type;
-
-
-import java.util.Collection;
-
-import com.sun.mirror.declaration.TypeDeclaration;
-
-
-/**
- * Represents a declared type, either a class type or an interface type.
- * This includes parameterized types such as {@code java.util.Set<String>}
- * as well as raw types.
- *
- * <p> While a <tt>TypeDeclaration</tt> represents the <i>declaration</i>
- * of a class or interface, a <tt>DeclaredType</tt> represents a class
- * or interface <i>type</i>, the latter being a use of the former.
- * See {@link TypeDeclaration} for more on this distinction.
- *
- * <p> A <tt>DeclaredType</tt> may represent a type
- * for which details (declaration, supertypes, <i>etc.</i>) are unknown.
- * This may be the result of a processing error, such as a missing class file,
- * and is indicated by {@link #getDeclaration()} returning <tt>null</tt>.
- * Other method invocations on such an unknown type will not, in general,
- * return meaningful results.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is included in {@link
- * javax.lang.model.type.DeclaredType}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface DeclaredType extends ReferenceType {
-
-    /**
-     * Returns the declaration of this type.
-     *
-     * <p> Returns null if this type's declaration is unknown.  This may
-     * be the result of a processing error, such as a missing class file.
-     *
-     * @return the declaration of this type, or null if unknown
-     */
-    TypeDeclaration getDeclaration();
-
-    /**
-     * Returns the type that contains this type as a member.
-     * Returns <tt>null</tt> if this is a top-level type.
-     *
-     * <p> For example, the containing type of {@code O.I<S>}
-     * is the type {@code O}, and the containing type of
-     * {@code O<T>.I<S>} is the type {@code O<T>}.
-     *
-     * @return the type that contains this type,
-     * or <tt>null</tt> if this is a top-level type
-     */
-    DeclaredType getContainingType();
-
-    /**
-     * Returns (in order) the actual type arguments of this type.
-     * For a generic type nested within another generic type
-     * (such as {@code Outer<String>.Inner<Number>}), only the type
-     * arguments of the innermost type are included.
-     *
-     * @return the actual type arguments of this type, or an empty collection
-     * if there are none
-     */
-    Collection<TypeMirror> getActualTypeArguments();
-
-    /**
-     * Returns the interface types that are direct supertypes of this type.
-     * These are the interface types implemented or extended
-     * by this type's declaration, with any type arguments
-     * substituted in.
-     *
-     * <p> For example, the interface type extended by
-     * {@code java.util.Set<String>} is {@code java.util.Collection<String>}.
-     *
-     * @return the interface types that are direct supertypes of this type,
-     * or an empty collection if there are none
-     */
-    Collection<InterfaceType> getSuperinterfaces();
-}
--- a/langtools/src/share/classes/com/sun/mirror/type/EnumType.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.type;
-
-
-import com.sun.mirror.declaration.EnumDeclaration;
-
-
-/**
- * Represents an enum type.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is included in {@link
- * javax.lang.model.type.DeclaredType}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface EnumType extends ClassType {
-
-    /**
-     * {@inheritDoc}
-     */
-    EnumDeclaration getDeclaration();
-}
--- a/langtools/src/share/classes/com/sun/mirror/type/InterfaceType.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.type;
-
-
-import com.sun.mirror.declaration.*;
-
-
-/**
- * Represents an interface type.
- * Note that an {@linkplain AnnotationType annotation type} is
- * a kind of interface.
- *
- * <p> While an {@link InterfaceDeclaration} represents the
- * <i>declaration</i> of an interface, an <tt>InterfaceType</tt>
- * represents an interface <i>type</i>.
- * See {@link TypeDeclaration} for more on this distinction.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is included in {@link
- * javax.lang.model.type.DeclaredType}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface InterfaceType extends DeclaredType {
-
-    /**
-     * {@inheritDoc}
-     */
-    InterfaceDeclaration getDeclaration();
-}
--- a/langtools/src/share/classes/com/sun/mirror/type/MirroredTypeException.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.type;
-
-
-import java.lang.annotation.Annotation;
-
-import com.sun.mirror.declaration.Declaration;
-
-
-/**
- * Thrown when an application attempts to access the {@link Class} object
- * corresponding to a {@link TypeMirror}.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this exception is {@link
- * javax.lang.model.type.MirroredTypeException}.
- *
- * @see MirroredTypesException
- * @see Declaration#getAnnotation(Class)
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public class MirroredTypeException extends RuntimeException {
-
-    private static final long serialVersionUID = 1;
-
-    private transient TypeMirror type;          // cannot be serialized
-    private String name;                        // type's qualified "name"
-
-    /**
-     * Constructs a new MirroredTypeException for the specified type.
-     *
-     * @param type  the type being accessed
-     */
-    public MirroredTypeException(TypeMirror type) {
-        super("Attempt to access Class object for TypeMirror " + type);
-        this.type = type;
-        name = type.toString();
-    }
-
-    /**
-     * Returns the type mirror corresponding to the type being accessed.
-     * The type mirror may be unavailable if this exception has been
-     * serialized and then read back in.
-     *
-     * @return the type mirror, or <tt>null</tt> if unavailable
-     */
-    public TypeMirror getTypeMirror() {
-        return type;
-    }
-
-    /**
-     * Returns the fully qualified name of the type being accessed.
-     * More precisely, returns the canonical name of a class,
-     * interface, array, or primitive, and returns <tt>"void"</tt> for
-     * the pseudo-type representing the type of <tt>void</tt>.
-     *
-     * @return the fully qualified name of the type being accessed
-     */
-    public String getQualifiedName() {
-        return name;
-    }
-}
--- a/langtools/src/share/classes/com/sun/mirror/type/MirroredTypesException.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
- * Copyright (c) 2004, 2005, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.type;
-
-
-import java.lang.annotation.Annotation;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-
-import com.sun.mirror.declaration.Declaration;
-
-
-/**
- * Thrown when an application attempts to access a sequence of {@link Class}
- * objects each corresponding to a {@link TypeMirror}.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this exception is {@link
- * javax.lang.model.type.MirroredTypesException}.
- *
- * @see MirroredTypeException
- * @see Declaration#getAnnotation(Class)
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public class MirroredTypesException extends RuntimeException {
-
-    private static final long serialVersionUID = 1;
-
-    private transient Collection<TypeMirror> types;     // cannot be serialized
-    private Collection<String> names;           // types' qualified "names"
-
-    /**
-     * Constructs a new MirroredTypesException for the specified types.
-     *
-     * @param types  an ordered collection of the types being accessed
-     */
-    public MirroredTypesException(Collection<TypeMirror> types) {
-        super("Attempt to access Class objects for TypeMirrors " + types);
-        this.types = types;
-        names = new ArrayList<String>();
-        for (TypeMirror t : types) {
-            names.add(t.toString());
-        }
-    }
-
-    /**
-     * Returns the type mirrors corresponding to the types being accessed.
-     * The type mirrors may be unavailable if this exception has been
-     * serialized and then read back in.
-     *
-     * @return the type mirrors in order, or <tt>null</tt> if unavailable
-     */
-    public Collection<TypeMirror> getTypeMirrors() {
-        return (types != null)
-                ? Collections.unmodifiableCollection(types)
-                : null;
-    }
-
-    /**
-     * Returns the fully qualified names of the types being accessed.
-     * More precisely, returns the canonical names of each class,
-     * interface, array, or primitive, and <tt>"void"</tt> for
-     * the pseudo-type representing the type of <tt>void</tt>.
-     *
-     * @return the fully qualified names, in order, of the types being
-     *          accessed
-     */
-    public Collection<String> getQualifiedNames() {
-        return Collections.unmodifiableCollection(names);
-    }
-}
--- a/langtools/src/share/classes/com/sun/mirror/type/PrimitiveType.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.type;
-
-
-/**
- * Represents a primitive type.  These include
- * <tt>boolean</tt>, <tt>byte</tt>, <tt>short</tt>, <tt>int</tt>,
- * <tt>long</tt>, <tt>char</tt>, <tt>float</tt>, and <tt>double</tt>.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is {@link
- * javax.lang.model.type.PrimitiveType}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface PrimitiveType extends TypeMirror {
-
-    /**
-     * Returns the kind of primitive type that this object represents.
-     *
-     * @return the kind of primitive type that this object represents
-     */
-    Kind getKind();
-
-    /**
-     * An enumeration of the different kinds of primitive types.
-     *
-     * @deprecated All components of this API have been superseded by
-     * the standardized annotation processing API.  The replacement
-     * for the functionality of this enum is {@link
-     * javax.lang.model.type.TypeKind}.
-     */
-    @Deprecated
-    enum Kind {
-        /** The primitive type <tt>boolean</tt> */      BOOLEAN,
-        /** The primitive type <tt>byte</tt> */         BYTE,
-        /** The primitive type <tt>short</tt> */        SHORT,
-        /** The primitive type <tt>int</tt> */          INT,
-        /** The primitive type <tt>long</tt> */         LONG,
-        /** The primitive type <tt>char</tt> */         CHAR,
-        /** The primitive type <tt>float</tt> */        FLOAT,
-        /** The primitive type <tt>double</tt> */       DOUBLE
-    }
-}
--- a/langtools/src/share/classes/com/sun/mirror/type/ReferenceType.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.type;
-
-
-/**
- * Represents a reference type.
- * These include class and interface types, array types, and type variables.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is {@link
- * javax.lang.model.type.ReferenceType}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface ReferenceType extends TypeMirror {
-}
--- a/langtools/src/share/classes/com/sun/mirror/type/TypeMirror.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.type;
-
-
-import com.sun.mirror.declaration.Declaration;
-import com.sun.mirror.util.Types;
-import com.sun.mirror.util.TypeVisitor;
-
-
-/**
- * Represents a type in the Java programming language.
- * Types include primitive types, class and interface types, array
- * types, and type variables.  Wildcard type arguments, and the
- * pseudo-type representing the type of <tt>void</tt>, are represented
- * by type mirrors as well.
- *
- * <p> Types may be compared using the utility methods in
- * {@link Types}.
- * There is no guarantee that any particular type will
- * always be represented by the same object.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is {@link
- * javax.lang.model.type.TypeMirror}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- *
- * @see Declaration
- * @see Types
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface TypeMirror {
-
-    /**
-     * Returns a string representation of this type.
-     * Any names embedded in the expression are qualified.
-     *
-     * @return a string representation of this type
-     */
-    String toString();
-
-    /**
-     * Tests whether two types represent the same type.
-     *
-     * @param obj the object to be compared with this type
-     * @return <tt>true</tt> if the specified object represents the same
-     *          type as this.
-     */
-    boolean equals(Object obj);
-
-    /**
-     * Applies a visitor to this type.
-     *
-     * @param v the visitor operating on this type
-     */
-    void accept(TypeVisitor v);
-}
--- a/langtools/src/share/classes/com/sun/mirror/type/TypeVariable.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.type;
-
-
-import com.sun.mirror.declaration.*;
-
-
-/**
- * Represents a type variable.
- * A type variable is declared by a
- * {@linkplain TypeParameterDeclaration type parameter} of a
- * type, method, or constructor.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is {@link
- * javax.lang.model.type.TypeVariable}.
- *
- * @author Joe Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface TypeVariable extends ReferenceType {
-
-    /**
-     * Returns the type parameter that declared this type variable.
-     *
-     * @return the type parameter that declared this type variable
-     */
-    TypeParameterDeclaration getDeclaration();
-}
--- a/langtools/src/share/classes/com/sun/mirror/type/VoidType.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.type;
-
-
-import com.sun.mirror.declaration.MethodDeclaration;
-
-
-/**
- * A pseudo-type representing the type of <tt>void</tt>.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is included in {@link
- * javax.lang.model.type.NoType}.
- *
- * @see MethodDeclaration#getReturnType()
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface VoidType extends TypeMirror {
-}
--- a/langtools/src/share/classes/com/sun/mirror/type/WildcardType.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.type;
-
-
-import java.util.Collection;
-
-
-/**
- * Represents a wildcard type argument.
- * Examples include:    <pre><tt>
- *   ?
- *   ? extends Number
- *   ? super T
- * </tt></pre>
- *
- * <p> A wildcard may have its upper bound explicitly set by an
- * <tt>extends</tt> clause, its lower bound explicitly set by a
- * <tt>super</tt> clause, or neither (but not both).
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is {@link
- * javax.lang.model.type.WildcardType}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface WildcardType extends TypeMirror {
-
-    /**
-     * Returns the upper bounds of this wildcard.
-     * If no upper bound is explicitly declared, then
-     * an empty collection is returned.
-     *
-     * @return the upper bounds of this wildcard
-     */
-    Collection<ReferenceType> getUpperBounds();
-
-    /**
-     * Returns the lower bounds of this wildcard.
-     * If no lower bound is explicitly declared, then
-     * an empty collection is returned.
-     *
-     * @return the lower bounds of this wildcard
-     */
-    Collection<ReferenceType> getLowerBounds();
-}
--- a/langtools/src/share/classes/com/sun/mirror/type/package-info.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-/**
- * Interfaces used to model types.  A type is represented by the
- * appropriate subinterface of {@link com.sun.mirror.type.TypeMirror}.
- *
- * <p>The {@code apt} tool and its associated API have been
- * superseded by the standardized annotation processing API.  The
- * replacement for the functionality in this package is {@link
- * javax.lang.model.type}.
- *
- * @since 1.5
- */
-package com.sun.mirror.type;
--- a/langtools/src/share/classes/com/sun/mirror/util/DeclarationFilter.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,319 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.util;
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import com.sun.mirror.declaration.Declaration;
-import com.sun.mirror.declaration.Modifier;
-
-import static com.sun.mirror.declaration.Modifier.*;
-
-
-/**
- * A filter for selecting just the items of interest
- * from a collection of declarations.
- * The filter is said to <i>select</i> or to <i>match</i> those declarations.
- * Filters can be created in several ways:
- * by the static methods described below,
- * by negating or composing existing filters,
- * or by subclasses that implement arbitrary matching rules.
- *
- * <p> A subclass can create an arbitrary filter simply by implementing
- * the {@link #matches(Declaration)} method.
- *
- * <p> Examples.
- * <p> Selecting the <tt>public</tt> declarations from a collection:
- * <blockquote><pre>
- *     result = FILTER_PUBLIC.filter(decls);            </pre></blockquote>
- * Selecting class declarations (including enums):
- * <blockquote><pre>
- *     classFilter = DeclarationFilter.getFilter(ClassDeclaration.class);
- *     result = classFilter.filter(decls);              </pre></blockquote>
- * Selecting class declarations but excluding enums:
- * <blockquote><pre>
- *     enumFilter = DeclarationFilter.getFilter(EnumDeclaration.class);
- *     compoundFilter = classFilter.and(enumFilter.not());
- *     result = compoundFilter.filter(decls);           </pre></blockquote>
- * Selecting declarations named "Bob":
- * <blockquote><pre>
- *     nameFilter = new DeclarationFilter() {
- *                      public boolean matches(Declaration d) {
- *                          return d.getSimpleName().equals("Bob");
- *                      }
- *                  };
- *     result = nameFilter.filter(decls);               </pre></blockquote>
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this class is {@link
- * javax.lang.model.util.ElementFilter}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public class DeclarationFilter {
-
-    // Predefined filters for convenience.
-
-    /**
-     * A filter that selects only <tt>public</tt> declarations.
-     */
-    public static final DeclarationFilter FILTER_PUBLIC =
-            new AccessFilter(PUBLIC);
-
-    /**
-     * A filter that selects only <tt>protected</tt> declarations.
-     */
-    public static final DeclarationFilter FILTER_PROTECTED =
-            new AccessFilter(PROTECTED);
-
-    /**
-     * A filter that selects only <tt>public</tt> or <tt>protected</tt>
-     * declarations.
-     */
-    public static final DeclarationFilter FILTER_PUBLIC_OR_PROTECTED =
-            new AccessFilter(PUBLIC, PROTECTED);
-
-    /**
-     * A filter that selects only package-private (<i>default</i>)
-     * declarations.
-     */
-    public static final DeclarationFilter FILTER_PACKAGE =
-            new AccessFilter();
-
-    /**
-     * A filter that selects only <tt>private</tt> declarations.
-     */
-    public static final DeclarationFilter FILTER_PRIVATE =
-            new AccessFilter(PRIVATE);
-
-
-    /**
-     * Constructs an identity filter:  one that selects all declarations.
-     */
-    public DeclarationFilter() {
-    }
-
-
-
-    // Methods to create a filter.
-
-    /**
-     * Returns a filter that selects declarations containing all of a
-     * collection of modifiers.
-     *
-     * @param mods  the modifiers to match (non-null)
-     * @return a filter that matches declarations containing <tt>mods</tt>
-     */
-    public static DeclarationFilter getFilter(
-                                             final Collection<Modifier> mods) {
-        return new DeclarationFilter() {
-            public boolean matches(Declaration d) {
-                return d.getModifiers().containsAll(mods);
-            }
-        };
-    }
-
-    /**
-     * Returns a filter that selects declarations of a particular kind.
-     * For example, there may be a filter that selects only class
-     * declarations, or only fields.
-     * The filter will select declarations of the specified kind,
-     * and also any subtypes of that kind; for example, a field filter
-     * will also select enum constants.
-     *
-     * @param kind  the kind of declarations to select
-     * @return a filter that selects declarations of a particular kind
-     */
-    public static DeclarationFilter getFilter(
-                                     final Class<? extends Declaration> kind) {
-        return new DeclarationFilter() {
-            public boolean matches(Declaration d) {
-                return kind.isInstance(d);
-            }
-        };
-    }
-
-    /**
-     * Returns a filter that selects those declarations selected
-     * by both this filter and another.
-     *
-     * @param f  filter to be composed with this one
-     * @return a filter that selects those declarations selected by
-     *          both this filter and another
-     */
-    public DeclarationFilter and(DeclarationFilter f) {
-        final DeclarationFilter f1 = this;
-        final DeclarationFilter f2 = f;
-        return new DeclarationFilter() {
-            public boolean matches(Declaration d) {
-                return f1.matches(d) && f2.matches(d);
-            }
-        };
-    }
-
-    /**
-     * Returns a filter that selects those declarations selected
-     * by either this filter or another.
-     *
-     * @param f  filter to be composed with this one
-     * @return a filter that selects those declarations selected by
-     *          either this filter or another
-     */
-    public DeclarationFilter or(DeclarationFilter f) {
-        final DeclarationFilter f1 = this;
-        final DeclarationFilter f2 = f;
-        return new DeclarationFilter() {
-            public boolean matches(Declaration d) {
-                return f1.matches(d) || f2.matches(d);
-            }
-        };
-    }
-
-    /**
-     * Returns a filter that selects those declarations not selected
-     * by this filter.
-     *
-     * @return a filter that selects those declarations not selected
-     * by this filter
-     */
-    public DeclarationFilter not() {
-        return new DeclarationFilter() {
-            public boolean matches(Declaration d) {
-                return !DeclarationFilter.this.matches(d);
-            }
-        };
-    }
-
-
-
-    // Methods to apply a filter.
-
-    /**
-     * Tests whether this filter matches a given declaration.
-     * The default implementation always returns <tt>true</tt>;
-     * subclasses should override this.
-     *
-     * @param decl  the declaration to match
-     * @return <tt>true</tt> if this filter matches the given declaration
-     */
-    public boolean matches(Declaration decl) {
-        return true;
-    }
-
-    /**
-     * Returns the declarations matched by this filter.
-     * The result is a collection of the same type as the argument;
-     * the {@linkplain #filter(Collection, Class) two-parameter version}
-     * of <tt>filter</tt> offers control over the result type.
-     *
-     * @param <D>    type of the declarations being filtered
-     * @param decls  declarations being filtered
-     * @return the declarations matched by this filter
-     */
-    public <D extends Declaration> Collection<D> filter(Collection<D> decls) {
-        ArrayList<D> res = new ArrayList<D>(decls.size());
-        for (D d : decls) {
-            if (matches(d)) {
-                res.add(d);
-            }
-        }
-        return res;
-    }
-
-    /**
-     * Returns the declarations matched by this filter, with the result
-     * being restricted to declarations of a given kind.
-     * Similar to the simpler
-     * {@linkplain #filter(Collection) single-parameter version}
-     * of <tt>filter</tt>, but the result type is specified explicitly.
-     *
-     * @param <D>      type of the declarations being returned
-     * @param decls    declarations being filtered
-     * @param resType  type of the declarations being returned --
-     *                  the reflective view of <tt>D</tt>
-     * @return the declarations matched by this filter, restricted to those
-     *                  of the specified type
-     */
-    public <D extends Declaration> Collection<D>
-            filter(Collection<? extends Declaration> decls, Class<D> resType) {
-        ArrayList<D> res = new ArrayList<D>(decls.size());
-        for (Declaration d : decls) {
-            if (resType.isInstance(d) && matches(d)) {
-                res.add(resType.cast(d));
-            }
-        }
-        return res;
-    }
-
-
-
-    /*
-     * A filter based on access modifiers.
-     */
-    private static class AccessFilter extends DeclarationFilter {
-
-        // The first access modifier to filter on, or null if we're looking
-        // for declarations with no access modifiers.
-        private Modifier mod1 = null;
-
-        // The second access modifier to filter on, or null if none.
-        private Modifier mod2 = null;
-
-        // Returns a filter that matches declarations with no access
-        // modifiers.
-        AccessFilter() {
-        }
-
-        // Returns a filter that matches m.
-        AccessFilter(Modifier m) {
-            mod1 = m;
-        }
-
-        // Returns a filter that matches either m1 or m2.
-        AccessFilter(Modifier m1, Modifier m2) {
-            mod1 = m1;
-            mod2 = m2;
-        }
-
-        public boolean matches(Declaration d) {
-            Collection<Modifier> mods = d.getModifiers();
-            if (mod1 == null) { // looking for package private
-                return !(mods.contains(PUBLIC) ||
-                         mods.contains(PROTECTED) ||
-                         mods.contains(PRIVATE));
-            }
-            return mods.contains(mod1) &&
-                   (mod2 == null || mods.contains(mod2));
-        }
-    }
-}
--- a/langtools/src/share/classes/com/sun/mirror/util/DeclarationScanner.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,267 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.util;
-
-import com.sun.mirror.declaration.*;
-
-/**
- * A visitor for declarations that scans declarations contained within
- * the given declaration.  For example, when visiting a class, the
- * methods, fields, constructors, and nested types of the class are
- * also visited.
- *
- * <p> To control the processing done on a declaration, users of this
- * class pass in their own visitors for pre and post processing.  The
- * preprocessing visitor is called before the contained declarations
- * are scanned; the postprocessing visitor is called after the
- * contained declarations are scanned.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this class is {@link
- * javax.lang.model.util.ElementScanner6}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-class DeclarationScanner implements DeclarationVisitor {
-    protected DeclarationVisitor pre;
-    protected DeclarationVisitor post;
-
-    DeclarationScanner(DeclarationVisitor pre, DeclarationVisitor post) {
-        this.pre = pre;
-        this.post = post;
-    }
-
-    /**
-     * Visits a declaration.
-     *
-     * @param d the declaration to visit
-     */
-    public void visitDeclaration(Declaration d) {
-        d.accept(pre);
-        d.accept(post);
-    }
-
-    /**
-     * Visits a package declaration.
-     *
-     * @param d the declaration to visit
-     */
-    public void visitPackageDeclaration(PackageDeclaration d) {
-        d.accept(pre);
-
-        for(ClassDeclaration classDecl: d.getClasses()) {
-            classDecl.accept(this);
-        }
-
-        for(InterfaceDeclaration interfaceDecl: d.getInterfaces()) {
-            interfaceDecl.accept(this);
-        }
-
-        d.accept(post);
-    }
-
-    /**
-     * Visits a member or constructor declaration.
-     *
-     * @param d the declaration to visit
-     */
-    public void visitMemberDeclaration(MemberDeclaration d) {
-        visitDeclaration(d);
-    }
-
-    /**
-     * Visits a type declaration.
-     *
-     * @param d the declaration to visit
-     */
-    public void visitTypeDeclaration(TypeDeclaration d) {
-        d.accept(pre);
-
-        for(TypeParameterDeclaration tpDecl: d.getFormalTypeParameters()) {
-            tpDecl.accept(this);
-        }
-
-        for(FieldDeclaration fieldDecl: d.getFields()) {
-            fieldDecl.accept(this);
-        }
-
-        for(MethodDeclaration methodDecl: d.getMethods()) {
-            methodDecl.accept(this);
-        }
-
-        for(TypeDeclaration typeDecl: d.getNestedTypes()) {
-            typeDecl.accept(this);
-        }
-
-        d.accept(post);
-    }
-
-    /**
-     * Visits a class declaration.
-     *
-     * @param d the declaration to visit
-     */
-    public void visitClassDeclaration(ClassDeclaration d) {
-        d.accept(pre);
-
-        for(TypeParameterDeclaration tpDecl: d.getFormalTypeParameters()) {
-            tpDecl.accept(this);
-        }
-
-        for(FieldDeclaration fieldDecl: d.getFields()) {
-            fieldDecl.accept(this);
-        }
-
-        for(MethodDeclaration methodDecl: d.getMethods()) {
-            methodDecl.accept(this);
-        }
-
-        for(TypeDeclaration typeDecl: d.getNestedTypes()) {
-            typeDecl.accept(this);
-        }
-
-        for(ConstructorDeclaration ctorDecl: d.getConstructors()) {
-            ctorDecl.accept(this);
-        }
-
-        d.accept(post);
-    }
-
-    /**
-     * Visits an enum declaration.
-     *
-     * @param d the declaration to visit
-     */
-    public void visitEnumDeclaration(EnumDeclaration d) {
-        visitClassDeclaration(d);
-    }
-
-    /**
-     * Visits an interface declaration.
-     *
-     * @param d the declaration to visit
-     */
-    public void visitInterfaceDeclaration(InterfaceDeclaration d) {
-        visitTypeDeclaration(d);
-    }
-
-    /**
-     * Visits an annotation type declaration.
-     *
-     * @param d the declaration to visit
-     */
-    public void visitAnnotationTypeDeclaration(AnnotationTypeDeclaration d) {
-        visitInterfaceDeclaration(d);
-    }
-
-    /**
-     * Visits a field declaration.
-     *
-     * @param d the declaration to visit
-     */
-    public void visitFieldDeclaration(FieldDeclaration d) {
-        visitMemberDeclaration(d);
-    }
-
-    /**
-     * Visits an enum constant declaration.
-     *
-     * @param d the declaration to visit
-     */
-    public void visitEnumConstantDeclaration(EnumConstantDeclaration d) {
-        visitFieldDeclaration(d);
-    }
-
-    /**
-     * Visits a method or constructor declaration.
-     *
-     * @param d the declaration to visit
-     */
-    public void visitExecutableDeclaration(ExecutableDeclaration d) {
-        d.accept(pre);
-
-        for(TypeParameterDeclaration tpDecl: d.getFormalTypeParameters()) {
-            tpDecl.accept(this);
-        }
-
-        for(ParameterDeclaration pDecl: d.getParameters()) {
-            pDecl.accept(this);
-        }
-
-        d.accept(post);
-    }
-
-    /**
-     * Visits a constructor declaration.
-     *
-     * @param d the declaration to visit
-     */
-    public void visitConstructorDeclaration(ConstructorDeclaration d) {
-        visitExecutableDeclaration(d);
-    }
-
-    /**
-     * Visits a method declaration.
-     *
-     * @param d the declaration to visit
-     */
-    public void visitMethodDeclaration(MethodDeclaration d) {
-        visitExecutableDeclaration(d);
-    }
-
-    /**
-     * Visits an annotation type element declaration.
-     *
-     * @param d the declaration to visit
-     */
-    public void visitAnnotationTypeElementDeclaration(
-            AnnotationTypeElementDeclaration d) {
-        visitMethodDeclaration(d);
-    }
-
-    /**
-     * Visits a parameter declaration.
-     *
-     * @param d the declaration to visit
-     */
-    public void visitParameterDeclaration(ParameterDeclaration d) {
-        visitDeclaration(d);
-    }
-
-    /**
-     * Visits a type parameter declaration.
-     *
-     * @param d the declaration to visit
-     */
-    public void visitTypeParameterDeclaration(TypeParameterDeclaration d) {
-        visitDeclaration(d);
-    }
-}
--- a/langtools/src/share/classes/com/sun/mirror/util/DeclarationVisitor.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.util;
-
-import com.sun.mirror.declaration.*;
-
-
-/**
- * A visitor for declarations, in the style of the standard visitor
- * design pattern.  Classes implementing this interface are used to
- * operate on a declaration when the kind of declaration is unknown at
- * compile time.  When a visitor is passed to a declaration's {@link
- * Declaration#accept accept} method, the most specific
- * <tt>visit<i>Xxx</i></tt> method applicable to that declaration is
- * invoked.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is {@link
- * javax.lang.model.element.ElementVisitor}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface DeclarationVisitor {
-
-    /**
-     * Visits a declaration.
-     * @param d the declaration to visit
-     */
-    public void visitDeclaration(Declaration d);
-
-    /**
-     * Visits a package declaration.
-     * @param d the declaration to visit
-     */
-    public void visitPackageDeclaration(PackageDeclaration d);
-
-    /**
-     * Visits a member or constructor declaration.
-     * @param d the declaration to visit
-     */
-    public void visitMemberDeclaration(MemberDeclaration d);
-
-    /**
-     * Visits a type declaration.
-     * @param d the declaration to visit
-     */
-    public void visitTypeDeclaration(TypeDeclaration d);
-
-    /**
-     * Visits a class declaration.
-     * @param d the declaration to visit
-     */
-    public void visitClassDeclaration(ClassDeclaration d);
-
-    /**
-     * Visits an enum declaration.
-     * @param d the declaration to visit
-     */
-    public void visitEnumDeclaration(EnumDeclaration d);
-
-    /**
-     * Visits an interface declaration.
-     * @param d the declaration to visit
-     */
-    public void visitInterfaceDeclaration(InterfaceDeclaration d);
-
-    /**
-     * Visits an annotation type declaration.
-     * @param d the declaration to visit
-     */
-    public void visitAnnotationTypeDeclaration(AnnotationTypeDeclaration d);
-
-    /**
-     * Visits a field declaration.
-     * @param d the declaration to visit
-     */
-    public void visitFieldDeclaration(FieldDeclaration d);
-
-    /**
-     * Visits an enum constant declaration.
-     * @param d the declaration to visit
-     */
-    public void visitEnumConstantDeclaration(EnumConstantDeclaration d);
-
-    /**
-     * Visits a method or constructor declaration.
-     * @param d the declaration to visit
-     */
-    public void visitExecutableDeclaration(ExecutableDeclaration d);
-
-    /**
-     * Visits a constructor declaration.
-     * @param d the declaration to visit
-     */
-    public void visitConstructorDeclaration(ConstructorDeclaration d);
-
-    /**
-     * Visits a method declaration.
-     * @param d the declaration to visit
-     */
-    public void visitMethodDeclaration(MethodDeclaration d);
-
-    /**
-     * Visits an annotation type element declaration.
-     * @param d the declaration to visit
-     */
-    public void visitAnnotationTypeElementDeclaration(
-                                     AnnotationTypeElementDeclaration d);
-
-    /**
-     * Visits a parameter declaration.
-     * @param d the declaration to visit
-     */
-    public void visitParameterDeclaration(ParameterDeclaration d);
-
-    /**
-     * Visits a type parameter declaration.
-     * @param d the declaration to visit
-     */
-    public void visitTypeParameterDeclaration(TypeParameterDeclaration d);
-}
--- a/langtools/src/share/classes/com/sun/mirror/util/DeclarationVisitors.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.util;
-
-/**
- * Utilities to create specialized <tt>DeclarationVisitor</tt> instances.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  There is no direct
- * replacement for the functionality of this class in the standardized
- * API due to that API's different visitor structure.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public class DeclarationVisitors {
-    private DeclarationVisitors(){} // do not instantiate.
-
-    /**
-     * A visitor that has no side effects and keeps no state.
-     */
-    public static final DeclarationVisitor NO_OP = new SimpleDeclarationVisitor();
-
-    /**
-     * Return a <tt>DeclarationVisitor</tt> that will scan the
-     * declaration structure, visiting declarations contained in
-     * another declaration.  For example, when visiting a class, the
-     * fields, methods, constructors, etc. of the class are also
-     * visited.  The order in which the contained declarations are scanned is
-     * not specified.
-     *
-     * <p>The <tt>pre</tt> and <tt>post</tt>
-     * <tt>DeclarationVisitor</tt> parameters specify,
-     * respectively, the processing the scanner will do before or
-     * after visiting the contained declarations.  If only one of pre
-     * and post processing is needed, use {@link
-     * DeclarationVisitors#NO_OP DeclarationVisitors.NO_OP} for the
-     * other parameter.
-     *
-     * @param pre visitor representing processing to do before
-     * visiting contained declarations.
-     *
-     * @param post visitor representing processing to do after
-     * visiting contained declarations.
-     */
-    public static DeclarationVisitor getDeclarationScanner(DeclarationVisitor pre,
-                                                           DeclarationVisitor post) {
-        return new DeclarationScanner(pre, post);
-    }
-
-    /**
-     * Return a <tt>DeclarationVisitor</tt> that will scan the
-     * declaration structure, visiting declarations contained in
-     * another declaration in source code order.  For example, when
-     * visiting a class, the fields, methods, constructors, etc. of
-     * the class are also visited.  The order in which the contained
-     * declarations are visited is as close to source code order as
-     * possible; declaration mirrors created from class files instead
-     * of source code will not have source position information.
-     *
-     * <p>The <tt>pre</tt> and <tt>post</tt>
-     * <tt>DeclarationVisitor</tt> parameters specify,
-     * respectively, the processing the scanner will do before or
-     * after visiting the contained declarations.  If only one of pre
-     * and post processing is needed, use {@link
-     * DeclarationVisitors#NO_OP DeclarationVisitors.NO_OP} for the other parameter.
-     *
-     * @param pre visitor representing processing to do before
-     * visiting contained declarations.
-     *
-     * @param post visitor representing processing to do after
-     * visiting contained declarations.
-     */
-    public static DeclarationVisitor getSourceOrderDeclarationScanner(DeclarationVisitor pre,
-                                                                      DeclarationVisitor post) {
-        return new SourceOrderDeclScanner(pre, post);
-    }
-}
--- a/langtools/src/share/classes/com/sun/mirror/util/Declarations.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.util;
-
-
-import com.sun.mirror.declaration.*;
-
-
-/**
- * Utility methods for operating on declarations.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is {@link
- * javax.lang.model.util.Elements}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface Declarations {
-
-    /**
-     * Tests whether one type, method, or field declaration hides another.
-     *
-     * @param sub the first member
-     * @param sup the second member
-     * @return <tt>true</tt> if and only if the first member hides
-     *          the second
-     */
-    boolean hides(MemberDeclaration sub, MemberDeclaration sup);
-
-    /**
-     * Tests whether one method overrides another.  When a
-     * non-abstract method overrides an abstract one, the
-     * former is also said to <i>implement</i> the latter.
-     *
-     * @param sub the first method
-     * @param sup the second method
-     * @return <tt>true</tt> if and only if the first method overrides
-     *          the second
-     */
-    boolean overrides(MethodDeclaration sub, MethodDeclaration sup);
-}
--- a/langtools/src/share/classes/com/sun/mirror/util/SimpleDeclarationVisitor.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,216 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.util;
-
-
-import com.sun.mirror.declaration.*;
-
-
-/**
- * A simple visitor for declarations.
- *
- * <p> The implementations of the methods of this class do nothing but
- * delegate up the declaration hierarchy.  A subclass should override the
- * methods that correspond to the kinds of declarations on which it
- * will operate.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this class is {@link
- * javax.lang.model.util.SimpleElementVisitor6}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public class SimpleDeclarationVisitor implements DeclarationVisitor {
-
-    /**
-     * Creates a new <tt>SimpleDeclarationVisitor</tt>.
-     */
-    public SimpleDeclarationVisitor(){}
-
-    /**
-     * Visits a declaration.
-     * The implementation does nothing.
-     * @param d the declaration to visit
-     */
-    public void visitDeclaration(Declaration d) {
-    }
-
-    /**
-     * Visits a package declaration.
-     * The implementation simply invokes
-     * {@link #visitDeclaration visitDeclaration}.
-     * @param d the declaration to visit
-     */
-    public void visitPackageDeclaration(PackageDeclaration d) {
-        visitDeclaration(d);
-    }
-
-    /**
-     * Visits a member or constructor declaration.
-     * The implementation simply invokes
-     * {@link #visitDeclaration visitDeclaration}.
-     * @param d the declaration to visit
-     */
-    public void visitMemberDeclaration(MemberDeclaration d) {
-        visitDeclaration(d);
-    }
-
-    /**
-     * Visits a type declaration.
-     * The implementation simply invokes
-     * {@link #visitMemberDeclaration visitMemberDeclaration}.
-     * @param d the declaration to visit
-     */
-    public void visitTypeDeclaration(TypeDeclaration d) {
-        visitMemberDeclaration(d);
-    }
-
-    /**
-     * Visits a class declaration.
-     * The implementation simply invokes
-     * {@link #visitTypeDeclaration visitTypeDeclaration}.
-     * @param d the declaration to visit
-     */
-    public void visitClassDeclaration(ClassDeclaration d) {
-        visitTypeDeclaration(d);
-    }
-
-    /**
-     * Visits an enum declaration.
-     * The implementation simply invokes
-     * {@link #visitClassDeclaration visitClassDeclaration}.
-     * @param d the declaration to visit
-     */
-    public void visitEnumDeclaration(EnumDeclaration d) {
-        visitClassDeclaration(d);
-    }
-
-    /**
-     * Visits an interface declaration.
-     * The implementation simply invokes
-     * {@link #visitTypeDeclaration visitTypeDeclaration}.
-     * @param d the declaration to visit
-     */
-    public void visitInterfaceDeclaration(InterfaceDeclaration d) {
-        visitTypeDeclaration(d);
-    }
-
-    /**
-     * Visits an annotation type declaration.
-     * The implementation simply invokes
-     * {@link #visitInterfaceDeclaration visitInterfaceDeclaration}.
-     * @param d the declaration to visit
-     */
-    public void visitAnnotationTypeDeclaration(AnnotationTypeDeclaration d) {
-        visitInterfaceDeclaration(d);
-    }
-
-    /**
-     * Visits a field declaration.
-     * The implementation simply invokes
-     * {@link #visitMemberDeclaration visitMemberDeclaration}.
-     * @param d the declaration to visit
-     */
-    public void visitFieldDeclaration(FieldDeclaration d) {
-        visitMemberDeclaration(d);
-    }
-
-    /**
-     * Visits an enum constant declaration.
-     * The implementation simply invokes
-     * {@link #visitFieldDeclaration visitFieldDeclaration}.
-     * @param d the declaration to visit
-     */
-    public void visitEnumConstantDeclaration(EnumConstantDeclaration d) {
-        visitFieldDeclaration(d);
-    }
-
-    /**
-     * Visits a method or constructor declaration.
-     * The implementation simply invokes
-     * {@link #visitMemberDeclaration visitMemberDeclaration}.
-     * @param d the declaration to visit
-     */
-    public void visitExecutableDeclaration(ExecutableDeclaration d) {
-        visitMemberDeclaration(d);
-    }
-
-    /**
-     * Visits a constructor declaration.
-     * The implementation simply invokes
-     * {@link #visitExecutableDeclaration visitExecutableDeclaration}.
-     * @param d the declaration to visit
-     */
-    public void visitConstructorDeclaration(ConstructorDeclaration d) {
-        visitExecutableDeclaration(d);
-    }
-
-    /**
-     * Visits a method declaration.
-     * The implementation simply invokes
-     * {@link #visitExecutableDeclaration visitExecutableDeclaration}.
-     * @param d the declaration to visit
-     */
-    public void visitMethodDeclaration(MethodDeclaration d) {
-        visitExecutableDeclaration(d);
-    }
-
-    /**
-     * Visits an annotation type element declaration.
-     * The implementation simply invokes
-     * {@link #visitMethodDeclaration visitMethodDeclaration}.
-     * @param d the declaration to visit
-     */
-    public void visitAnnotationTypeElementDeclaration(
-            AnnotationTypeElementDeclaration d) {
-        visitMethodDeclaration(d);
-    }
-
-    /**
-     * Visits a parameter declaration.
-     * The implementation simply invokes
-     * {@link #visitDeclaration visitDeclaration}.
-     * @param d the declaration to visit
-     */
-    public void visitParameterDeclaration(ParameterDeclaration d) {
-        visitDeclaration(d);
-    }
-
-    /**
-     * Visits a type parameter declaration.
-     * The implementation simply invokes
-     * {@link #visitDeclaration visitDeclaration}.
-     * @param d the declaration to visit
-     */
-    public void visitTypeParameterDeclaration(TypeParameterDeclaration d) {
-        visitDeclaration(d);
-    }
-}
--- a/langtools/src/share/classes/com/sun/mirror/util/SimpleTypeVisitor.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,175 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.util;
-
-
-import com.sun.mirror.type.*;
-
-
-/**
- * A simple visitor for types.
- *
- * <p> The implementations of the methods of this class do nothing but
- * delegate up the type hierarchy.  A subclass should override the
- * methods that correspond to the kinds of types on which it will
- * operate.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this class is {@link
- * javax.lang.model.util.SimpleTypeVisitor6}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public class SimpleTypeVisitor implements TypeVisitor {
-
-    /**
-     * Creates a new <tt>SimpleTypeVisitor</tt>.
-     */
-    public SimpleTypeVisitor() {}
-
-    /**
-     * Visits a type mirror.
-     * The implementation does nothing.
-     * @param t the type to visit
-     */
-    public void visitTypeMirror(TypeMirror t) {
-    }
-
-    /**
-     * Visits a primitive type.
-     * The implementation simply invokes
-     * {@link #visitTypeMirror visitTypeMirror}.
-     * @param t the type to visit
-     */
-    public void visitPrimitiveType(PrimitiveType t) {
-        visitTypeMirror(t);
-    }
-
-    /**
-     * Visits a void type.
-     * The implementation simply invokes
-     * {@link #visitTypeMirror visitTypeMirror}.
-     * @param t the type to visit
-     */
-    public void visitVoidType(VoidType t) {
-        visitTypeMirror(t);
-    }
-
-    /**
-     * Visits a reference type.
-     * The implementation simply invokes
-     * {@link #visitTypeMirror visitTypeMirror}.
-     * @param t the type to visit
-     */
-    public void visitReferenceType(ReferenceType t) {
-        visitTypeMirror(t);
-    }
-
-    /**
-     * Visits a declared type.
-     * The implementation simply invokes
-     * {@link #visitReferenceType visitReferenceType}.
-     * @param t the type to visit
-     */
-    public void visitDeclaredType(DeclaredType t) {
-        visitReferenceType(t);
-    }
-
-    /**
-     * Visits a class type.
-     * The implementation simply invokes
-     * {@link #visitDeclaredType visitDeclaredType}.
-     * @param t the type to visit
-     */
-    public void visitClassType(ClassType t) {
-        visitDeclaredType(t);
-    }
-
-    /**
-     * Visits an enum type.
-     * The implementation simply invokes
-     * {@link #visitClassType visitClassType}.
-     * @param t the type to visit
-     */
-    public void visitEnumType(EnumType t) {
-        visitClassType(t);
-    }
-
-    /**
-     * Visits an interface type.
-     * The implementation simply invokes
-     * {@link #visitDeclaredType visitDeclaredType}.
-     * @param t the type to visit
-     */
-    public void visitInterfaceType(InterfaceType t) {
-        visitDeclaredType(t);
-    }
-
-    /**
-     * Visits an annotation type.
-     * The implementation simply invokes
-     * {@link #visitInterfaceType visitInterfaceType}.
-     * @param t the type to visit
-     */
-    public void visitAnnotationType(AnnotationType t) {
-        visitInterfaceType(t);
-    }
-
-    /**
-     * Visits an array type.
-     * The implementation simply invokes
-     * {@link #visitReferenceType visitReferenceType}.
-     * @param t the type to visit
-     */
-    public void visitArrayType(ArrayType t) {
-        visitReferenceType(t);
-    }
-
-    /**
-     * Visits a type variable.
-     * The implementation simply invokes
-     * {@link #visitReferenceType visitReferenceType}.
-     * @param t the type to visit
-     */
-    public void visitTypeVariable(TypeVariable t) {
-        visitReferenceType(t);
-    }
-
-    /**
-     * Visits a wildcard.
-     * The implementation simply invokes
-     * {@link #visitTypeMirror visitTypeMirror}.
-     * @param t the type to visit
-     */
-    public void visitWildcardType(WildcardType t) {
-        visitTypeMirror(t);
-    }
-}
--- a/langtools/src/share/classes/com/sun/mirror/util/SourceOrderDeclScanner.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,258 +0,0 @@
-/*
- * Copyright (c) 2004, 2010, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.util;
-
-import com.sun.mirror.declaration.*;
-
-import java.util.SortedSet;
-import java.util.TreeSet;
-
-/**
- * A visitor for declarations that scans declarations contained within
- * the given declaration in source code order.  For example, when
- * visiting a class, the methods, fields, constructors, and nested
- * types of the class are also visited.
- *
- * To control the processing done on a declaration, users of this
- * class pass in their own visitors for pre and post processing.  The
- * preprocessing visitor is called before the contained declarations
- * are scanned; the postprocessing visitor is called after the
- * contained declarations are scanned.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this class is {@link
- * javax.lang.model.util.SimpleElementVisitor6}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-class SourceOrderDeclScanner extends DeclarationScanner {
-    static class SourceOrderComparator implements java.util.Comparator<Declaration> {
-        SourceOrderComparator(){}
-
-
-        static boolean equals(Declaration d1, Declaration d2) {
-            return d1 == d2 || (d1 != null && d1.equals(d2));
-        }
-
-        private static class DeclPartialOrder extends com.sun.mirror.util.SimpleDeclarationVisitor {
-            private int value = 1000;
-            private static int staticAdjust(Declaration d) {
-                return d.getModifiers().contains(Modifier.STATIC)?0:1;
-            }
-
-            DeclPartialOrder() {}
-
-            public int getValue() { return value; }
-
-            @Override
-            public void visitTypeParameterDeclaration(TypeParameterDeclaration d) {value = 0;}
-
-            @Override
-            public void visitEnumConstantDeclaration(EnumConstantDeclaration d) {value = 1;}
-
-            @Override
-            public void visitClassDeclaration(ClassDeclaration d) {value = 2 + staticAdjust(d);}
-
-            @Override
-            public void visitInterfaceDeclaration(InterfaceDeclaration d) {value = 4;}
-
-            @Override
-            public void visitEnumDeclaration(EnumDeclaration d) {value = 6;}
-
-            @Override
-            public void visitAnnotationTypeDeclaration(AnnotationTypeDeclaration d) {value = 8;}
-
-            @Override
-            public void visitFieldDeclaration(FieldDeclaration d) {value = 10 + staticAdjust(d);}
-
-            @Override
-            public void visitConstructorDeclaration(ConstructorDeclaration d) {value = 12;}
-
-            @Override
-            public void visitMethodDeclaration(MethodDeclaration d) {value = 14 + staticAdjust(d);}
-        }
-        @SuppressWarnings("cast")
-        private int compareEqualPosition(Declaration d1, Declaration d2) {
-            assert
-                (d1.getPosition() == d2.getPosition()) || // Handles two null positions.
-                (d1.getPosition().file().compareTo(d2.getPosition().file()) == 0 &&
-                 d1.getPosition().line()   == d2.getPosition().line() &&
-                 d1.getPosition().column() == d2.getPosition().column());
-
-            DeclPartialOrder dpo1 = new DeclPartialOrder();
-            DeclPartialOrder dpo2 = new DeclPartialOrder();
-
-            d1.accept(dpo1);
-            d2.accept(dpo2);
-
-            int difference = dpo1.getValue() - dpo2.getValue();
-            if (difference != 0)
-                return difference;
-            else {
-                int result = d1.getSimpleName().compareTo(d2.getSimpleName());
-                if (result != 0)
-                    return result;
-                return (int)( Long.signum((long)System.identityHashCode(d1) -
-                                          (long)System.identityHashCode(d2)));
-            }
-        }
-
-        public int compare(Declaration d1, Declaration d2) {
-            if (equals(d1, d2))
-                return 0;
-
-            SourcePosition p1 = d1.getPosition();
-            SourcePosition p2 = d2.getPosition();
-
-            if (p1 == null && p2 != null)
-                return 1;
-            else if (p1 != null && p2 == null)
-                return -1;
-            else if(p1 == null && p2 == null)
-                return compareEqualPosition(d1, d2);
-            else {
-                assert p1 != null && p2 != null;
-                int fileComp = p1.file().compareTo(p2.file()) ;
-                if (fileComp == 0) {
-                    long diff = (long)p1.line() - (long)p2.line();
-                    if (diff == 0) {
-                        diff = Long.signum((long)p1.column() - (long)p2.column());
-                        if (diff != 0)
-                            return (int)diff;
-                        else {
-                            // declarations may be two
-                            // compiler-generated members with the
-                            // same source position
-                            return compareEqualPosition(d1, d2);
-                        }
-                    } else
-                        return (diff<0)? -1:1;
-                } else
-                    return fileComp;
-            }
-        }
-    }
-
-    final static java.util.Comparator<Declaration> comparator = new SourceOrderComparator();
-
-    SourceOrderDeclScanner(DeclarationVisitor pre, DeclarationVisitor post) {
-        super(pre, post);
-    }
-
-    /**
-     * Visits a type declaration.
-     *
-     * @param d the declaration to visit
-     */
-    public void visitTypeDeclaration(TypeDeclaration d) {
-        d.accept(pre);
-
-        SortedSet<Declaration> decls = new
-            TreeSet<Declaration>(SourceOrderDeclScanner.comparator) ;
-
-        for(TypeParameterDeclaration tpDecl: d.getFormalTypeParameters()) {
-            decls.add(tpDecl);
-        }
-
-        for(FieldDeclaration fieldDecl: d.getFields()) {
-            decls.add(fieldDecl);
-        }
-
-        for(MethodDeclaration methodDecl: d.getMethods()) {
-            decls.add(methodDecl);
-        }
-
-        for(TypeDeclaration typeDecl: d.getNestedTypes()) {
-            decls.add(typeDecl);
-        }
-
-        for(Declaration decl: decls )
-            decl.accept(this);
-
-        d.accept(post);
-    }
-
-    /**
-     * Visits a class declaration.
-     *
-     * @param d the declaration to visit
-     */
-    public void visitClassDeclaration(ClassDeclaration d) {
-        d.accept(pre);
-
-        SortedSet<Declaration> decls = new
-            TreeSet<Declaration>(SourceOrderDeclScanner.comparator) ;
-
-        for(TypeParameterDeclaration tpDecl: d.getFormalTypeParameters()) {
-            decls.add(tpDecl);
-        }
-
-        for(FieldDeclaration fieldDecl: d.getFields()) {
-            decls.add(fieldDecl);
-        }
-
-        for(MethodDeclaration methodDecl: d.getMethods()) {
-            decls.add(methodDecl);
-        }
-
-        for(TypeDeclaration typeDecl: d.getNestedTypes()) {
-            decls.add(typeDecl);
-        }
-
-        for(ConstructorDeclaration ctorDecl: d.getConstructors()) {
-            decls.add(ctorDecl);
-        }
-
-        for(Declaration decl: decls )
-            decl.accept(this);
-
-        d.accept(post);
-    }
-
-    public void visitExecutableDeclaration(ExecutableDeclaration d) {
-        d.accept(pre);
-
-        SortedSet<Declaration> decls = new
-            TreeSet<Declaration>(SourceOrderDeclScanner.comparator) ;
-
-        for(TypeParameterDeclaration tpDecl: d.getFormalTypeParameters())
-            decls.add(tpDecl);
-
-        for(ParameterDeclaration pDecl: d.getParameters())
-            decls.add(pDecl);
-
-        for(Declaration decl: decls )
-            decl.accept(this);
-
-        d.accept(post);
-    }
-
-}
--- a/langtools/src/share/classes/com/sun/mirror/util/SourcePosition.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.util;
-
-
-import java.io.File;
-
-
-/**
- * Represents a position in a source file.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  There is no direct
- * replacement for the functionality of this interface since the
- * standardized {@link javax.annotation.processing.Messager Messager}
- * API implicitly takes a source position argument via any element,
- * annotation mirror, or annotation value passed along with the
- * message.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface SourcePosition {
-
-    /**
-     * Returns the source file containing this position.
-     *
-     * @return the source file containing this position; never null
-     */
-    File file();
-
-    /**
-     * Returns the line number of this position.  Lines are numbered
-     * starting with 1.
-     *
-     * @return the line number of this position, or 0 if the line
-     * number is unknown or not applicable
-     */
-    int line();
-
-    /**
-     * Returns the column number of this position.  Columns are numbered
-     * starting with 1.
-     *
-     * @return the column number of this position, or 0 if the column
-     * number is unknown or not applicable
-     */
-    int column();
-}
--- a/langtools/src/share/classes/com/sun/mirror/util/TypeVisitor.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.util;
-
-
-import com.sun.mirror.type.*;
-
-
-/**
- * A visitor for types, in the style of the standard visitor design pattern.
- * This is used to operate on a type when the kind
- * of type is unknown at compile time.
- * When a visitor is passed to a type's
- * {@link TypeMirror#accept accept} method,
- * the most specific <tt>visit<i>Xxx</i></tt> method applicable to
- * that type is invoked.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is {@link
- * javax.lang.model.element.TypeVisitor}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface TypeVisitor {
-
-    /**
-     * Visits a type mirror.
-     *
-     * @param t the type to visit
-     */
-    public void visitTypeMirror(TypeMirror t);
-
-    /**
-     * Visits a primitive type.
-
-     * @param t the type to visit
-     */
-    public void visitPrimitiveType(PrimitiveType t);
-
-    /**
-     * Visits a void type.
-     *
-     * @param t the type to visit
-     */
-    public void visitVoidType(VoidType t);
-
-    /**
-     * Visits a reference type.
-     *
-     * @param t the type to visit
-     */
-    public void visitReferenceType(ReferenceType t);
-
-    /**
-     * Visits a declared type.
-     *
-     * @param t the type to visit
-     */
-    public void visitDeclaredType(DeclaredType t);
-
-    /**
-     * Visits a class type.
-     *
-     * @param t the type to visit
-     */
-    public void visitClassType(ClassType t);
-
-    /**
-     * Visits an enum type.
-     *
-     * @param t the type to visit
-     */
-    public void visitEnumType(EnumType t);
-
-    /**
-     * Visits an interface type.
-     *
-     * @param t the type to visit
-     */
-    public void visitInterfaceType(InterfaceType t);
-
-    /**
-     * Visits an annotation type.
-     *
-     * @param t the type to visit
-     */
-    public void visitAnnotationType(AnnotationType t);
-
-    /**
-     * Visits an array type.
-     *
-     * @param t the type to visit
-     */
-    public void visitArrayType(ArrayType t);
-
-    /**
-     * Visits a type variable.
-     *
-     * @param t the type to visit
-     */
-    public void visitTypeVariable(TypeVariable t);
-
-    /**
-     * Visits a wildcard.
-     *
-     * @param t the type to visit
-     */
-    public void visitWildcardType(WildcardType t);
-}
--- a/langtools/src/share/classes/com/sun/mirror/util/Types.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,189 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.mirror.util;
-
-
-import java.util.Collection;
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-
-
-/**
- * Utility methods for operating on types.
- *
- * @deprecated All components of this API have been superseded by the
- * standardized annotation processing API.  The replacement for the
- * functionality of this interface is {@link
- * javax.lang.model.util.Types}.
- *
- * @author Joseph D. Darcy
- * @author Scott Seligman
- * @since 1.5
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public interface Types {
-
-    /**
-     * Tests whether one type is a subtype of the another.
-     * Any type is considered to be a subtype of itself.
-     *
-     * @param t1  the first type
-     * @param t2  the second type
-     * @return <tt>true</tt> if and only if the first type is a subtype
-     *          of the second
-     */
-    boolean isSubtype(TypeMirror t1, TypeMirror t2);
-
-    /**
-     * Tests whether one type is assignable to another.
-     *
-     * @param t1  the first type
-     * @param t2  the second type
-     * @return <tt>true</tt> if and only if the first type is assignable
-     *          to the second
-     */
-    boolean isAssignable(TypeMirror t1, TypeMirror t2);
-
-    /**
-     * Returns the erasure of a type.
-     *
-     * @param t  the type to be erased
-     * @return the erasure of the given type
-     */
-    TypeMirror getErasure(TypeMirror t);
-
-    /**
-     * Returns a primitive type.
-     *
-     * @param kind  the kind of primitive type to return
-     * @return a primitive type
-     */
-    PrimitiveType getPrimitiveType(PrimitiveType.Kind kind);
-
-    /**
-     * Returns the pseudo-type representing the type of <tt>void</tt>.
-     *
-     * @return the pseudo-type representing the type of <tt>void</tt>
-     */
-    VoidType getVoidType();
-
-    /**
-     * Returns an array type with the specified component type.
-     *
-     * @param componentType  the component type
-     * @return an array type with the specified component type.
-     * @throws IllegalArgumentException if the component type is not valid for
-     *          an array
-     */
-    ArrayType getArrayType(TypeMirror componentType);
-
-    /**
-     * Returns the type variable declared by a type parameter.
-     *
-     * @param tparam  the type parameter
-     * @return the type variable declared by the type parameter
-     */
-    TypeVariable getTypeVariable(TypeParameterDeclaration tparam);
-
-    /**
-     * Returns a new wildcard.
-     * Either the wildcards's upper bounds or lower bounds may be
-     * specified, or neither, but not both.
-     *
-     * @param upperBounds  the upper bounds of this wildcard,
-     *          or an empty collection if none
-     * @param lowerBounds  the lower bounds of this wildcard,
-     *          or an empty collection if none
-     * @return a new wildcard
-     * @throws IllegalArgumentException if bounds are not valid
-     */
-    WildcardType getWildcardType(Collection<ReferenceType> upperBounds,
-                                 Collection<ReferenceType> lowerBounds);
-
-    /**
-     * Returns the type corresponding to a type declaration and
-     * actual type arguments.
-     * Given the declaration for <tt>String</tt>, for example, this
-     * method may be used to get the <tt>String</tt> type.  It may
-     * then be invoked a second time, with the declaration for <tt>Set</tt>,
-     * to make the parameterized type {@code Set<String>}.
-     *
-     * <p> The number of type arguments must either equal the
-     * number of the declaration's formal type parameters, or must be
-     * zero.  If zero, and if the declaration is generic,
-     * then the declaration's raw type is returned.
-     *
-     * <p> If a parameterized type is being returned, its declaration
-     * must not be contained within a generic outer class.
-     * The parameterized type {@code Outer<String>.Inner<Number>},
-     * for example, may be constructed by first using this
-     * method to get the type {@code Outer<String>}, and then invoking
-     * {@link #getDeclaredType(DeclaredType, TypeDeclaration, TypeMirror...)}.
-     *
-     * @param decl      the type declaration
-     * @param typeArgs  the actual type arguments
-     * @return the type corresponding to the type declaration and
-     *          actual type arguments
-     * @throws IllegalArgumentException if too many or too few
-     *          type arguments are given, or if an inappropriate type
-     *          argument or declaration is provided
-     */
-    DeclaredType getDeclaredType(TypeDeclaration decl,
-                                 TypeMirror... typeArgs);
-
-    /**
-     * Returns the type corresponding to a type declaration
-     * and actual arguments, given a
-     * {@linkplain DeclaredType#getContainingType() containing type}
-     * of which it is a member.
-     * The parameterized type {@code Outer<String>.Inner<Number>},
-     * for example, may be constructed by first using
-     * {@link #getDeclaredType(TypeDeclaration, TypeMirror...)}
-     * to get the type {@code Outer<String>}, and then invoking
-     * this method.
-     *
-     * <p> If the containing type is a parameterized type,
-     * the number of type arguments must equal the
-     * number of the declaration's formal type parameters.
-     * If it is not parameterized or if it is <tt>null</tt>, this method is
-     * equivalent to <tt>getDeclaredType(decl, typeArgs)</tt>.
-     *
-     * @param containing  the containing type, or <tt>null</tt> if none
-     * @param decl        the type declaration
-     * @param typeArgs    the actual type arguments
-     * @return the type corresponding to the type declaration and
-     *          actual type arguments,
-     *          contained within the given type
-     * @throws IllegalArgumentException if too many or too few
-     *          type arguments are given, or if an inappropriate type
-     *          argument, declaration, or containing type is provided
-     */
-    DeclaredType getDeclaredType(DeclaredType containing,
-                                 TypeDeclaration decl,
-                                 TypeMirror... typeArgs);
-}
--- a/langtools/src/share/classes/com/sun/mirror/util/package-info.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-/**
- * Utilities to assist in the processing of {@linkplain
- * com.sun.mirror.declaration declarations} and {@linkplain
- * com.sun.mirror.type types}.
- *
- * <p>The {@code apt} tool and its associated API have been superseded
- * by the standardized annotation processing API.  The replacement for
- * the functionality in this package is {@link javax.lang.model.util}.
- *
- * @since 1.5
- */
-package com.sun.mirror.util;
--- a/langtools/src/share/classes/com/sun/tools/apt/Main.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt;
-
-import java.io.PrintWriter;
-import com.sun.mirror.apt.AnnotationProcessorFactory;
-
-/**
- * The main program for the command-line tool apt.
- *
- * <p>Nothing described in this source file is part of any supported
- * API.  If you write code that depends on this, you do so at your own
- * risk.  This code and its internal interfaces are subject to change
- * or deletion without notice.
- */
-public class Main {
-
-    static {
-        ClassLoader loader = Main.class.getClassLoader();
-        if (loader != null)
-            loader.setPackageAssertionStatus("com.sun.tools.apt", true);
-    }
-
-    /** Command line interface.  If args is <tt>null</tt>, a
-     * <tt>NullPointerException</tt> is thrown.
-     * @param args   The command line parameters.
-     */
-    public static void main(String... args) {
-        System.exit(process(args));
-    }
-
-    /** Programatic interface.  If args is <tt>null</tt>, a
-     * <tt>NullPointerException</tt> is thrown.
-     * Output is directed to <tt>System.err</tt>.
-     * @param args   The command line parameters.
-     */
-    public static int process(String... args) {
-        return processing(null, null, args);
-    }
-
-    /** Programmatic interface.  If any argument
-     * is <tt>null</tt>, a <tt>NullPointerException</tt> is thrown.
-     * @param args   The command line parameters.
-     * @param out    Where the tool's output is directed.
-     */
-    public static int process(PrintWriter out, String... args) {
-        if (out == null)
-            throw new NullPointerException("Parameter out cannot be null.");
-        return processing(null, out, args);
-    }
-
-    /** Programmatic interface.  If <tt>factory</tt> or <tt>args</tt>
-     * is <tt>null</tt>, a <tt>NullPointerException</tt> is thrown.
-     * The &quot;<tt>-factory</tt>&quot; and &quot;<tt>-factorypath</tt>&quot;
-     * command line parameters are ignored by this entry point.
-     * Output is directed to <tt>System.err</tt>.
-     *
-     * @param factory The annotation processor factory to use
-     * @param args    The command line parameters.
-     */
-    public static int process(AnnotationProcessorFactory factory, String... args) {
-        return process(factory, new PrintWriter(System.err, true), args);
-    }
-
-    /** Programmatic interface.  If any argument
-     * is <tt>null</tt>, a <tt>NullPointerException</tt> is thrown.
-     * The &quot;<tt>-factory</tt>&quot; and &quot;<tt>-factorypath</tt>&quot;
-     * command line parameters are ignored by this entry point.
-     *
-     * @param factory The annotation processor factory to use
-     * @param args   The command line parameters.
-     * @param out    Where the tool's output is directed.
-     */
-    public static int process(AnnotationProcessorFactory factory, PrintWriter out,
-                              String... args) {
-        if (out == null)
-            throw new NullPointerException("Parameter out cannot be null.");
-        if (factory == null)
-            throw new NullPointerException("Parameter factory cannot be null");
-        return processing(factory, out, args);
-    }
-
-    private static int processing(AnnotationProcessorFactory factory,
-                                  PrintWriter out,
-                                  String... args) {
-        if (out == null)
-            out = new PrintWriter(System.err, true);
-        com.sun.tools.apt.main.Main compiler =
-            new com.sun.tools.apt.main.Main("apt", out);
-        return compiler.compile(args, factory);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/comp/AnnotationProcessingError.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2004, 2009, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.comp;
-
-public class AnnotationProcessingError extends Error {
-    private static final long serialVersionUID = 3279196183341719287L;
-    AnnotationProcessingError(Throwable cause) {
-        super(cause);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/comp/Apt.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,509 +0,0 @@
-/*
- * Copyright (c) 2004, 2011, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.comp;
-
-import com.sun.tools.javac.code.*;
-import com.sun.tools.javac.comp.*;
-import com.sun.tools.javac.tree.*;
-import com.sun.tools.javac.util.*;
-import com.sun.tools.javac.tree.TreeScanner;
-import com.sun.tools.javac.util.Context;
-import com.sun.tools.apt.util.Bark;
-import com.sun.tools.javac.util.Position;
-
-import java.util.*;
-import java.util.regex.*;
-import java.lang.reflect.*;
-import java.lang.reflect.InvocationTargetException;
-import java.io.IOException;
-
-import com.sun.tools.apt.*;
-import com.sun.tools.apt.comp.*;
-import com.sun.tools.javac.code.Symbol.*;
-
-import com.sun.mirror.declaration.TypeDeclaration;
-import com.sun.mirror.declaration.AnnotationTypeDeclaration;
-import com.sun.mirror.apt.*;
-// import com.sun.mirror.apt.AnnotationProcessorFactory;
-import com.sun.mirror.apt.AnnotationProcessors;
-
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.apt.mirror.apt.FilerImpl;
-import com.sun.tools.apt.mirror.apt.AnnotationProcessorEnvironmentImpl;
-
-
-import static com.sun.tools.apt.mirror.declaration.DeclarationMaker.isJavaIdentifier;
-
-/**
- * Apt compiler phase.
- *
- *  <p><b>This is NOT part of any supported API.
- *  If you write code that depends on this, you do so at your own
- *  risk.  This code and its internal interfaces are subject to change
- *  or deletion without notice.</b>
- */
-@SuppressWarnings("deprecation")
-public class Apt extends ListBuffer<Env<AttrContext>> {
-    java.util.Set<String> genSourceFileNames = new java.util.LinkedHashSet<String>();
-    public java.util.Set<String> getSourceFileNames() {
-        return genSourceFileNames;
-    }
-
-    /** List of names of generated class files.
-     */
-    java.util.Set<String> genClassFileNames  = new java.util.LinkedHashSet<String>();
-    public java.util.Set<String> getClassFileNames() {
-        return genClassFileNames;
-    }
-
-    /* AptEnvironment */
-    AptEnv aptenv;
-
-    private Context context;
-
-    /** The context key for the todo list. */
-
-    protected static final Context.Key<Apt> aptKey =
-        new Context.Key<Apt>();
-
-    /** Get the Apt instance for this context. */
-    public static Apt instance(Context context) {
-        Apt instance = context.get(aptKey);
-        if (instance == null)
-            instance = new Apt(context);
-        return instance;
-    }
-
-    /** Create a new apt list. */
-    protected Apt(Context context) {
-        this.context = context;
-
-        context.put(aptKey, this);
-        aptenv = AptEnv.instance(context);
-    }
-
-    /**
-     * Used to scan javac trees to build data structures needed for
-     * bootstrapping the apt environment.  In particular:
-     *
-     * <ul>
-     *
-     * <li> Generate list of canonical names of annotation types that
-     * appear in source files given on the command line
-     *
-     * <li> Collect list of javac symbols representing source files
-     * given on the command line
-     *
-     * </ul>
-     */
-    static class AptTreeScanner extends TreeScanner {
-
-        // Set of fully qualified names of annotation types present in
-        // examined source
-        private Set<String> annotationSet;
-
-        // Symbols to build bootstrapping declaration list
-        private Collection<ClassSymbol> specifiedDeclCollection;
-        private Collection<ClassSymbol> declCollection;
-
-        public Set<String> getAnnotationSet() {
-            return annotationSet;
-        }
-
-        public AptTreeScanner() {
-            annotationSet = new  LinkedHashSet<String>();
-            specifiedDeclCollection = new LinkedHashSet<ClassSymbol>();
-            declCollection = new LinkedHashSet<ClassSymbol>();
-        }
-
-        public void visitTopLevel(JCTree.JCCompilationUnit tree) {
-            super.visitTopLevel(tree);
-            // Print out contents -- what are we dealing with?
-
-            for(JCTree d: tree.defs) {
-                if (d instanceof JCTree.JCClassDecl)
-                    specifiedDeclCollection.add(((JCTree.JCClassDecl) d).sym);
-            }
-
-        }
-
-        public void visitBlock(JCTree.JCBlock tree) {
-            ; // Do nothing.
-        }
-
-
-        // should add nested classes to packages, etc.
-        public void visitClassDef(JCTree.JCClassDecl tree) {
-            if (tree.sym == null) {
-                // could be an anon class w/in an initializer
-                return;
-            }
-
-            super.visitClassDef(tree);
-
-            declCollection.add(tree.sym);
-        }
-
-        public void visitMethodDef(JCTree.JCMethodDecl tree) {
-            super.visitMethodDef(tree);
-        }
-
-        public void visitVarDef(JCTree.JCVariableDecl tree) {
-            super.visitVarDef(tree);
-        }
-
-        public void visitAnnotation(JCTree.JCAnnotation tree) {
-            super.visitAnnotation(tree);
-            annotationSet.add(tree.type.tsym.toString());
-        }
-    }
-
-    Set<String> computeAnnotationSet(Collection<ClassSymbol> classSymbols) {
-        Set<String> annotationSet = new HashSet<String>();
-
-        for(ClassSymbol classSymbol: classSymbols) {
-            computeAnnotationSet(classSymbol, annotationSet);
-        }
-        return annotationSet;
-    }
-
-    void computeAnnotationSet(Symbol symbol, Set<String> annotationSet) {
-        if (symbol != null ) {
-            if (symbol.getAnnotationMirrors() != null)
-                for(Attribute.Compound compound: symbol.getAnnotationMirrors())
-                    annotationSet.add(compound.type.tsym.toString()); // should fullName be used instead of toString?
-
-            if (symbol instanceof Symbol.MethodSymbol) // add parameter annotations
-                for(Symbol param: ((MethodSymbol) symbol).params())
-                    computeAnnotationSet(param, annotationSet);
-
-            if (symbol.members() != null) {
-                for(Scope.Entry e = symbol.members().elems; e != null; e = e.sibling)
-                    computeAnnotationSet(e.sym, annotationSet);
-            }
-        }
-    }
-
-    public void main(com.sun.tools.javac.util.List<JCTree.JCCompilationUnit> treeList,
-                     ListBuffer<ClassSymbol> classes,
-                     Map<String, String> origOptions,
-                     ClassLoader aptCL,
-                     AnnotationProcessorFactory providedFactory,
-                     java.util.Set<Class<? extends AnnotationProcessorFactory> > productiveFactories) {
-        Bark bark = Bark.instance(context);
-        java.io.PrintWriter out = bark.getWriter(Log.WriterKind.WARNING);
-        Options options = Options.instance(context);
-
-        Collection<TypeDeclaration> spectypedecls =     new LinkedHashSet<TypeDeclaration>();
-        Collection<TypeDeclaration> typedecls =         new LinkedHashSet<TypeDeclaration>();
-        Set<String> unmatchedAnnotations =              new LinkedHashSet<String>();
-        Set<AnnotationTypeDeclaration> emptyATDS =      Collections.emptySet();
-        Set<Class<? extends AnnotationProcessorFactory> > currentRoundFactories =
-            new LinkedHashSet<Class<? extends AnnotationProcessorFactory> >();
-
-        // Determine what annotations are present on the input source
-        // files, create collections of specified type declarations,
-        // and type declarations.
-        AptTreeScanner ats = new AptTreeScanner();
-        for(JCTree t: treeList) {
-            t.accept(ats);
-        }
-
-        // Turn collection of ClassSymbols into Collection of apt decls
-        for (ClassSymbol cs : ats.specifiedDeclCollection) {
-            TypeDeclaration decl = aptenv.declMaker.getTypeDeclaration(cs);
-            spectypedecls.add(decl);
-        }
-
-        for (ClassSymbol cs : ats.declCollection) {
-            TypeDeclaration decl = aptenv.declMaker.getTypeDeclaration(cs);
-            typedecls.add(decl);
-        }
-
-        unmatchedAnnotations.addAll(ats.getAnnotationSet());
-
-        // Process input class files
-        for(ClassSymbol cs : classes) {
-            TypeDeclaration decl = aptenv.declMaker.getTypeDeclaration(cs);
-            // System.out.println("Adding a class to spectypedecls");
-            spectypedecls.add(decl);
-            typedecls.add(decl);
-            computeAnnotationSet(cs, unmatchedAnnotations);
-        }
-
-        if (options.get("-XListAnnotationTypes") != null) {
-            out.println("Set of annotations found:" +
-                        (new TreeSet<String>(unmatchedAnnotations)).toString());
-        }
-
-        AnnotationProcessorEnvironmentImpl trivAPE =
-            new AnnotationProcessorEnvironmentImpl(spectypedecls, typedecls, origOptions, context);
-
-        if (options.get("-XListDeclarations") != null) {
-            out.println("Set of Specified Declarations:" +
-                        spectypedecls);
-
-            out.println("Set of Included Declarations: " +
-                           typedecls);
-        }
-
-        if (options.get("-print") != null) {
-            if (spectypedecls.size() == 0 )
-                throw new UsageMessageNeededException();
-
-            // Run the printing processor
-            AnnotationProcessor proc = (new BootstrapAPF()).getProcessorFor(new HashSet<AnnotationTypeDeclaration>(),
-                                                                            trivAPE);
-            proc.process();
-        } else {
-            // Discovery process
-
-            // List of annotation processory factory instances
-            java.util.Iterator<AnnotationProcessorFactory> providers = null;
-            {
-                /*
-                 * If a factory is provided by the user, the
-                 * "-factory" and "-factorypath" options are not used.
-                 *
-                 * Otherwise, if the "-factory" option is used, search
-                 * the appropriate path for the named class.
-                 * Otherwise, use sun.misc.Service to implement the
-                 * default discovery policy.
-                 */
-
-                java.util.List<AnnotationProcessorFactory> list =
-                    new LinkedList<AnnotationProcessorFactory>();
-                String factoryName = options.get("-factory");
-
-                if (providedFactory != null) {
-                    list.add(providedFactory);
-                    providers = list.iterator();
-                } else if (factoryName != null) {
-                    try {
-                        AnnotationProcessorFactory factory =
-                            (AnnotationProcessorFactory) (aptCL.loadClass(factoryName).newInstance());
-                        list.add(factory);
-                    } catch (ClassNotFoundException cnfe) {
-                        bark.aptWarning("FactoryNotFound", factoryName);
-                    } catch (ClassCastException cce) {
-                        bark.aptWarning("FactoryWrongType", factoryName);
-                    } catch (Exception e ) {
-                        bark.aptWarning("FactoryCantInstantiate", factoryName);
-                    } catch(Throwable t) {
-                        throw new AnnotationProcessingError(t);
-                    }
-
-                    providers = list.iterator();
-                } else {
-                    @SuppressWarnings("unchecked")
-                    Iterator<AnnotationProcessorFactory> iter =
-                            sun.misc.Service.providers(AnnotationProcessorFactory.class, aptCL);
-                    providers = iter;
-
-                }
-            }
-
-            java.util.Map<AnnotationProcessorFactory, Set<AnnotationTypeDeclaration>> factoryToAnnotation =
-                new LinkedHashMap<AnnotationProcessorFactory, Set<AnnotationTypeDeclaration>>();
-
-            if (!providers.hasNext() && productiveFactories.size() == 0) {
-                if (unmatchedAnnotations.size() > 0)
-                    bark.aptWarning("NoAnnotationProcessors");
-                if (spectypedecls.size() == 0)
-                    throw new UsageMessageNeededException();
-                return; // no processors; nothing else to do
-            } else {
-                // If there are no annotations, still give
-                // processors that match everything a chance to
-                // run.
-
-                if(unmatchedAnnotations.size() == 0)
-                    unmatchedAnnotations.add("");
-
-                Set<String> emptyStringSet = new HashSet<String>();
-                emptyStringSet.add("");
-                emptyStringSet = Collections.unmodifiableSet(emptyStringSet);
-
-                while (providers.hasNext() ) {
-                    Object provider = providers.next();
-                    try {
-                        Set<String> matchedStrings = new HashSet<String>();
-
-                        AnnotationProcessorFactory apf = (AnnotationProcessorFactory) provider;
-                        Collection<String> supportedTypes = apf.supportedAnnotationTypes();
-
-                        Collection<Pattern> supportedTypePatterns = new LinkedList<Pattern>();
-                        for(String s: supportedTypes)
-                            supportedTypePatterns.add(importStringToPattern(s));
-
-                        for(String s: unmatchedAnnotations) {
-                            for(Pattern p: supportedTypePatterns) {
-                                if (p.matcher(s).matches()) {
-                                    matchedStrings.add(s);
-                                    break;
-                                }
-                            }
-                        }
-
-                        unmatchedAnnotations.removeAll(matchedStrings);
-
-                        if (options.get("-XPrintFactoryInfo") != null) {
-                            out.println("Factory " + apf.getClass().getName() +
-                                        " matches " +
-                                        ((matchedStrings.size() == 0)?
-                                         "nothing.": matchedStrings));
-                        }
-
-                        if (matchedStrings.size() > 0) {
-                            // convert annotation names to annotation
-                            // type decls
-                            Set<AnnotationTypeDeclaration> atds = new HashSet<AnnotationTypeDeclaration>();
-
-                            // If a "*" processor is called on the
-                            // empty string, pass in an empty set of
-                            // annotation type declarations.
-                            if (!matchedStrings.equals(emptyStringSet)) {
-                                for(String s: matchedStrings) {
-                                    TypeDeclaration decl = aptenv.declMaker.getTypeDeclaration(s);
-                                    AnnotationTypeDeclaration annotdecl;
-                                    if (decl == null) {
-                                        bark.aptError("DeclarationCreation", s);
-                                    } else {
-                                        try {
-                                            annotdecl = (AnnotationTypeDeclaration)decl;
-                                            atds.add(annotdecl);
-
-                                        } catch (ClassCastException cce) {
-                                            bark.aptError("BadDeclaration", s);
-                                        }
-                                    }
-                                }
-                            }
-
-                            currentRoundFactories.add(apf.getClass());
-                            productiveFactories.add(apf.getClass());
-                            factoryToAnnotation.put(apf, atds);
-                        } else if (productiveFactories.contains(apf.getClass())) {
-                            // If a factory provided a processor in a
-                            // previous round but doesn't match any
-                            // annotations this round, call it with an
-                            // empty set of declarations.
-                            currentRoundFactories.add(apf.getClass());
-                            factoryToAnnotation.put(apf, emptyATDS );
-                        }
-
-                        if (unmatchedAnnotations.size() == 0)
-                            break;
-
-                    } catch (ClassCastException cce) {
-                        bark.aptWarning("BadFactory", cce);
-                    }
-                }
-
-                unmatchedAnnotations.remove("");
-            }
-
-            // If the set difference of productiveFactories and
-            // currentRoundFactories is non-empty, call the remaining
-            // productive factories with an empty set of declarations.
-            {
-                java.util.Set<Class<? extends AnnotationProcessorFactory> > neglectedFactories =
-                    new LinkedHashSet<Class<? extends AnnotationProcessorFactory>>(productiveFactories);
-                neglectedFactories.removeAll(currentRoundFactories);
-                for(Class<? extends AnnotationProcessorFactory> working : neglectedFactories) {
-                    try {
-                        AnnotationProcessorFactory factory = working.newInstance();
-                        factoryToAnnotation.put(factory, emptyATDS);
-                    } catch (Exception e ) {
-                        bark.aptWarning("FactoryCantInstantiate", working.getName());
-                    } catch(Throwable t) {
-                        throw new AnnotationProcessingError(t);
-                    }
-                }
-            }
-
-            if (unmatchedAnnotations.size() > 0)
-                bark.aptWarning("AnnotationsWithoutProcessors", unmatchedAnnotations);
-
-            Set<AnnotationProcessor> processors = new LinkedHashSet<AnnotationProcessor>();
-
-            // If there were no source files AND no factory matching "*",
-            // make sure the usage message is printed
-            if (spectypedecls.size() == 0 &&
-                factoryToAnnotation.keySet().size() == 0 )
-                throw new UsageMessageNeededException();
-
-            try {
-                for(Map.Entry<AnnotationProcessorFactory, Set<AnnotationTypeDeclaration>> entry :
-                        factoryToAnnotation.entrySet()) {
-                    AnnotationProcessorFactory  apFactory = entry.getKey();
-                    AnnotationProcessor processor = apFactory.getProcessorFor(entry.getValue(),
-                                                                              trivAPE);
-                    if (processor != null)
-                        processors.add(processor);
-                    else
-                        bark.aptWarning("NullProcessor", apFactory.getClass().getName());
-                }
-            } catch(Throwable t) {
-                throw new AnnotationProcessingError(t);
-            }
-
-            LinkedList<AnnotationProcessor> temp = new LinkedList<AnnotationProcessor>();
-            temp.addAll(processors);
-
-            AnnotationProcessor proc = AnnotationProcessors.getCompositeAnnotationProcessor(temp);
-
-            try {
-                proc.process();
-            } catch (Throwable t) {
-                throw new AnnotationProcessingError(t);
-            }
-
-            // Invoke listener callback mechanism
-            trivAPE.roundComplete();
-
-            FilerImpl filerimpl = (FilerImpl)trivAPE.getFiler();
-            genSourceFileNames = filerimpl.getSourceFileNames();
-            genClassFileNames = filerimpl.getClassFileNames();
-            filerimpl.flush(); // Make sure new files are written out
-        }
-    }
-
-    /**
-     * Convert import-style string to regex matching that string.  If
-     * the string is a valid import-style string, return a regex that
-     * won't match anything.
-     */
-    Pattern importStringToPattern(String s) {
-        if (com.sun.tools.javac.processing.JavacProcessingEnvironment.isValidImportString(s)) {
-            return com.sun.tools.javac.processing.JavacProcessingEnvironment.validImportStringToPattern(s);
-        } else {
-            Bark bark = Bark.instance(context);
-            bark.aptWarning("MalformedSupportedString", s);
-            return com.sun.tools.javac.processing.JavacProcessingEnvironment.noMatches;
-        }
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/comp/BootstrapAPF.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.comp;
-
-import java.util.*;
-import com.sun.mirror.apt.*;
-import com.sun.mirror.declaration.AnnotationTypeDeclaration;
-
-@SuppressWarnings("deprecation")
-public class BootstrapAPF implements AnnotationProcessorFactory {
-
-    static final Collection<String> supportedOptions =
-        Collections.unmodifiableSet(new HashSet<String>());
-
-    static Collection<String> supportedAnnotations;
-    static {
-        Collection<String> c = new HashSet<String>();
-        c.add("*");
-        supportedAnnotations = Collections.unmodifiableCollection(c);
-    }
-
-    public BootstrapAPF(){}
-
-    public Collection<String> supportedOptions() {
-        return BootstrapAPF.supportedOptions;
-    }
-
-    public Collection<String> supportedAnnotationTypes() {
-        return supportedAnnotations;
-    }
-
-    public AnnotationProcessor getProcessorFor(Set<AnnotationTypeDeclaration> atds,
-            AnnotationProcessorEnvironment env) {
-        return new PrintAP(env);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/comp/PrintAP.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,467 +0,0 @@
-/*
- * Copyright (c) 2004, 2006, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.comp;
-
-import com.sun.mirror.declaration.*;
-import static com.sun.mirror.declaration.Modifier.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.apt.*;
-
-import java.util.*;
-import com.sun.mirror.util.*;
-
-/**
- * Class used to implement "-print" option.
- */
-@SuppressWarnings("deprecation")
-public class PrintAP implements AnnotationProcessor {
-
-
-    static class PrintingVisitors {
-        int indentation = 0; // Indentation level;
-        AnnotationProcessorEnvironment env;
-        Messager out;
-        Declaration java_lang_Object;
-        Declaration java_lang_annotation_Annotation;
-
-        static Set<Modifier> EMPTY_ELIDES = Collections.emptySet();
-        static Set<Modifier> INTERFACE_ELIDES = EnumSet.of(ABSTRACT);
-        static Set<Modifier> ENUM_ELIDES = EnumSet.of(FINAL, ABSTRACT);
-        static Set<Modifier> INTERFACE_MEMBER_ELIDES = EnumSet.of(ABSTRACT, PUBLIC, STATIC, FINAL);
-
-        PrintingVisitors(AnnotationProcessorEnvironment env) {
-            this.env = env;
-            this.out = env.getMessager();
-            this.java_lang_Object = env.getTypeDeclaration("java.lang.Object");
-            this.java_lang_annotation_Annotation = env.getTypeDeclaration("java.lang.annotation.Annotation");
-        }
-
-
-        static String [] spaces = {
-            "",
-            "  ",
-            "    ",
-            "      ",
-            "        ",
-            "          ",
-            "            ",
-            "              ",
-            "                ",
-            "                  ",
-            "                    "
-        };
-
-
-        String indent(){
-            int indentation = this.indentation;
-            if (indentation < 0)
-                return "";
-            else if (indentation <= 10)
-                return spaces[indentation];
-            else {
-                StringBuilder sb = new StringBuilder();
-                while (indentation > 10) {
-                    sb.append(spaces[indentation]);
-                    indentation -= 10;
-                }
-                sb.append(spaces[indentation]);
-            return sb.toString();
-            }
-        }
-
-
-        class PrePrinting extends SimpleDeclarationVisitor {
-            Map<EnumDeclaration, Integer> enumCardinality  = new HashMap<EnumDeclaration, Integer>();
-            Map<EnumDeclaration, Integer> enumConstVisited = new HashMap<EnumDeclaration, Integer>();
-
-            PrePrinting(){}
-
-            public void visitClassDeclaration(ClassDeclaration d) {
-                System.out.println();
-                printDocComment(d);
-                printModifiers(d, EMPTY_ELIDES);
-                System.out.print("class " + d.getSimpleName());
-                printFormalTypeParameters(d);
-
-                // Elide "extends Object"
-                ClassType Super = d.getSuperclass();
-                if (Super != null && !java_lang_Object.equals(Super.getDeclaration()) )
-                    System.out.print(" extends " + Super.toString());
-
-                printInterfaces(d);
-
-                System.out.println(" {");
-
-                PrintingVisitors.this.indentation++;
-            }
-
-            public void visitEnumDeclaration(EnumDeclaration d) {
-                enumCardinality.put(d, d.getEnumConstants().size());
-                enumConstVisited.put(d, 1);
-
-                System.out.println();
-                printDocComment(d);
-                printModifiers(d, ENUM_ELIDES);
-
-                System.out.print("enum " + d.getSimpleName());
-                printFormalTypeParameters(d);
-                printInterfaces(d);
-
-                System.out.println(" {");
-
-                PrintingVisitors.this.indentation++;
-            }
-
-
-            public void visitInterfaceDeclaration(InterfaceDeclaration d) {
-                System.out.println();
-                printDocComment(d);
-                printModifiers(d, INTERFACE_ELIDES);
-                System.out.print("interface " + d.getSimpleName());
-
-                printFormalTypeParameters(d);
-                printInterfaces(d);
-
-                System.out.println(" {");
-
-                PrintingVisitors.this.indentation++;
-            }
-
-            public void visitAnnotationTypeDeclaration(AnnotationTypeDeclaration d) {
-                System.out.println();
-                printDocComment(d);
-                printModifiers(d, INTERFACE_ELIDES);
-                System.out.print("@interface " + d.getSimpleName());
-                printFormalTypeParameters(d);
-
-                printInterfaces(d);
-
-                System.out.println(" {");
-
-                PrintingVisitors.this.indentation++;
-            }
-
-            public void visitFieldDeclaration(FieldDeclaration d) {
-                System.out.println();
-                printDocComment(d);
-                printModifiers(d,
-                               (d.getDeclaringType() instanceof InterfaceDeclaration)?
-                               INTERFACE_MEMBER_ELIDES : EMPTY_ELIDES);
-                System.out.print(d.getType().toString() + " " +
-                                   d.getSimpleName() );
-                String constantExpr = d.getConstantExpression();
-                if (constantExpr != null) {
-                    System.out.print(" = " + constantExpr);
-                }
-                System.out.println(";" );
-            }
-
-            public void visitEnumConstantDeclaration(EnumConstantDeclaration d) {
-                EnumDeclaration ed = d.getDeclaringType();
-                int enumCard = enumCardinality.get(ed);
-                int enumVisit = enumConstVisited.get(ed);
-
-                System.out.println();
-                printDocComment(d);
-                System.out.print(PrintingVisitors.this.indent());
-                System.out.print(d.getSimpleName() );
-                System.out.println((enumVisit < enumCard )? ",":";" );
-
-                enumConstVisited.put(ed, enumVisit+1);
-            }
-
-            public void visitMethodDeclaration(MethodDeclaration d) {
-                System.out.println();
-                printDocComment(d);
-                printModifiers(d,
-                               (d.getDeclaringType() instanceof InterfaceDeclaration)?
-                               INTERFACE_MEMBER_ELIDES : EMPTY_ELIDES);
-                printFormalTypeParameters(d);
-                System.out.print(d.getReturnType().toString() + " ");
-                System.out.print(d.getSimpleName() + "(");
-                printParameters(d);
-                System.out.print(")");
-                printThrows(d);
-                System.out.println(";");
-            }
-
-            public void visitConstructorDeclaration(ConstructorDeclaration d) {
-                System.out.println();
-                printDocComment(d);
-                printModifiers(d, EMPTY_ELIDES);
-                printFormalTypeParameters(d);
-                System.out.print(d.getSimpleName() + "(");
-                printParameters(d);
-                System.out.print(")");
-                printThrows(d);
-                System.out.println(";");
-            }
-
-
-        }
-
-        class PostPrinting extends SimpleDeclarationVisitor {
-            PostPrinting(){}
-
-            public void visitTypeDeclaration(TypeDeclaration d) {
-                PrintingVisitors.this.indentation--;
-
-                System.out.print(PrintingVisitors.this.indent());
-                System.out.println("}");
-            }
-        }
-
-        private void printAnnotations(Collection<AnnotationMirror> annots) {
-
-            for(AnnotationMirror annot: annots) {
-                System.out.print(this.indent());
-                System.out.print(annot.toString());
-                System.out.println();
-            }
-        }
-
-        private void printAnnotationsInline(Collection<AnnotationMirror> annots) {
-
-            for(AnnotationMirror annot: annots) {
-                System.out.print(annot);
-                System.out.print(" ");
-            }
-        }
-
-
-        private void printParameters(ExecutableDeclaration ex) {
-
-            Collection<ParameterDeclaration> parameters = ex.getParameters();
-            int size = parameters.size();
-
-            switch (size) {
-            case 0:
-                break;
-
-            case 1:
-                for(ParameterDeclaration parameter: parameters) {
-                    printModifiers(parameter, EMPTY_ELIDES);
-
-                    if (ex.isVarArgs() ) {
-                        System.out.print(((ArrayType)parameter.getType()).getComponentType() );
-                        System.out.print("...");
-                    } else
-                        System.out.print(parameter.getType());
-                    System.out.print(" " + parameter.getSimpleName());
-                }
-                break;
-
-            default:
-                {
-                    int i = 1;
-                    for(ParameterDeclaration parameter: parameters) {
-                        if (i == 2)
-                            PrintingVisitors.this.indentation++;
-
-                        if (i > 1)
-                            System.out.print(PrintingVisitors.this.indent());
-
-                        printModifiers(parameter, EMPTY_ELIDES);
-
-                        if (i == size && ex.isVarArgs() ) {
-                            System.out.print(((ArrayType)parameter.getType()).getComponentType() );
-                            System.out.print("...");
-                        } else
-                            System.out.print(parameter.getType());
-                        System.out.print(" " + parameter.getSimpleName());
-
-                        if (i < size)
-                            System.out.println(",");
-
-                        i++;
-                    }
-
-                    if (parameters.size() >= 2)
-                        PrintingVisitors.this.indentation--;
-                }
-                break;
-            }
-        }
-
-        private void printDocComment(Declaration d) {
-            String docComment = d.getDocComment();
-
-            if (docComment != null) {
-                // Break comment into lines
-                java.util.StringTokenizer st = new StringTokenizer(docComment,
-                                                                  "\n\r");
-                System.out.print(PrintingVisitors.this.indent());
-                System.out.println("/**");
-
-                while(st.hasMoreTokens()) {
-                    System.out.print(PrintingVisitors.this.indent());
-                    System.out.print(" *");
-                    System.out.println(st.nextToken());
-                }
-
-                System.out.print(PrintingVisitors.this.indent());
-                System.out.println(" */");
-            }
-        }
-
-        private void printModifiers(Declaration d, Collection<Modifier> elides) {
-            printAnnotations(d.getAnnotationMirrors());
-
-            System.out.print(PrintingVisitors.this.indent());
-
-            for(Modifier m: adjustModifiers(d.getModifiers(), elides) ){
-                System.out.print(m.toString() + " ");
-            }
-        }
-
-        private void printModifiers(ParameterDeclaration d, Collection<Modifier> elides) {
-            printAnnotationsInline(d.getAnnotationMirrors());
-
-            for(Modifier m: adjustModifiers(d.getModifiers(), elides) ) {
-                System.out.print(m.toString() + " ");
-            }
-        }
-
-        private Collection<Modifier> adjustModifiers(Collection<Modifier> mods,
-                                                     Collection<Modifier> elides) {
-            if (elides.isEmpty())
-                return mods;
-            else {
-                Collection<Modifier> newMods = new LinkedHashSet<Modifier>();
-                newMods.addAll(mods);
-                newMods.removeAll(elides);
-                return newMods;
-            }
-        }
-
-        private void printFormalTypeParameters(ExecutableDeclaration e) {
-            printFormalTypeParameterSet(e.getFormalTypeParameters(), true);
-        }
-
-        private void printFormalTypeParameters(TypeDeclaration d) {
-            printFormalTypeParameterSet(d.getFormalTypeParameters(), false);
-        }
-
-        private void printFormalTypeParameterSet(Collection<TypeParameterDeclaration> typeParams, boolean pad) {
-            if (typeParams.size() != 0) {
-                System.out.print("<");
-
-                boolean first = true;
-                for(TypeParameterDeclaration tpd: typeParams) {
-                    if (!first)
-                        System.out.print(", ");
-                    System.out.print(tpd.toString());
-                }
-
-                System.out.print(">");
-                if (pad)
-                    System.out.print(" ");
-
-            }
-        }
-
-        private void printInterfaceSet(Collection<InterfaceType> interfaces,
-                                       boolean classNotInterface) {
-            if (interfaces.size() != 0) {
-                System.out.print((classNotInterface?" implements" : " extends"));
-
-                boolean first = true;
-                for(InterfaceType interType: interfaces) {
-                    if (!first)
-                        System.out.print(",");
-                    System.out.print(" ");
-                    System.out.print(interType.toString());
-                    first = false;
-                }
-            }
-        }
-
-        private void printInterfaces(TypeDeclaration d) {
-            printInterfaceSet(d.getSuperinterfaces(), d instanceof ClassDeclaration);
-        }
-
-        private void printInterfaces(AnnotationTypeDeclaration d) {
-            Collection<InterfaceType> interfaces = new HashSet<InterfaceType>(d.getSuperinterfaces());
-
-            for(InterfaceType interType: interfaces) {
-                if (java_lang_annotation_Annotation.equals(interType.getDeclaration()) )
-                    interfaces.remove(interType);
-            }
-
-            printInterfaceSet(interfaces, d instanceof ClassDeclaration);
-        }
-
-        private void printThrows(ExecutableDeclaration d) {
-            Collection<ReferenceType> thrownTypes = d.getThrownTypes();
-            final int size = thrownTypes.size();
-            if (size != 0) {
-                System.out.print(" throws");
-
-                int i = 1;
-                for(ReferenceType thrownType: thrownTypes) {
-                    if (i == 1) {
-                        System.out.print(" ");
-                    }
-
-                    if (i == 2)
-                        PrintingVisitors.this.indentation++;
-
-                    if (i >= 2)
-                        System.out.print(PrintingVisitors.this.indent());
-
-                    System.out.print(thrownType.toString());
-
-
-                    if (i != size) {
-                        System.out.println(", ");
-                    }
-                    i++;
-                }
-
-                if (size >= 2)
-                    PrintingVisitors.this.indentation--;
-            }
-        }
-
-        DeclarationVisitor getPrintingVisitor() {
-            return DeclarationVisitors.getSourceOrderDeclarationScanner(new PrePrinting(),
-                                                                        new PostPrinting());
-        }
-    }
-
-    AnnotationProcessorEnvironment env;
-    PrintAP(AnnotationProcessorEnvironment env) {
-        this.env = env;
-    }
-
-
-    public void process() {
-        Collection<TypeDeclaration> typedecls = env.getSpecifiedTypeDeclarations();
-
-        for (TypeDeclaration td: typedecls)
-            td.accept((new PrintingVisitors(env)).getPrintingVisitor());
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/comp/UsageMessageNeededException.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2004, 2009, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.comp;
-
-
-public class UsageMessageNeededException extends RuntimeException {
-    private static final long serialVersionUID = -3265159608992825840L;
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/main/AptJavaCompiler.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,291 +0,0 @@
-/*
- * Copyright (c) 2004, 2011, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.main;
-
-import java.io.*;
-import java.util.Map;
-
-import javax.tools.JavaFileManager;
-import javax.tools.JavaFileObject;
-
-import com.sun.tools.javac.file.JavacFileManager;
-import com.sun.tools.javac.util.*;
-import com.sun.tools.javac.code.*;
-import com.sun.tools.javac.jvm.*;
-
-import com.sun.tools.javac.code.Symbol.*;
-import com.sun.tools.javac.tree.JCTree.*;
-
-import com.sun.tools.apt.comp.*;
-import com.sun.tools.apt.util.Bark;
-import com.sun.mirror.apt.AnnotationProcessorFactory;
-
-/**
- *  <p><b>This is NOT part of any supported API.
- *  If you write code that depends on this, you do so at your own
- *  risk.  This code and its internal interfaces are subject to change
- *  or deletion without notice.</b>
- */
-@SuppressWarnings("deprecation")
-public class AptJavaCompiler extends com.sun.tools.javac.main.JavaCompiler {
-    /** The context key for the compiler. */
-    protected static final Context.Key<AptJavaCompiler> compilerKey =
-        new Context.Key<AptJavaCompiler>();
-
-    /** Get the JavaCompiler instance for this context. */
-    public static AptJavaCompiler instance(Context context) {
-        AptJavaCompiler instance = context.get(compilerKey);
-        if (instance == null)
-            instance = new AptJavaCompiler(context);
-        return instance;
-    }
-
-
-    java.util.Set<String> genSourceFileNames;
-    java.util.Set<String> genClassFileNames;
-
-    public java.util.Set<String> getSourceFileNames() {
-        return genSourceFileNames;
-    }
-
-    /** List of names of generated class files.
-     */
-    public java.util.Set<String> getClassFileNames() {
-        return genClassFileNames;
-    }
-
-    java.util.Set<java.io.File> aggregateGenFiles = java.util.Collections.emptySet();
-
-    public java.util.Set<java.io.File> getAggregateGenFiles() {
-        return aggregateGenFiles;
-    }
-
-    /** The bark to be used for error reporting.
-     */
-    Bark bark;
-
-    /** The log to be used for error reporting.
-     */
-    Log log;
-
-    /** The annotation framework
-     */
-    Apt apt;
-
-    private static Context preRegister(Context context) {
-        Bark.preRegister(context);
-
-        if (context.get(JavaFileManager.class) == null)
-            JavacFileManager.preRegister(context);
-
-        return context;
-    }
-
-    /** Construct a new compiler from a shared context.
-     */
-    public AptJavaCompiler(Context context) {
-        super(preRegister(context));
-
-        context.put(compilerKey, this);
-        apt = Apt.instance(context);
-
-        ClassReader classReader = ClassReader.instance(context);
-        classReader.preferSource = true;
-
-        // TEMPORARY NOTE: bark==log, but while refactoring, we maintain their
-        // original identities, to remember the original intent.
-        log = Log.instance(context);
-        bark = Bark.instance(context);
-
-        Options options = Options.instance(context);
-        classOutput   = options.get("-retrofit")      == null;
-        nocompile     = options.get("-nocompile")     != null;
-        print         = options.get("-print")         != null;
-        classesAsDecls= options.get("-XclassesAsDecls") != null;
-
-        genSourceFileNames = new java.util.LinkedHashSet<String>();
-        genClassFileNames  = new java.util.LinkedHashSet<String>();
-
-        // this forces a copy of the line map to be kept in the tree,
-        // for use by com.sun.mirror.util.SourcePosition.
-        lineDebugInfo = true;
-    }
-
-    /* Switches:
-     */
-
-    /** Emit class files. This switch is always set, except for the first
-     *  phase of retrofitting, where signatures are parsed.
-     */
-    public boolean classOutput;
-
-    /** The internal printing annotation processor should be used.
-     */
-    public boolean print;
-
-    /** Compilation should not be done after annotation processing.
-     */
-    public boolean nocompile;
-
-    /** Are class files being treated as declarations
-     */
-    public boolean classesAsDecls;
-
-    /** Try to open input stream with given name.
-     *  Report an error if this fails.
-     *  @param filename   The file name of the input stream to be opened.
-     */
-    // PROVIDED FOR EXTREME BACKWARDS COMPATIBILITY
-    // There are some very obscure errors that can arise while translating
-    // the contents of a file from bytes to characters. In Tiger, these
-    // diagnostics were ignored. This method provides compatibility with
-    // that behavior. It would be better to honor those diagnostics, in which
-    // case, this method can be deleted.
-    @Override
-    public CharSequence readSource(JavaFileObject filename) {
-        try {
-            inputFiles.add(filename);
-            boolean prev = bark.setDiagnosticsIgnored(true);
-            try {
-                return filename.getCharContent(false);
-            }
-            finally {
-                bark.setDiagnosticsIgnored(prev);
-            }
-        } catch (IOException e) {
-            bark.error(Position.NOPOS, "cant.read.file", filename);
-            return null;
-        }
-    }
-
-    /** Parse contents of input stream.
-     *  @param filename     The name of the file from which input stream comes.
-     *  @param input        The input stream to be parsed.
-     */
-    // PROVIDED FOR BACKWARDS COMPATIBILITY
-    // In Tiger, diagnostics from the scanner and parser were ignored.
-    // This method provides compatibility with that behavior.
-    // It would be better to honor those diagnostics, in which
-    // case, this method can be deleted.
-    @Override
-    protected JCCompilationUnit parse(JavaFileObject filename, CharSequence content) {
-        boolean prev = bark.setDiagnosticsIgnored(true);
-        try {
-            return super.parse(filename, content);
-        }
-        finally {
-            bark.setDiagnosticsIgnored(prev);
-        }
-    }
-
-    @Override
-    protected boolean keepComments() {
-        return true;  // make doc comments available to mirror API impl.
-    }
-
-    /** Track when the JavaCompiler has been used to compile something. */
-    private boolean hasBeenUsed = false;
-
-    /** Main method: compile a list of files, return all compiled classes
-     *  @param filenames     The names of all files to be compiled.
-     */
-    public List<ClassSymbol> compile(List<String> filenames,
-                                     Map<String, String> origOptions,
-                                     ClassLoader aptCL,
-                                     AnnotationProcessorFactory providedFactory,
-                                     java.util.Set<Class<? extends AnnotationProcessorFactory> > productiveFactories,
-                                     java.util.Set<java.io.File> aggregateGenFiles)
-        throws Throwable {
-        // as a JavaCompiler can only be used once, throw an exception if
-        // it has been used before.
-        assert !hasBeenUsed : "attempt to reuse JavaCompiler";
-        hasBeenUsed = true;
-
-        this.aggregateGenFiles = aggregateGenFiles;
-
-        long msec = System.currentTimeMillis();
-
-        ListBuffer<ClassSymbol> classes = new ListBuffer<ClassSymbol>();
-        try {
-            JavacFileManager fm = (JavacFileManager)fileManager;
-            //parse all files
-            ListBuffer<JCCompilationUnit> trees = new ListBuffer<JCCompilationUnit>();
-            for (List<String> l = filenames; l.nonEmpty(); l = l.tail) {
-                if (classesAsDecls) {
-                    if (! l.head.endsWith(".java") ) { // process as class file
-                        ClassSymbol cs = reader.enterClass(names.fromString(l.head));
-                        try {
-                            cs.complete();
-                        } catch(Symbol.CompletionFailure cf) {
-                            bark.aptError("CantFindClass", l);
-                            continue;
-                        }
-
-                        classes.append(cs); // add to list of classes
-                        continue;
-                    }
-                }
-                JavaFileObject fo = fm.getJavaFileObjectsFromStrings(List.of(l.head)).iterator().next();
-                trees.append(parse(fo));
-            }
-
-            //enter symbols for all files
-            List<JCCompilationUnit> roots = trees.toList();
-
-            if (errorCount() == 0) {
-                boolean prev = bark.setDiagnosticsIgnored(true);
-                try {
-                    enter.main(roots);
-                }
-                finally {
-                    bark.setDiagnosticsIgnored(prev);
-                }
-            }
-
-            if (errorCount() == 0) {
-                apt.main(roots,
-                         classes,
-                         origOptions, aptCL,
-                         providedFactory,
-                         productiveFactories);
-                genSourceFileNames.addAll(apt.getSourceFileNames());
-                genClassFileNames.addAll(apt.getClassFileNames());
-            }
-
-        } catch (Abort ex) {
-        }
-
-        if (verbose)
-            log.printVerbose("total", Long.toString(System.currentTimeMillis() - msec));
-
-        chk.reportDeferredDiagnostics();
-
-        printCount("error", errorCount());
-        printCount("warn", warningCount());
-
-        return classes.toList();
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/main/CommandLine.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
- * Copyright (c) 2004, 2010, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.main;
-
-import java.io.IOException;
-import java.io.Reader;
-import java.io.FileReader;
-import java.io.BufferedReader;
-import java.io.StreamTokenizer;
-import com.sun.tools.javac.util.ListBuffer;
-
-/**
- * Various utility methods for processing Java tool command line arguments.
- *
- *  <p><b>This is NOT part of any supported API.
- *  If you write code that depends on this, you do so at your own risk.
- *  This code and its internal interfaces are subject to change or
- *  deletion without notice.</b>
- */
-public class CommandLine {
-    /**
-     * Process Win32-style command files for the specified command line
-     * arguments and return the resulting arguments. A command file argument
-     * is of the form '@file' where 'file' is the name of the file whose
-     * contents are to be parsed for additional arguments. The contents of
-     * the command file are parsed using StreamTokenizer and the original
-     * '@file' argument replaced with the resulting tokens. Recursive command
-     * files are not supported. The '@' character itself can be quoted with
-     * the sequence '@@'.
-     */
-    public static String[] parse(String[] args)
-        throws IOException
-    {
-        ListBuffer<String> newArgs = new ListBuffer<String>();
-        for (int i = 0; i < args.length; i++) {
-            String arg = args[i];
-            if (arg.length() > 1 && arg.charAt(0) == '@') {
-                arg = arg.substring(1);
-                if (arg.charAt(0) == '@') {
-                    newArgs.append(arg);
-                } else {
-                    loadCmdFile(arg, newArgs);
-                }
-            } else {
-                newArgs.append(arg);
-            }
-        }
-        return newArgs.toList().toArray(new String[newArgs.length()]);
-    }
-
-    private static void loadCmdFile(String name, ListBuffer<String> args)
-        throws IOException
-    {
-        Reader r = new BufferedReader(new FileReader(name));
-        StreamTokenizer st = new StreamTokenizer(r);
-        st.resetSyntax();
-        st.wordChars(' ', 255);
-        st.whitespaceChars(0, ' ');
-        st.commentChar('#');
-        st.quoteChar('"');
-        st.quoteChar('\'');
-        while (st.nextToken() != StreamTokenizer.TT_EOF) {
-            args.append(st.sval);
-        }
-        r.close();
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/main/Main.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1281 +0,0 @@
-/*
- * Copyright (c) 2004, 2011, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.main;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.text.MessageFormat;
-import java.util.ResourceBundle;
-import java.util.MissingResourceException;
-import java.util.StringTokenizer;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.Collections;
-
-import java.net.URLClassLoader;
-import java.net.URL;
-import java.net.MalformedURLException;
-
-import javax.tools.JavaFileManager;
-import javax.tools.StandardLocation;
-
-import com.sun.tools.javac.file.JavacFileManager;
-import com.sun.tools.javac.code.Source;
-import com.sun.tools.javac.code.Symbol;
-import com.sun.tools.javac.code.Type;
-import com.sun.tools.javac.jvm.Target;
-import com.sun.tools.javac.util.*;
-
-import com.sun.tools.apt.comp.AnnotationProcessingError;
-import com.sun.tools.apt.comp.UsageMessageNeededException;
-import com.sun.tools.apt.util.Bark;
-import com.sun.mirror.apt.AnnotationProcessorFactory;
-
-import static com.sun.tools.javac.file.Locations.pathToURLs;
-
-/** This class provides a commandline interface to the apt build-time
- *  tool.
- *
- *  <p><b>This is NOT part of any supported API.
- *  If you write code that depends on this, you do so at your own
- *  risk.  This code and its internal interfaces are subject to change
- *  or deletion without notice.</b>
- */
-@SuppressWarnings("deprecation")
-public class Main {
-
-    /** For testing: enter any options you want to be set implicitly
-     *  here.
-     */
-    static String[] forcedOpts = {
-        // Preserve parameter names from class files if the class was
-        // compiled with debug enabled
-        "-XDsave-parameter-names"
-    };
-
-    /** The name of the compiler, for use in diagnostics.
-     */
-    String ownName;
-
-    /** The writer to use for diagnostic output.
-     */
-    PrintWriter out;
-
-
-    /** Instantiated factory to use in lieu of discovery process.
-     */
-    AnnotationProcessorFactory providedFactory = null;
-
-    /** Map representing original command-line arguments.
-     */
-    Map<String,String> origOptions = new HashMap<String, String>();
-
-    /** Classloader to use for finding factories.
-     */
-    ClassLoader aptCL = null;
-
-    /** Result codes.
-     */
-    static final int
-        EXIT_OK = 0,        // Compilation completed with no errors.
-        EXIT_ERROR = 1,     // Completed but reported errors.
-        EXIT_CMDERR = 2,    // Bad command-line arguments
-        EXIT_SYSERR = 3,    // System error or resource exhaustion.
-        EXIT_ABNORMAL = 4;  // Compiler terminated abnormally
-
-    /** This class represents an option recognized by the main program
-     */
-    private class Option {
-        /** Whether or not the option is used only aptOnly.
-         */
-        boolean aptOnly = false;
-
-        /** Option string.
-         */
-        String name;
-
-        /** Documentation key for arguments.
-         */
-        String argsNameKey;
-
-        /** Documentation key for description.
-         */
-        String descrKey;
-
-        /** Suffix option (-foo=bar or -foo:bar)
-         */
-        boolean hasSuffix;
-
-        Option(String name, String argsNameKey, String descrKey) {
-            this.name = name;
-            this.argsNameKey = argsNameKey;
-            this.descrKey = descrKey;
-            char lastChar = name.charAt(name.length()-1);
-            hasSuffix = lastChar == ':' || lastChar == '=';
-        }
-        Option(String name, String descrKey) {
-            this(name, null, descrKey);
-        }
-
-        public String toString() {
-            return name;
-        }
-
-        /** Does this option take a (separate) operand?
-         */
-        boolean hasArg() {
-            return argsNameKey != null && !hasSuffix;
-        }
-
-        /** Does argument string match option pattern?
-         *  @param arg        The command line argument string.
-         */
-        boolean matches(String arg) {
-            return hasSuffix ? arg.startsWith(name) : arg.equals(name);
-        }
-
-        /** For javac-only options, print nothing.
-         */
-        void help() {
-        }
-
-        String helpSynopsis() {
-            return name +
-                (argsNameKey == null ? "" :
-                 ((hasSuffix ? "" : " ") +
-                  getLocalizedString(argsNameKey)));
-        }
-
-        /** Print a line of documentation describing this option, if non-standard.
-         */
-        void xhelp() {}
-
-        /** Process the option (with arg). Return true if error detected.
-         */
-        boolean process(String option, String arg) {
-            options.put(option, arg);
-            return false;
-        }
-
-        /** Process the option (without arg). Return true if error detected.
-         */
-        boolean process(String option) {
-            if (hasSuffix)
-                return process(name, option.substring(name.length()));
-            else
-                return process(option, option);
-        }
-    };
-
-    private class SharedOption extends Option {
-        SharedOption(String name, String argsNameKey, String descrKey) {
-            super(name, argsNameKey, descrKey);
-        }
-
-        SharedOption(String name, String descrKey) {
-            super(name, descrKey);
-        }
-
-        void help() {
-            String s = "  " + helpSynopsis();
-            out.print(s);
-            for (int j = s.length(); j < 29; j++) out.print(" ");
-            Bark.printRawLines(out, getLocalizedString(descrKey));
-        }
-
-    }
-
-    private class AptOption extends Option {
-        AptOption(String name, String argsNameKey, String descrKey) {
-            super(name, argsNameKey, descrKey);
-            aptOnly = true;
-        }
-
-        AptOption(String name, String descrKey) {
-            super(name, descrKey);
-            aptOnly = true;
-        }
-
-        /** Print a line of documentation describing this option, if standard.
-         */
-        void help() {
-            String s = "  " + helpSynopsis();
-            out.print(s);
-            for (int j = s.length(); j < 29; j++) out.print(" ");
-            Bark.printRawLines(out, getLocalizedString(descrKey));
-        }
-
-    }
-
-    /** A nonstandard or extended (-X) option
-     */
-    private class XOption extends Option {
-        XOption(String name, String argsNameKey, String descrKey) {
-            super(name, argsNameKey, descrKey);
-        }
-        XOption(String name, String descrKey) {
-            this(name, null, descrKey);
-        }
-        void help() {}
-        void xhelp() {}
-    };
-
-    /** A nonstandard or extended (-X) option
-     */
-    private class AptXOption extends Option {
-        AptXOption(String name, String argsNameKey, String descrKey) {
-            super(name, argsNameKey, descrKey);
-            aptOnly = true;
-        }
-        AptXOption(String name, String descrKey) {
-            this(name, null, descrKey);
-        }
-        void xhelp() {
-            String s = "  " + helpSynopsis();
-            out.print(s);
-            for (int j = s.length(); j < 29; j++) out.print(" ");
-            Log.printRawLines(out, getLocalizedString(descrKey));
-        }
-    };
-
-    /** A hidden (implementor) option
-     */
-    private class HiddenOption extends Option {
-        HiddenOption(String name) {
-            super(name, null, null);
-        }
-        HiddenOption(String name, String argsNameKey) {
-            super(name, argsNameKey, null);
-        }
-        void help() {}
-        void xhelp() {}
-    };
-
-    private class AptHiddenOption extends HiddenOption {
-        AptHiddenOption(String name) {
-            super(name);
-            aptOnly = true;
-        }
-        AptHiddenOption(String name, String argsNameKey) {
-            super(name, argsNameKey);
-            aptOnly = true;
-        }
-    }
-
-    private Option[] recognizedOptions = {
-        new Option("-g",                                        "opt.g"),
-        new Option("-g:none",                                   "opt.g.none") {
-            boolean process(String option) {
-                options.put("-g:", "none");
-                return false;
-            }
-        },
-
-        new Option("-g:{lines,vars,source}",                    "opt.g.lines.vars.source") {
-            boolean matches(String s) {
-                return s.startsWith("-g:");
-            }
-            boolean process(String option) {
-                String suboptions = option.substring(3);
-                options.put("-g:", suboptions);
-                // enter all the -g suboptions as "-g:suboption"
-                for (StringTokenizer t = new StringTokenizer(suboptions, ","); t.hasMoreTokens(); ) {
-                    String tok = t.nextToken();
-                    String opt = "-g:" + tok;
-                    options.put(opt, opt);
-                }
-                return false;
-            }
-        },
-
-        new XOption("-Xlint",                                   "opt.Xlint"),
-        new XOption("-Xlint:{"
-                    + "all,"
-                    + "cast,deprecation,divzero,empty,unchecked,fallthrough,path,serial,finally,overrides,"
-                    + "-cast,-deprecation,-divzero,-empty,-unchecked,-fallthrough,-path,-serial,-finally,-overrides,"
-                    + "none}",
-                                                                "opt.Xlint.suboptlist") {
-            boolean matches(String s) {
-                return s.startsWith("-Xlint:");
-            }
-            boolean process(String option) {
-                String suboptions = option.substring(7);
-                options.put("-Xlint:", suboptions);
-                // enter all the -Xlint suboptions as "-Xlint:suboption"
-                for (StringTokenizer t = new StringTokenizer(suboptions, ","); t.hasMoreTokens(); ) {
-                    String tok = t.nextToken();
-                    String opt = "-Xlint:" + tok;
-                    options.put(opt, opt);
-                }
-                return false;
-            }
-        },
-
-        new Option("-nowarn",                                   "opt.nowarn"),
-        new Option("-verbose",                                  "opt.verbose"),
-
-        // -deprecation is retained for command-line backward compatibility
-        new Option("-deprecation",                              "opt.deprecation") {
-                boolean process(String option) {
-                    options.put("-Xlint:deprecation", option);
-                    return false;
-                }
-            },
-
-        new SharedOption("-classpath",     "opt.arg.path",      "opt.classpath"),
-        new SharedOption("-cp",            "opt.arg.path",      "opt.classpath") {
-            boolean process(String option, String arg) {
-                return super.process("-classpath", arg);
-            }
-        },
-        new Option("-sourcepath",          "opt.arg.path",      "opt.sourcepath"),
-        new Option("-bootclasspath",       "opt.arg.path",      "opt.bootclasspath") {
-            boolean process(String option, String arg) {
-                options.remove("-Xbootclasspath/p:");
-                options.remove("-Xbootclasspath/a:");
-                return super.process(option, arg);
-            }
-        },
-        new XOption("-Xbootclasspath/p:",  "opt.arg.path", "opt.Xbootclasspath.p"),
-        new XOption("-Xbootclasspath/a:",  "opt.arg.path", "opt.Xbootclasspath.a"),
-        new XOption("-Xbootclasspath:",    "opt.arg.path", "opt.bootclasspath") {
-            boolean process(String option, String arg) {
-                options.remove("-Xbootclasspath/p:");
-                options.remove("-Xbootclasspath/a:");
-                return super.process("-bootclasspath", arg);
-            }
-        },
-        new Option("-extdirs",             "opt.arg.dirs",      "opt.extdirs"),
-        new XOption("-Djava.ext.dirs=",    "opt.arg.dirs",      "opt.extdirs") {
-            boolean process(String option, String arg) {
-                return super.process("-extdirs", arg);
-            }
-        },
-        new Option("-endorseddirs",        "opt.arg.dirs",      "opt.endorseddirs"),
-        new XOption("-Djava.endorsed.dirs=","opt.arg.dirs",     "opt.endorseddirs") {
-            boolean process(String option, String arg) {
-                return super.process("-endorseddirs", arg);
-            }
-        },
-        new Option("-proc:{none, only}",                        "opt.proc.none.only") {
-            public boolean matches(String s) {
-                return s.equals("-proc:none") || s.equals("-proc:only");
-            }
-        },
-        new Option("-processor",        "opt.arg.class",        "opt.processor"),
-        new Option("-processorpath",    "opt.arg.path",         "opt.processorpath"),
-
-        new SharedOption("-d",          "opt.arg.path", "opt.d"),
-        new SharedOption("-s",          "opt.arg.path", "opt.s"),
-        new Option("-encoding",         "opt.arg.encoding",     "opt.encoding"),
-        new SharedOption("-source",             "opt.arg.release",      "opt.source") {
-            boolean process(String option, String operand) {
-                Source source = Source.lookup(operand);
-                if (source == null) {
-                    error("err.invalid.source", operand);
-                    return true;
-                } else if (source.compareTo(Source.JDK1_5) > 0) {
-                    error("err.unsupported.source.version", operand);
-                    return true;
-                }
-                return super.process(option, operand);
-            }
-        },
-        new Option("-target",           "opt.arg.release",      "opt.target") {
-            boolean process(String option, String operand) {
-                Target target = Target.lookup(operand);
-                if (target == null) {
-                    error("err.invalid.target", operand);
-                    return true;
-                } else if (target.compareTo(Target.JDK1_5) > 0) {
-                    error("err.unsupported.target.version", operand);
-                    return true;
-                }
-                return super.process(option, operand);
-            }
-        },
-        new AptOption("-version",               "opt.version") {
-            boolean process(String option) {
-                Bark.printRawLines(out, ownName + " " + AptJavaCompiler.version());
-                return super.process(option);
-            }
-        },
-        new HiddenOption("-fullversion"),
-        new AptOption("-help",                                  "opt.help") {
-            boolean process(String option) {
-                Main.this.help();
-                return super.process(option);
-            }
-        },
-        new SharedOption("-X",                                  "opt.X") {
-            boolean process(String option) {
-                Main.this.xhelp();
-                return super.process(option);
-            }
-        },
-
-        // This option exists only for the purpose of documenting itself.
-        // It's actually implemented by the launcher.
-        new AptOption("-J",             "opt.arg.flag",         "opt.J") {
-            String helpSynopsis() {
-                hasSuffix = true;
-                return super.helpSynopsis();
-            }
-            boolean process(String option) {
-                throw new AssertionError
-                    ("the -J flag should be caught by the launcher.");
-            }
-        },
-
-
-        new SharedOption("-A",          "opt.proc.flag",        "opt.A") {
-                String helpSynopsis() {
-                    hasSuffix = true;
-                    return super.helpSynopsis();
-                }
-
-                boolean matches(String arg) {
-                    return arg.startsWith("-A");
-                }
-
-                boolean hasArg() {
-                    return false;
-                }
-
-                boolean process(String option) {
-                    return process(option, option);
-                }
-            },
-
-        new AptOption("-nocompile",     "opt.nocompile"),
-
-        new AptOption("-print",         "opt.print"),
-
-        new AptOption("-factorypath", "opt.arg.path", "opt.factorypath"),
-
-        new AptOption("-factory",     "opt.arg.class", "opt.factory"),
-
-        new AptXOption("-XListAnnotationTypes", "opt.XListAnnotationTypes"),
-
-        new AptXOption("-XListDeclarations",    "opt.XListDeclarations"),
-
-        new AptXOption("-XPrintAptRounds",      "opt.XPrintAptRounds"),
-
-        new AptXOption("-XPrintFactoryInfo",    "opt.XPrintFactoryInfo"),
-
-        /*
-         * Option to treat both classes and source files as
-         * declarations that can be given on the command line and
-         * processed as the result of an apt round.
-         */
-        new AptXOption("-XclassesAsDecls", "opt.XClassesAsDecls"),
-
-        // new Option("-moreinfo",                                      "opt.moreinfo") {
-        new HiddenOption("-moreinfo") {
-            boolean process(String option) {
-                Type.moreInfo = true;
-                return super.process(option);
-            }
-        },
-
-        // treat warnings as errors
-        new HiddenOption("-Werror"),
-
-        // use complex inference from context in the position of a method call argument
-        new HiddenOption("-complexinference"),
-
-        // prompt after each error
-        // new Option("-prompt",                                        "opt.prompt"),
-        new HiddenOption("-prompt"),
-
-        // dump stack on error
-        new HiddenOption("-doe"),
-
-        // display warnings for generic unchecked and unsafe operations
-        new HiddenOption("-warnunchecked") {
-            boolean process(String option) {
-                options.put("-Xlint:unchecked", option);
-                return false;
-            }
-        },
-
-        new HiddenOption("-Xswitchcheck") {
-            boolean process(String option) {
-                options.put("-Xlint:switchcheck", option);
-                return false;
-            }
-        },
-
-        // generate trace output for subtyping operations
-        new HiddenOption("-debugsubtyping"),
-
-        new XOption("-Xmaxerrs",        "opt.arg.number",       "opt.maxerrs"),
-        new XOption("-Xmaxwarns",       "opt.arg.number",       "opt.maxwarns"),
-        new XOption("-Xstdout",         "opt.arg.file",         "opt.Xstdout") {
-            boolean process(String option, String arg) {
-                try {
-                    out = new PrintWriter(new FileWriter(arg), true);
-                } catch (java.io.IOException e) {
-                    error("err.error.writing.file", arg, e);
-                    return true;
-                }
-                return super.process(option, arg);
-            }
-        },
-
-        new XOption("-Xprint",                                  "opt.print"),
-
-        new XOption("-XprintRounds",                            "opt.printRounds"),
-
-        new XOption("-XprintProcessorInfo",                     "opt.printProcessorInfo"),
-
-
-        /* -O is a no-op, accepted for backward compatibility. */
-        new HiddenOption("-O"),
-
-        /* -Xjcov produces tables to support the code coverage tool jcov. */
-        new HiddenOption("-Xjcov"),
-
-        /* This is a back door to the compiler's option table.
-         * -Dx=y sets the option x to the value y.
-         * -Dx sets the option x to the value x.
-         */
-        new HiddenOption("-XD") {
-            String s;
-            boolean matches(String s) {
-                this.s = s;
-                return s.startsWith(name);
-            }
-            boolean process(String option) {
-                s = s.substring(name.length());
-                int eq = s.indexOf('=');
-                String key = (eq < 0) ? s : s.substring(0, eq);
-                String value = (eq < 0) ? s : s.substring(eq+1);
-                options.put(key, value);
-                return false;
-            }
-        },
-
-        new HiddenOption("sourcefile") {
-                String s;
-                boolean matches(String s) {
-                    this.s = s;
-                    return s.endsWith(".java") ||
-                        (options.get("-XclassesAsDecls") != null);
-                }
-                boolean process(String option) {
-                    if (s.endsWith(".java")) {
-                        if (!sourceFileNames.contains(s))
-                            sourceFileNames.add(s);
-                    } else if (options.get("-XclassesAsDecls") != null) {
-                        classFileNames.add(s);
-                    }
-                    return false;
-                }
-            },
-    };
-
-    /**
-     * Construct a compiler instance.
-     */
-    public Main(String name) {
-        this(name, new PrintWriter(System.err, true));
-    }
-
-    /**
-     * Construct a compiler instance.
-     */
-    public Main(String name, PrintWriter out) {
-        this.ownName = name;
-        this.out = out;
-    }
-
-    /** A table of all options that's passed to the JavaCompiler constructor.  */
-    private Options options = null;
-
-    /** The list of source files to process
-     */
-    java.util.List<String> sourceFileNames = new java.util.LinkedList<String>();
-
-    /** The list of class files to process
-     */
-    java.util.List<String> classFileNames = new java.util.LinkedList<String>();
-
-    /** List of top level names of generated source files from most recent apt round.
-     */
-    java.util.Set<String> genSourceFileNames = new java.util.LinkedHashSet<String>();
-
-    /** List of names of generated class files from most recent apt round.
-     */
-    java.util.Set<String> genClassFileNames  = new java.util.LinkedHashSet<String>();
-
-    /**
-     * List of all the generated source file names across all apt rounds.
-     */
-    java.util.Set<String> aggregateGenSourceFileNames = new java.util.LinkedHashSet<String>();
-
-    /**
-     * List of all the generated class file names across all apt rounds.
-     */
-    java.util.Set<String> aggregateGenClassFileNames  = new java.util.LinkedHashSet<String>();
-
-    /**
-     * List of all the generated file names across all apt rounds.
-     */
-    java.util.Set<java.io.File> aggregateGenFiles = new java.util.LinkedHashSet<java.io.File>();
-
-    /**
-     * Set of all factories that have provided a processor on some apt round.
-     */
-    java.util.Set<Class<? extends AnnotationProcessorFactory> > productiveFactories  =
-        new java.util.LinkedHashSet<Class<? extends AnnotationProcessorFactory> >();
-
-
-
-    /** Print a string that explains usage.
-     */
-    void help() {
-        Bark.printRawLines(out, getLocalizedString("msg.usage.header", ownName));
-        for (int i=0; i < recognizedOptions.length; i++) {
-            recognizedOptions[i].help();
-        }
-        Bark.printRawLines(out, getLocalizedString("msg.usage.footer"));
-        out.println();
-    }
-
-    /** Print a string that explains usage for X options.
-     */
-    void xhelp() {
-        for (int i=0; i<recognizedOptions.length; i++) {
-            recognizedOptions[i].xhelp();
-        }
-        out.println();
-        Bark.printRawLines(out, getLocalizedString("msg.usage.nonstandard.footer"));
-    }
-
-    /** Report a usage error.
-     */
-    void error(String key, Object... args) {
-        warning(key, args);
-        help();
-    }
-
-    /** Report a warning.
-     */
-    void warning(String key, Object... args) {
-        Bark.printRawLines(out, ownName + ": "
-                       + getLocalizedString(key, args));
-    }
-
-    /** Process command line arguments: store all command line options
-     *  in `options' table and return all source filenames.
-     *  @param args    The array of command line arguments.
-     */
-    protected java.util.List<String> processArgs(String[] flags) {
-        int ac = 0;
-        while (ac < flags.length) {
-            String flag = flags[ac];
-            ac++;
-
-            int j;
-            for (j=0; j < recognizedOptions.length; j++)
-                if (recognizedOptions[j].matches(flag))
-                    break;
-
-            if (j == recognizedOptions.length) {
-                error("err.invalid.flag", flag);
-                return null;
-            }
-
-            Option option = recognizedOptions[j];
-            if (option.hasArg()) {
-                if (ac == flags.length) {
-                    error("err.req.arg", flag);
-                    return null;
-                }
-                String operand = flags[ac];
-                ac++;
-                if (option.process(flag, operand))
-                    return null;
-            } else {
-                if (option.process(flag))
-                    return null;
-            }
-        }
-
-        String sourceString = options.get("-source");
-        Source source = (sourceString != null)
-            ? Source.lookup(sourceString)
-            : Source.JDK1_5; // JDK 5 is the latest supported source version
-        String targetString = options.get("-target");
-        Target target = (targetString != null)
-            ? Target.lookup(targetString)
-            : Target.JDK1_5; // JDK 5 is the latest supported source version
-        // We don't check source/target consistency for CLDC, as J2ME
-        // profiles are not aligned with J2SE targets; moreover, a
-        // single CLDC target may have many profiles.  In addition,
-        // this is needed for the continued functioning of the JSR14
-        // prototype.
-        if (Character.isDigit(target.name.charAt(0)) &&
-            target.compareTo(source.requiredTarget()) < 0) {
-            if (targetString != null) {
-                if (sourceString == null) {
-                    warning("warn.target.default.source.conflict",
-                            targetString,
-                            source.requiredTarget().name);
-                } else {
-                    warning("warn.source.target.conflict",
-                            sourceString,
-                            source.requiredTarget().name);
-                }
-                return null;
-            } else {
-                options.put("-target", source.requiredTarget().name);
-            }
-        }
-        return sourceFileNames;
-    }
-
-    /** Programmatic interface for main function.
-     * @param args    The command line parameters.
-     */
-    public int compile(String[] args, AnnotationProcessorFactory factory) {
-        int returnCode = 0;
-        providedFactory = factory;
-
-        Context context = new Context();
-        JavacFileManager.preRegister(context);
-        options = Options.instance(context);
-        Bark bark;
-
-        /*
-         * Process the command line options to create the intial
-         * options data.  This processing is at least partially reused
-         * by any recursive apt calls.
-         */
-
-        // For testing: assume all arguments in forcedOpts are
-        // prefixed to command line arguments.
-        processArgs(forcedOpts);
-
-        /*
-         * A run of apt only gets passed the most recently generated
-         * files; the initial run of apt gets passed the files from
-         * the command line.
-         */
-
-        java.util.List<String> origFilenames;
-        try {
-            // assign args the result of parse to capture results of
-            // '@file' expansion
-            origFilenames = processArgs((args=CommandLine.parse(args)));
-
-            if (options.get("suppress-tool-api-removal-message") == null) {
-                Bark.printRawLines(out, getLocalizedString("misc.Deprecation"));
-            }
-
-            if (origFilenames == null) {
-                return EXIT_CMDERR;
-            } else if (origFilenames.size() == 0) {
-                // it is allowed to compile nothing if just asking for help
-                if (options.get("-help") != null ||
-                    options.get("-X") != null)
-                    return EXIT_OK;
-            }
-        } catch (java.io.FileNotFoundException e) {
-            Bark.printRawLines(out, ownName + ": " +
-                           getLocalizedString("err.file.not.found",
-                                              e.getMessage()));
-            return EXIT_SYSERR;
-        } catch (IOException ex) {
-            ioMessage(ex);
-            return EXIT_SYSERR;
-        } catch (OutOfMemoryError ex) {
-            resourceMessage(ex);
-            return EXIT_SYSERR;
-        } catch (StackOverflowError ex) {
-            resourceMessage(ex);
-            return EXIT_SYSERR;
-        } catch (FatalError ex) {
-            feMessage(ex);
-            return EXIT_SYSERR;
-        } catch (sun.misc.ServiceConfigurationError sce) {
-            sceMessage(sce);
-            return EXIT_ABNORMAL;
-        } catch (Throwable ex) {
-            bugMessage(ex);
-            return EXIT_ABNORMAL;
-        }
-
-
-        boolean firstRound = true;
-        boolean needSourcePath = false;
-        boolean needClassPath  = false;
-        boolean classesAsDecls = options.get("-XclassesAsDecls") != null;
-
-        /*
-         * Create augumented classpath and sourcepath values.
-         *
-         * If any of the prior apt rounds generated any new source
-         * files, the n'th apt round (and any javac invocation) has the
-         * source destination path ("-s path") as the last element of
-         * the "-sourcepath" to the n'th call.
-         *
-         * If any of the prior apt rounds generated any new class files,
-         * the n'th apt round (and any javac invocation) has the class
-         * destination path ("-d path") as the last element of the
-         * "-classpath" to the n'th call.
-         */
-        String augmentedSourcePath = "";
-        String augmentedClassPath = "";
-        String baseClassPath = "";
-
-        try {
-            /*
-             * Record original options for future annotation processor
-             * invocations.
-             */
-            origOptions = new HashMap<String, String>(options.size());
-            for(String s: options.keySet()) {
-                String value;
-                if (s.equals(value = options.get(s)))
-                    origOptions.put(s, (String)null);
-                else
-                    origOptions.put(s, value);
-            }
-            origOptions = Collections.unmodifiableMap(origOptions);
-
-            JavacFileManager fm = (JavacFileManager) context.get(JavaFileManager.class);
-            {
-                // Note: it might be necessary to check for an empty
-                // component ("") of the source path or class path
-
-                String sourceDest = options.get("-s");
-                if (fm.hasLocation(StandardLocation.SOURCE_PATH)) {
-                    for(File f: fm.getLocation(StandardLocation.SOURCE_PATH))
-                        augmentedSourcePath += (f + File.pathSeparator);
-                    augmentedSourcePath += (sourceDest == null)?".":sourceDest;
-                } else {
-                    augmentedSourcePath = ".";
-
-                    if (sourceDest != null)
-                        augmentedSourcePath += (File.pathSeparator + sourceDest);
-                }
-
-                String classDest = options.get("-d");
-                if (fm.hasLocation(StandardLocation.CLASS_PATH)) {
-                    for(File f: fm.getLocation(StandardLocation.CLASS_PATH))
-                        baseClassPath += (f + File.pathSeparator);
-                    // put baseClassPath into map to handle any
-                    // value needed for the classloader
-                    options.put("-classpath", baseClassPath);
-
-                    augmentedClassPath = baseClassPath + ((classDest == null)?".":classDest);
-                } else {
-                    baseClassPath = ".";
-                    if (classDest != null)
-                        augmentedClassPath = baseClassPath + (File.pathSeparator + classDest);
-                }
-                assert options.get("-classpath") != null;
-            }
-
-            /*
-             * Create base and augmented class loaders
-             */
-            ClassLoader augmentedAptCL = null;
-            {
-            /*
-             * Use a url class loader to look for classes on the
-             * user-specified class path. Prepend computed bootclass
-             * path, which includes extdirs, to the URLClassLoader apt
-             * uses.
-             */
-                String aptclasspath = "";
-                String bcp = "";
-                Iterable<? extends File> bootclasspath = fm.getLocation(StandardLocation.PLATFORM_CLASS_PATH);
-
-                if (bootclasspath != null) {
-                    for(File f: bootclasspath)
-                        bcp += (f + File.pathSeparator);
-                }
-
-                // If the factory path is set, use that path
-                if (providedFactory == null)
-                    aptclasspath = options.get("-factorypath");
-                if (aptclasspath == null)
-                    aptclasspath = options.get("-classpath");
-
-                assert aptclasspath != null;
-                aptclasspath = (bcp + aptclasspath);
-                aptCL = new URLClassLoader(pathToURLs(aptclasspath));
-
-                if (providedFactory == null &&
-                    options.get("-factorypath") != null) // same CL even if new class files written
-                    augmentedAptCL = aptCL;
-                else {
-                    // Create class loader in case new class files are
-                    // written
-                    augmentedAptCL = new URLClassLoader(pathToURLs(augmentedClassPath.
-                                                                   substring(baseClassPath.length())),
-                                                        aptCL);
-                }
-            }
-
-            int round = 0; // For -XPrintAptRounds
-            do {
-                round++;
-
-                Context newContext = new Context();
-                Options newOptions = Options.instance(newContext); // creates a new context
-                newOptions.putAll(options);
-
-                // populate with old options... don't bother reparsing command line, etc.
-
-                // if genSource files, must add destination to source path
-                if (genSourceFileNames.size() > 0 && !firstRound) {
-                    newOptions.put("-sourcepath", augmentedSourcePath);
-                    needSourcePath = true;
-                }
-                aggregateGenSourceFileNames.addAll(genSourceFileNames);
-                sourceFileNames.addAll(genSourceFileNames);
-                genSourceFileNames.clear();
-
-                // Don't really need to track this; just have to add -d
-                // "foo" to class path if any class files are generated
-                if (genClassFileNames.size() > 0) {
-                    newOptions.put("-classpath", augmentedClassPath);
-                    aptCL = augmentedAptCL;
-                    needClassPath = true;
-                }
-                aggregateGenClassFileNames.addAll(genClassFileNames);
-                classFileNames.addAll(genClassFileNames);
-                genClassFileNames.clear();
-
-                options = newOptions;
-
-                if (options.get("-XPrintAptRounds") != null) {
-                    out.println("apt Round : " + round);
-                    out.println("filenames: " + sourceFileNames);
-                    if (classesAsDecls)
-                        out.println("classnames: " + classFileNames);
-                    out.println("options: " + options);
-                }
-
-                returnCode = compile(args, newContext);
-                firstRound = false;
-
-                // Check for reported errors before continuing
-                bark = Bark.instance(newContext);
-            } while(((genSourceFileNames.size() != 0 ) ||
-                     (classesAsDecls && genClassFileNames.size() != 0)) &&
-                    bark.nerrors == 0);
-        } catch (UsageMessageNeededException umne) {
-            help();
-            return EXIT_CMDERR; // will cause usage message to be printed
-        }
-
-        /*
-         * Do not compile if a processor has reported an error or if
-         * there are no source files to process.  A more sophisticated
-         * test would also fail for syntax errors caught by javac.
-         */
-        if (options.get("-nocompile") == null &&
-            options.get("-print")     == null &&
-            bark.nerrors == 0 &&
-            (origFilenames.size() > 0 || aggregateGenSourceFileNames.size() > 0 )) {
-            /*
-             * Need to create new argument string for calling javac:
-             * 1. apt specific arguments (e.g. -factory) must be stripped out
-             * 2. proper settings for sourcepath and classpath must be used
-             * 3. generated class names must be added
-             * 4. class file names as declarations must be removed
-             */
-
-            int newArgsLength = args.length +
-                (needSourcePath?1:0) +
-                (needClassPath?1:0) +
-                aggregateGenSourceFileNames.size();
-
-            // Null out apt-specific options and don't copy over into
-            // newArgs. This loop should be a lot faster; the options
-            // array should be replaced with a better data structure
-            // which includes a map from strings to options.
-            //
-            // If treating classes as declarations, must strip out
-            // class names from the javac argument list
-            argLoop:
-            for(int i = 0; i < args.length; i++) {
-                int matchPosition = -1;
-
-                // "-A" by itself is recognized by apt but not javac
-                if (args[i] != null && args[i].equals("-A")) {
-                    newArgsLength--;
-                    args[i] = null;
-                    continue argLoop;
-                } else {
-                    optionLoop:
-                    for(int j = 0; j < recognizedOptions.length; j++) {
-                        if (args[i] != null && recognizedOptions[j].matches(args[i])) {
-                            matchPosition = j;
-                            break optionLoop;
-                        }
-                    }
-
-                    if (matchPosition != -1) {
-                        Option op = recognizedOptions[matchPosition];
-                        if (op.aptOnly) {
-                            newArgsLength--;
-                            args[i] = null;
-                            if (op.hasArg()) {
-                                newArgsLength--;
-                                args[i+1] = null;
-                            }
-                        } else {
-                            if (op.hasArg()) { // skip over next string
-                                i++;
-                                continue argLoop;
-                            }
-
-                            if ((options.get("-XclassesAsDecls") != null) &&
-                                (matchPosition == (recognizedOptions.length-1)) ){
-                                // Remove class file names from
-                                // consideration by javac.
-                                if (! args[i].endsWith(".java")) {
-                                    newArgsLength--;
-                                    args[i] = null;
-                                }
-                            }
-                        }
-                    }
-                }
-            }
-
-            String newArgs[] = new String[newArgsLength];
-
-            int j = 0;
-            for(int i=0; i < args.length; i++) {
-                if (args[i] != null)
-                    newArgs[j++] = args[i];
-            }
-
-            if (needClassPath)
-                newArgs[j++] = "-XD-classpath=" + augmentedClassPath;
-
-            if (needSourcePath) {
-                newArgs[j++] = "-XD-sourcepath=" + augmentedSourcePath;
-
-                for(String s: aggregateGenSourceFileNames)
-                    newArgs[j++] = s;
-            }
-
-            returnCode = com.sun.tools.javac.Main.compile(newArgs);
-        }
-
-        return returnCode;
-    }
-
-    /** Programmatic interface for main function.
-     * @param args    The command line parameters.
-     */
-    int compile(String[] args, Context context) {
-        boolean assertionsEnabled = false;
-        assert assertionsEnabled = true;
-        if (!assertionsEnabled) {
-            // Bark.printLines(out, "fatal error: assertions must be enabled when running javac");
-            // return EXIT_ABNORMAL;
-        }
-        int exitCode = EXIT_OK;
-
-        AptJavaCompiler comp = null;
-        try {
-            context.put(Bark.outKey, out);
-
-            comp = AptJavaCompiler.instance(context);
-            if (comp == null)
-                return EXIT_SYSERR;
-
-            java.util.List<String> nameList = new java.util.LinkedList<String>();
-            nameList.addAll(sourceFileNames);
-            if (options.get("-XclassesAsDecls") != null)
-                nameList.addAll(classFileNames);
-
-            List<Symbol.ClassSymbol> cs
-                = comp.compile(List.from(nameList.toArray(new String[0])),
-                               origOptions,
-                               aptCL,
-                               providedFactory,
-                               productiveFactories,
-                               aggregateGenFiles);
-
-            /*
-             * If there aren't new source files, we shouldn't bother
-             *  running javac if there were errors.
-             *
-             * If there are new files, we should try running javac in
-             * case there were typing errors.
-             *
-             */
-
-            if (comp.errorCount() != 0 ||
-                options.get("-Werror") != null && comp.warningCount() != 0)
-                return EXIT_ERROR;
-        } catch (IOException ex) {
-            ioMessage(ex);
-            return EXIT_SYSERR;
-        } catch (OutOfMemoryError ex) {
-            resourceMessage(ex);
-            return EXIT_SYSERR;
-        } catch (StackOverflowError ex) {
-            resourceMessage(ex);
-            return EXIT_SYSERR;
-        } catch (FatalError ex) {
-            feMessage(ex);
-            return EXIT_SYSERR;
-        } catch (UsageMessageNeededException umne) {
-            help();
-            return EXIT_CMDERR; // will cause usage message to be printed
-        } catch (AnnotationProcessingError ex) {
-            apMessage(ex);
-            return EXIT_ABNORMAL;
-        } catch (sun.misc.ServiceConfigurationError sce) {
-            sceMessage(sce);
-            return EXIT_ABNORMAL;
-        } catch (Throwable ex) {
-            bugMessage(ex);
-            return EXIT_ABNORMAL;
-        } finally {
-            if (comp != null) {
-                comp.close();
-                genSourceFileNames.addAll(comp.getSourceFileNames());
-                genClassFileNames.addAll(comp.getClassFileNames());
-            }
-            sourceFileNames = new java.util.LinkedList<String>();
-            classFileNames  = new java.util.LinkedList<String>();
-        }
-        return exitCode;
-    }
-
-    /** Print a message reporting an internal error.
-     */
-    void bugMessage(Throwable ex) {
-        Bark.printRawLines(out, getLocalizedString("msg.bug",
-                                               AptJavaCompiler.version()));
-        ex.printStackTrace(out);
-    }
-
-    /** Print a message reporting an fatal error.
-     */
-    void apMessage(AnnotationProcessingError ex) {
-        Bark.printRawLines(out, getLocalizedString("misc.Problem"));
-        ex.getCause().printStackTrace(out);
-    }
-
-    /** Print a message about sun.misc.Service problem.
-     */
-    void sceMessage(sun.misc.ServiceConfigurationError ex) {
-        Bark.printRawLines(out, getLocalizedString("misc.SunMiscService"));
-        ex.printStackTrace(out);
-    }
-
-    /** Print a message reporting an fatal error.
-     */
-    void feMessage(Throwable ex) {
-        Bark.printRawLines(out, ex.toString());
-    }
-
-    /** Print a message reporting an input/output error.
-     */
-    void ioMessage(Throwable ex) {
-        Bark.printRawLines(out, getLocalizedString("msg.io"));
-        ex.printStackTrace(out);
-    }
-
-    /** Print a message reporting an out-of-resources error.
-     */
-    void resourceMessage(Throwable ex) {
-        Bark.printRawLines(out, getLocalizedString("msg.resource"));
-        ex.printStackTrace(out);
-    }
-
-    /* ************************************************************************
-     * Internationalization
-     *************************************************************************/
-
-    /** Find a localized string in the resource bundle.
-     *  @param key     The key for the localized string.
-     */
-    private static String getLocalizedString(String key, Object... args) {
-        return getText(key, args);
-    }
-
-    private static final String javacRB =
-        "com.sun.tools.javac.resources.javac";
-
-    private static final String aptRB =
-        "com.sun.tools.apt.resources.apt";
-
-    private static ResourceBundle messageRBjavac;
-    private static ResourceBundle messageRBapt;
-
-    /** Initialize ResourceBundle.
-     */
-    private static void initResource() {
-        try {
-            messageRBapt   = ResourceBundle.getBundle(aptRB);
-            messageRBjavac = ResourceBundle.getBundle(javacRB);
-        } catch (MissingResourceException e) {
-            Error x = new FatalError("Fatal Error: Resource for apt or javac is missing");
-            x.initCause(e);
-            throw x;
-        }
-    }
-
-    /** Get and format message string from resource.
-     */
-    private static String getText(String key, Object... _args) {
-        String[] args = new String[_args.length];
-        for (int i=0; i<_args.length; i++) {
-            args[i] = "" + _args[i];
-        }
-        if (messageRBapt == null || messageRBjavac == null )
-            initResource();
-        try {
-            return MessageFormat.format(messageRBapt.getString("apt." + key),
-                                        (Object[]) args);
-        } catch (MissingResourceException e) {
-            try {
-                return MessageFormat.format(messageRBjavac.getString("javac." + key),
-                                            (Object[]) args);
-            } catch (MissingResourceException f) {
-                String msg = "apt or javac message file broken: key={0} "
-                    + "arguments={1}, {2}";
-                return MessageFormat.format(msg, (Object[]) args);
-            }
-        }
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/AptEnv.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror;
-
-
-import com.sun.tools.apt.mirror.declaration.DeclarationMaker;
-import com.sun.tools.apt.mirror.type.TypeMaker;
-import com.sun.tools.javac.code.*;
-import com.sun.tools.javac.code.Symbol.CompletionFailure;
-import com.sun.tools.javac.comp.Attr;
-import com.sun.tools.javac.comp.Enter;
-import com.sun.tools.javac.util.Context;
-import com.sun.tools.javac.util.Names;
-
-
-/**
- * The environment for a run of apt.
- */
-@SuppressWarnings("deprecation")
-public class AptEnv {
-
-    public Names names;                 // javac's name table
-    public Symtab symtab;               // javac's predefined symbols
-    public Types jctypes;               // javac's type utilities
-    public Enter enter;                 // javac's enter phase
-    public Attr attr;                   // javac's attr phase (to evaluate
-                                        //   constant initializers)
-    public TypeMaker typeMaker;         // apt's internal type utilities
-    public DeclarationMaker declMaker;  // apt's internal declaration utilities
-
-
-    private static final Context.Key<AptEnv> aptEnvKey =
-            new Context.Key<AptEnv>();
-
-    public static AptEnv instance(Context context) {
-        AptEnv instance = context.get(aptEnvKey);
-        if (instance == null) {
-            instance = new AptEnv(context);
-        }
-        return instance;
-    }
-
-    private AptEnv(Context context) {
-        context.put(aptEnvKey, this);
-
-        names = Names.instance(context);
-        symtab = Symtab.instance(context);
-        jctypes = Types.instance(context);
-        enter = Enter.instance(context);
-        attr = Attr.instance(context);
-        typeMaker = TypeMaker.instance(context);
-        declMaker = DeclarationMaker.instance(context);
-    }
-
-
-    /**
-     * Does a symbol have a given flag?  Forces symbol completion.
-     */
-    public static boolean hasFlag(Symbol sym, long flag) {
-        return (getFlags(sym) & flag) != 0;
-    }
-
-    /**
-     * Returns a symbol's flags.  Forces completion.
-     */
-    public static long getFlags(Symbol sym) {
-        complete(sym);
-        return sym.flags();
-    }
-
-    /**
-     * Completes a symbol, ignoring completion failures.
-     */
-    private static void complete(Symbol sym) {
-        while (true) {
-            try {
-                sym.complete();
-                return;
-            } catch (CompletionFailure e) {
-                // Should never see two in a row, but loop just to be sure.
-            }
-        }
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/apt/AnnotationProcessorEnvironmentImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,185 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.apt;
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.util.*;
-import com.sun.mirror.apt.*;
-import com.sun.tools.apt.mirror.apt.*;
-import com.sun.tools.apt.mirror.declaration.DeclarationMaker;
-import com.sun.tools.apt.mirror.util.*;
-import com.sun.tools.apt.util.Bark;
-import com.sun.tools.javac.util.Context;
-
-import com.sun.tools.apt.mirror.apt.FilerImpl;
-import com.sun.tools.apt.mirror.apt.MessagerImpl;
-import com.sun.tools.apt.mirror.apt.RoundStateImpl;
-import com.sun.tools.apt.mirror.apt.RoundCompleteEventImpl;
-
-import com.sun.tools.javac.util.Context;
-
-import java.util.*;
-import static com.sun.mirror.util.DeclarationVisitors.*;
-
-/*
- * Annotation Processor Environment implementation.
- */
-@SuppressWarnings("deprecation")
-public class AnnotationProcessorEnvironmentImpl implements AnnotationProcessorEnvironment {
-
-    Collection<TypeDeclaration> spectypedecls;
-    Collection<TypeDeclaration> typedecls;
-    Map<String, String> origOptions;
-    DeclarationMaker declMaker;
-    Declarations declUtils;
-    Types typeUtils;
-    Messager messager;
-    FilerImpl filer;
-    Bark bark;
-    Set<RoundCompleteListener> roundCompleteListeners;
-
-    public AnnotationProcessorEnvironmentImpl(Collection<TypeDeclaration> spectypedecls,
-                                              Collection<TypeDeclaration> typedecls,
-                                              Map<String, String> origOptions,
-                                              Context context) {
-        // Safer to copy collections before applying unmodifiable
-        // wrapper.
-        this.spectypedecls = Collections.unmodifiableCollection(spectypedecls);
-        this.typedecls = Collections.unmodifiableCollection(typedecls);
-        this.origOptions = Collections.unmodifiableMap(origOptions);
-
-        declMaker = DeclarationMaker.instance(context);
-        declUtils = DeclarationsImpl.instance(context);
-        typeUtils = TypesImpl.instance(context);
-        messager = MessagerImpl.instance(context);
-        filer = FilerImpl.instance(context);
-        bark = Bark.instance(context);
-        roundCompleteListeners = new LinkedHashSet<RoundCompleteListener>();
-    }
-
-    public Map<String,String> getOptions() {
-        return origOptions;
-    }
-
-    public Messager getMessager() {
-        return messager;
-    }
-
-    public Filer getFiler() {
-        return filer;
-    }
-
-    public Collection<TypeDeclaration> getSpecifiedTypeDeclarations() {
-        return spectypedecls;
-    }
-
-    public PackageDeclaration getPackage(String name) {
-        return declMaker.getPackageDeclaration(name);
-    }
-
-    public TypeDeclaration getTypeDeclaration(String name) {
-        return declMaker.getTypeDeclaration(name);
-    }
-
-    public Collection<TypeDeclaration> getTypeDeclarations() {
-        return typedecls;
-    }
-
-    public Collection<Declaration> getDeclarationsAnnotatedWith(
-                                                AnnotationTypeDeclaration a) {
-        /*
-         * create collection of Declarations annotated with a given
-         * annotation.
-         */
-
-        CollectingAP proc = new CollectingAP(this, a);
-        proc.process();
-        return proc.decls;
-    }
-
-    private static class CollectingAP implements AnnotationProcessor {
-        AnnotationProcessorEnvironment env;
-        Collection<Declaration> decls;
-        AnnotationTypeDeclaration atd;
-        CollectingAP(AnnotationProcessorEnvironment env,
-                     AnnotationTypeDeclaration atd) {
-            this.env = env;
-            this.atd = atd;
-            decls = new HashSet<Declaration>();
-        }
-
-        private class CollectingVisitor extends SimpleDeclarationVisitor {
-            public void visitDeclaration(Declaration d) {
-                for(AnnotationMirror am: d.getAnnotationMirrors()) {
-                    if (am.getAnnotationType().getDeclaration().equals(CollectingAP.this.atd))
-                        CollectingAP.this.decls.add(d);
-                }
-            }
-        }
-
-        public void process() {
-            for(TypeDeclaration d: env.getSpecifiedTypeDeclarations())
-                d.accept(getSourceOrderDeclarationScanner(new CollectingVisitor(),
-                                                          NO_OP));
-        }
-    }
-
-    public Declarations getDeclarationUtils() {
-        return declUtils;
-    }
-
-    public Types getTypeUtils() {
-        return typeUtils;
-    }
-
-    public void addListener(AnnotationProcessorListener listener) {
-        if (listener == null)
-            throw new NullPointerException();
-        else {
-            if (listener instanceof RoundCompleteListener)
-                roundCompleteListeners.add((RoundCompleteListener)listener);
-        }
-    }
-
-    public void removeListener(AnnotationProcessorListener listener) {
-        if (listener == null)
-            throw new NullPointerException();
-        else
-            roundCompleteListeners.remove(listener);
-    }
-
-    public void roundComplete() {
-        RoundState roundState  = new RoundStateImpl(bark.nerrors > 0,
-                                                    filer.getSourceFileNames().size() > 0,
-                                                    filer.getClassFileNames().size() > 0,
-                                                    origOptions);
-        RoundCompleteEvent roundCompleteEvent = new RoundCompleteEventImpl(this, roundState);
-
-        filer.roundOver();
-        for(RoundCompleteListener rcl: roundCompleteListeners)
-            rcl.roundComplete(roundCompleteEvent);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/apt/FilerImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,354 +0,0 @@
-/*
- * Copyright (c) 2004, 2010, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.apt;
-
-
-import java.io.*;
-import java.util.Collection;
-import java.util.EnumMap;
-import java.util.HashSet;
-import java.util.Set;
-
-import com.sun.mirror.apt.Filer;
-import com.sun.tools.apt.mirror.declaration.DeclarationMaker;
-import com.sun.tools.javac.util.Context;
-import com.sun.tools.javac.util.Options;
-import com.sun.tools.javac.util.Position;
-import com.sun.tools.apt.util.Bark;
-
-import static com.sun.mirror.apt.Filer.Location.*;
-
-
-/**
- * Implementation of Filer.
- */
-@SuppressWarnings("deprecation")
-public class FilerImpl implements Filer {
-    /*
-     * The Filer class must maintain a number of constraints.  First,
-     * multiple attempts to open the same path within the same
-     * invocation of apt results in an IOException being thrown.  For
-     * example, trying to open the same source file twice:
-     *
-     * createSourceFile("foo.Bar")
-     * ...
-     * createSourceFile("foo.Bar")
-     *
-     * is disallowed as is opening a text file that happens to have
-     * the same name as a source file:
-     *
-     * createSourceFile("foo.Bar")
-     * ...
-     * createTextFile(SOURCE_TREE, "foo", new File("Bar"), null)
-     *
-     * Additionally, creating a source file that corresponds to an
-     * already created class file (or vice versa) generates at least a
-     * warning.  This is an error if -XclassesAsDecls is being used
-     * since you can't create the same type twice.  However, if the
-     * Filer is used to create a text file named *.java that happens
-     * to correspond to an existing class file, a warning is *not*
-     * generated.  Similarly, a warning is not generated for a binary
-     * file named *.class and an existing source file.
-     *
-     * The reason for this difference is that source files and class
-     * files are registered with apt and can get passed on as
-     * declarations to the next round of processing.  Files that are
-     * just named *.java and *.class are not processed in that manner;
-     * although having extra source files and class files on the
-     * source path and class path can alter the behavior of the tool
-     * and any final compile.
-     */
-
-    private enum FileKind {
-        SOURCE {
-            void register(File file, String name, FilerImpl that) throws IOException {
-                // Check for corresponding class file
-                if (that.filesCreated.contains(new File(that.locations.get(CLASS_TREE),
-                                                        that.nameToPath(name, ".class")))) {
-
-                    that.bark.aptWarning("CorrespondingClassFile", name);
-                    if (that.opts.get("-XclassesAsDecls") != null)
-                        throw new IOException();
-                }
-                that.sourceFileNames.add(file.getPath());
-            }
-        },
-
-        CLASS  {
-            void register(File file, String name, FilerImpl that) throws IOException {
-                if (that.filesCreated.contains(new File(that.locations.get(SOURCE_TREE),
-                                                        that.nameToPath(name, ".java")))) {
-                    that.bark.aptWarning("CorrespondingSourceFile", name);
-                    if (that.opts.get("-XclassesAsDecls") != null)
-                        throw new IOException();
-                }
-                // Track the binary name instead of the filesystem location
-                that.classFileNames.add(name);
-            }
-        },
-
-        OTHER  {
-            // Nothing special to do
-            void register(File file, String name, FilerImpl that) throws IOException {}
-        };
-
-        abstract void register(File file, String name, FilerImpl that) throws IOException;
-    }
-
-    private final Options opts;
-    private final DeclarationMaker declMaker;
-    private final com.sun.tools.apt.main.AptJavaCompiler comp;
-
-    // Platform's default encoding
-    private final static String DEFAULT_ENCODING =
-            new OutputStreamWriter(new ByteArrayOutputStream()).getEncoding();
-
-    private String encoding;    // name of charset used for source files
-
-    private final EnumMap<Location, File> locations;    // where new files go
-
-
-    private static final Context.Key<FilerImpl> filerKey =
-            new Context.Key<FilerImpl>();
-
-    // Set of files opened.
-    private Collection<Flushable> wc;
-
-    private Bark bark;
-
-    // All created files.
-    private final Set<File> filesCreated;
-
-    // Names of newly created source files
-    private HashSet<String> sourceFileNames = new HashSet<String>();
-
-    // Names of newly created class files
-    private HashSet<String> classFileNames  = new HashSet<String>();
-
-    private boolean roundOver;
-
-    public static FilerImpl instance(Context context) {
-        FilerImpl instance = context.get(filerKey);
-        if (instance == null) {
-            instance = new FilerImpl(context);
-        }
-        return instance;
-    }
-
-    // flush all output streams;
-    public void flush() {
-        for(Flushable opendedFile: wc) {
-            try {
-                opendedFile.flush();
-                if (opendedFile instanceof FileOutputStream) {
-                    try {
-                        ((FileOutputStream) opendedFile).getFD().sync() ;
-                    } catch (java.io.SyncFailedException sfe) {}
-                }
-            } catch (IOException e) { }
-        }
-    }
-
-    private FilerImpl(Context context) {
-        context.put(filerKey, this);
-        opts = Options.instance(context);
-        declMaker = DeclarationMaker.instance(context);
-        bark = Bark.instance(context);
-        comp = com.sun.tools.apt.main.AptJavaCompiler.instance(context);
-        roundOver = false;
-        this.filesCreated = comp.getAggregateGenFiles();
-
-        // Encoding
-        encoding = opts.get("-encoding");
-        if (encoding == null) {
-            encoding = DEFAULT_ENCODING;
-        }
-
-        wc = new HashSet<Flushable>();
-
-        // Locations
-        locations = new EnumMap<Location, File>(Location.class);
-        String s = opts.get("-s");      // location for new source files
-        String d = opts.get("-d");      // location for new class files
-        locations.put(SOURCE_TREE, new File(s != null ? s : "."));
-        locations.put(CLASS_TREE,  new File(d != null ? d : "."));
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public PrintWriter createSourceFile(String name) throws IOException {
-        String pathname = nameToPath(name, ".java");
-        File file = new File(locations.get(SOURCE_TREE),
-                             pathname);
-        PrintWriter pw = getPrintWriter(file, encoding, name, FileKind.SOURCE);
-        return pw;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public OutputStream createClassFile(String name) throws IOException {
-        String pathname = nameToPath(name, ".class");
-        File file = new File(locations.get(CLASS_TREE),
-                             pathname);
-        OutputStream os = getOutputStream(file, name, FileKind.CLASS);
-        return os;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public PrintWriter createTextFile(Location loc,
-                                      String pkg,
-                                      File relPath,
-                                      String charsetName) throws IOException {
-        File file = (pkg.length() == 0)
-                        ? relPath
-                        : new File(nameToPath(pkg), relPath.getPath());
-        if (charsetName == null) {
-            charsetName = encoding;
-        }
-        return getPrintWriter(loc, file.getPath(), charsetName, null, FileKind.OTHER);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public OutputStream createBinaryFile(Location loc,
-                                         String pkg,
-                                         File relPath) throws IOException {
-        File file = (pkg.length() == 0)
-                        ? relPath
-                        : new File(nameToPath(pkg), relPath.getPath());
-        return getOutputStream(loc, file.getPath(), null, FileKind.OTHER);
-    }
-
-
-    /**
-     * Converts the canonical name of a top-level type or package to a
-     * pathname.  Suffix is ".java" or ".class" or "".
-     */
-    private String nameToPath(String name, String suffix) throws IOException {
-        if (!DeclarationMaker.isJavaIdentifier(name.replace('.', '_'))) {
-            bark.aptWarning("IllegalFileName", name);
-            throw new IOException();
-        }
-        return name.replace('.', File.separatorChar) + suffix;
-    }
-
-    private String nameToPath(String name) throws IOException {
-        return nameToPath(name, "");
-    }
-
-    /**
-     * Returns a writer for a text file given its location, its
-     * pathname relative to that location, and its encoding.
-     */
-    private PrintWriter getPrintWriter(Location loc, String pathname,
-                                       String encoding, String name, FileKind kind) throws IOException {
-        File file = new File(locations.get(loc), pathname);
-        return getPrintWriter(file, encoding, name, kind);
-    }
-
-    /**
-     * Returns a writer for a text file given its encoding.
-     */
-    private PrintWriter getPrintWriter(File file,
-                                       String encoding, String name, FileKind kind) throws IOException {
-        prepareFile(file, name, kind);
-        PrintWriter pw =
-            new PrintWriter(
-                    new BufferedWriter(
-                         new OutputStreamWriter(new FileOutputStream(file),
-                                                encoding)));
-        wc.add(pw);
-        return pw;
-    }
-
-    /**
-     * Returns an output stream for a binary file given its location
-     * and its pathname relative to that location.
-     */
-    private OutputStream getOutputStream(Location loc, String pathname, String name, FileKind kind)
-                                                        throws IOException {
-        File file = new File(locations.get(loc), pathname);
-        return getOutputStream(file, name, kind);
-    }
-
-    private OutputStream getOutputStream(File file, String name, FileKind kind) throws IOException {
-        prepareFile(file, name, kind);
-        OutputStream os = new FileOutputStream(file);
-        wc.add(os);
-        return os;
-
-    }
-
-    public Set<String> getSourceFileNames() {
-        return sourceFileNames;
-    }
-
-    public Set<String> getClassFileNames() {
-        return classFileNames;
-    }
-
-    public void roundOver() {
-        roundOver = true;
-    }
-
-    /**
-     * Checks that the file has not already been created during this
-     * invocation.  If not, creates intermediate directories, and
-     * deletes the file if it already exists.
-     */
-    private void prepareFile(File file, String name, FileKind kind) throws IOException {
-        if (roundOver) {
-            bark.aptWarning("NoNewFilesAfterRound", file.toString());
-            throw new IOException();
-        }
-
-        if (filesCreated.contains(file)) {
-            bark.aptWarning("FileReopening", file.toString());
-            throw new IOException();
-        } else {
-            if (file.exists()) {
-                file.delete();
-            } else {
-                File parent = file.getParentFile();
-                if (parent != null && !parent.exists()) {
-                    if(!parent.mkdirs()) {
-                        bark.aptWarning("BadParentDirectory", file.toString());
-                        throw new IOException();
-                    }
-                }
-            }
-
-            kind.register(file, name, this);
-            filesCreated.add(file);
-        }
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/apt/MessagerImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 2004, 2005, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.apt;
-
-import javax.tools.JavaFileObject;
-import com.sun.mirror.apt.Messager;
-import com.sun.tools.apt.mirror.util.SourcePositionImpl;
-import com.sun.mirror.util.SourcePosition;
-import com.sun.tools.javac.util.Context;
-import com.sun.tools.javac.util.Name;
-import com.sun.tools.javac.util.Position;
-import com.sun.tools.apt.util.Bark;
-
-
-/**
- * Implementation of Messager.
- */
-@SuppressWarnings("deprecation")
-public class MessagerImpl implements Messager {
-    private final Bark bark;
-
-    private static final Context.Key<MessagerImpl> messagerKey =
-            new Context.Key<MessagerImpl>();
-
-    public static MessagerImpl instance(Context context) {
-        MessagerImpl instance = context.get(messagerKey);
-        if (instance == null) {
-            instance = new MessagerImpl(context);
-        }
-        return instance;
-    }
-
-    private MessagerImpl(Context context) {
-        context.put(messagerKey, this);
-        bark = Bark.instance(context);
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public void printError(String msg) {
-        bark.aptError("Messager", msg);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void printError(SourcePosition pos, String msg) {
-        if (pos instanceof SourcePositionImpl) {
-            SourcePositionImpl posImpl = (SourcePositionImpl) pos;
-            JavaFileObject prev = bark.useSource(posImpl.getSource());
-            bark.aptError(posImpl.getJavacPosition(), "Messager", msg);
-            bark.useSource(prev);
-        } else
-            printError(msg);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void printWarning(String msg) {
-        bark.aptWarning("Messager", msg);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void printWarning(SourcePosition pos, String msg) {
-        if (pos instanceof SourcePositionImpl) {
-            SourcePositionImpl posImpl = (SourcePositionImpl) pos;
-            JavaFileObject prev = bark.useSource(posImpl.getSource());
-            bark.aptWarning(posImpl.getJavacPosition(), "Messager", msg);
-            bark.useSource(prev);
-        } else
-            printWarning(msg);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void printNotice(String msg) {
-        bark.aptNote("Messager", msg);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void printNotice(SourcePosition pos, String msg) {
-        if (pos instanceof SourcePositionImpl) {
-            SourcePositionImpl posImpl = (SourcePositionImpl) pos;
-            JavaFileObject prev = bark.useSource(posImpl.getSource());
-            bark.aptNote(posImpl.getJavacPosition(), "Messager", msg);
-            bark.useSource(prev);
-        } else
-            printNotice(msg);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/apt/RoundCompleteEventImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2004, 2009, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.apt;
-
-import com.sun.mirror.apt.AnnotationProcessorEnvironment;
-import com.sun.mirror.apt.RoundCompleteEvent;
-import com.sun.mirror.apt.RoundState;
-
-@SuppressWarnings("deprecation")
-public class RoundCompleteEventImpl extends RoundCompleteEvent {
-    private static final long serialVersionUID = 7067621446720784300L;
-
-    public RoundCompleteEventImpl(AnnotationProcessorEnvironment source,
-                                  RoundState rs) {
-        super(source, rs);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/apt/RoundStateImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.apt;
-
-import com.sun.mirror.apt.RoundState;
-import java.util.Map;
-
-@SuppressWarnings("deprecation")
-public class RoundStateImpl implements RoundState {
-    private final boolean finalRound;
-    private final boolean errorRaised;
-    private final boolean sourceFilesCreated;
-    private final boolean classFilesCreated;
-
-    public RoundStateImpl(boolean errorRaised,
-                          boolean sourceFilesCreated,
-                          boolean classFilesCreated,
-                          Map<String,String> options) {
-        /*
-         * In the default mode of operation, this round is the final
-         * round if an error was raised OR there were no new source
-         * files generated.  If classes are being treated as
-         * declarations, this is the final round if an error was
-         * raised OR neither new source files nor new class files were
-         * generated.
-         */
-        this.finalRound =
-            errorRaised ||
-            (!sourceFilesCreated &&
-            !(classFilesCreated && options.keySet().contains("-XclassesAsDecls")) );
-        this.errorRaised = errorRaised;
-        this.sourceFilesCreated = sourceFilesCreated;
-        this.classFilesCreated = classFilesCreated;
-    }
-
-    public boolean finalRound() {
-        return finalRound;
-    }
-
-    public boolean errorRaised() {
-        return errorRaised;
-    }
-
-    public boolean sourceFilesCreated() {
-        return sourceFilesCreated;
-    }
-
-    public boolean classFilesCreated() {
-        return classFilesCreated;
-    }
-
-    public String toString() {
-        return
-            "[final round: " +  finalRound +
-            ", error raised: " +  errorRaised +
-            ", source files created: " + sourceFilesCreated +
-            ", class files created: " + classFilesCreated + "]";
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationMirrorImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.declaration;
-
-
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.AnnotationType;
-import com.sun.mirror.util.SourcePosition;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.Attribute;
-import com.sun.tools.javac.code.Symbol.*;
-import com.sun.tools.javac.util.Name;
-import com.sun.tools.javac.util.Pair;
-
-
-/**
- * Implementation of AnnotationMirror
- */
-@SuppressWarnings("deprecation")
-public class AnnotationMirrorImpl implements AnnotationMirror {
-
-    protected final AptEnv env;
-    protected final Attribute.Compound anno;
-    protected final Declaration decl;
-
-
-    AnnotationMirrorImpl(AptEnv env, Attribute.Compound anno, Declaration decl) {
-        this.env = env;
-        this.anno = anno;
-        this.decl = decl;
-    }
-
-
-    /**
-     * Returns a string representation of this annotation.
-     * String is of one of the forms:
-     *     @com.example.foo(name1=val1, name2=val2)
-     *     @com.example.foo(val)
-     *     @com.example.foo
-     * Omit parens for marker annotations, and omit "value=" when allowed.
-     */
-    public String toString() {
-        StringBuilder sb = new StringBuilder("@");
-        Constants.Formatter fmtr = Constants.getFormatter(sb);
-
-        fmtr.append(anno.type.tsym);
-
-        int len = anno.values.length();
-        if (len > 0) {          // omit parens for marker annotations
-            sb.append('(');
-            boolean first = true;
-            for (Pair<MethodSymbol, Attribute> val : anno.values) {
-                if (!first) {
-                    sb.append(", ");
-                }
-                first = false;
-
-                Name name = val.fst.name;
-                if (len > 1 || name != env.names.value) {
-                    fmtr.append(name);
-                    sb.append('=');
-                }
-                sb.append(new AnnotationValueImpl(env, val.snd, this));
-            }
-            sb.append(')');
-        }
-        return fmtr.toString();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public AnnotationType getAnnotationType() {
-        return (AnnotationType) env.typeMaker.getType(anno.type);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Map<AnnotationTypeElementDeclaration, AnnotationValue>
-                                                        getElementValues() {
-        Map<AnnotationTypeElementDeclaration, AnnotationValue> res =
-            new LinkedHashMap<AnnotationTypeElementDeclaration,
-                                                   AnnotationValue>(); // whew!
-        for (Pair<MethodSymbol, Attribute> val : anno.values) {
-            res.put(getElement(val.fst),
-                    new AnnotationValueImpl(env, val.snd, this));
-        }
-        return res;
-    }
-
-    public SourcePosition getPosition() {
-        // Return position of the declaration on which this annotation
-        // appears.
-        return (decl == null) ? null : decl.getPosition();
-
-    }
-
-    public Declaration getDeclaration() {
-        return this.decl;
-    }
-
-    /**
-     * Returns the annotation type element for a symbol.
-     */
-    private AnnotationTypeElementDeclaration getElement(MethodSymbol m) {
-        return (AnnotationTypeElementDeclaration)
-                    env.declMaker.getExecutableDeclaration(m);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationProxyMaker.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,355 +0,0 @@
-/*
- * Copyright (c) 2004, 2010, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.declaration;
-
-
-import java.lang.annotation.*;
-import java.lang.reflect.Array;
-import java.lang.reflect.Method;
-import java.util.*;
-import sun.reflect.annotation.*;
-
-import com.sun.mirror.type.TypeMirror;
-import com.sun.mirror.type.MirroredTypeException;
-import com.sun.mirror.type.MirroredTypesException;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.*;
-import com.sun.tools.javac.code.Symbol.*;
-import com.sun.tools.javac.util.Name;
-import com.sun.tools.javac.util.Pair;
-
-
-/**
- * A generator of dynamic proxy implementations of
- * java.lang.annotation.Annotation.
- *
- * <p> The "dynamic proxy return form" of an attribute element value is
- * the form used by sun.reflect.annotation.AnnotationInvocationHandler.
- */
-@SuppressWarnings("deprecation")
-class AnnotationProxyMaker {
-
-    private final AptEnv env;
-    private final Attribute.Compound attrs;
-    private final Class<? extends Annotation> annoType;
-
-
-    private AnnotationProxyMaker(AptEnv env,
-                                 Attribute.Compound attrs,
-                                 Class<? extends Annotation> annoType) {
-        this.env = env;
-        this.attrs = attrs;
-        this.annoType = annoType;
-    }
-
-
-    /**
-     * Returns a dynamic proxy for an annotation mirror.
-     */
-    public static <A extends Annotation> A generateAnnotation(
-            AptEnv env, Attribute.Compound attrs, Class<A> annoType) {
-        AnnotationProxyMaker apm = new AnnotationProxyMaker(env, attrs, annoType);
-        return annoType.cast(apm.generateAnnotation());
-    }
-
-
-    /**
-     * Returns a dynamic proxy for an annotation mirror.
-     */
-    private Annotation generateAnnotation() {
-        return AnnotationParser.annotationForMap(annoType,
-                                                 getAllReflectedValues());
-    }
-
-    /**
-     * Returns a map from element names to their values in "dynamic
-     * proxy return form".  Includes all elements, whether explicit or
-     * defaulted.
-     */
-    private Map<String, Object> getAllReflectedValues() {
-        Map<String, Object> res = new LinkedHashMap<String, Object>();
-
-        for (Map.Entry<MethodSymbol, Attribute> entry :
-                                                  getAllValues().entrySet()) {
-            MethodSymbol meth = entry.getKey();
-            Object value = generateValue(meth, entry.getValue());
-            if (value != null) {
-                res.put(meth.name.toString(), value);
-            } else {
-                // Ignore this element.  May lead to
-                // IncompleteAnnotationException somewhere down the line.
-            }
-        }
-        return res;
-    }
-
-    /**
-     * Returns a map from element symbols to their values.
-     * Includes all elements, whether explicit or defaulted.
-     */
-    private Map<MethodSymbol, Attribute> getAllValues() {
-        Map<MethodSymbol, Attribute> res =
-            new LinkedHashMap<MethodSymbol, Attribute>();
-
-        // First find the default values.
-        ClassSymbol sym = (ClassSymbol) attrs.type.tsym;
-        for (Scope.Entry e = sym.members().elems; e != null; e = e.sibling) {
-            if (e.sym.kind == Kinds.MTH) {
-                MethodSymbol m = (MethodSymbol) e.sym;
-                Attribute def = m.defaultValue;
-                if (def != null) {
-                    res.put(m, def);
-                }
-            }
-        }
-        // Next find the explicit values, possibly overriding defaults.
-        for (Pair<MethodSymbol, Attribute> p : attrs.values) {
-            res.put(p.fst, p.snd);
-        }
-        return res;
-    }
-
-    /**
-     * Converts an element value to its "dynamic proxy return form".
-     * Returns an exception proxy on some errors, but may return null if
-     * a useful exception cannot or should not be generated at this point.
-     */
-    private Object generateValue(MethodSymbol meth, Attribute attr) {
-        ValueVisitor vv = new ValueVisitor(meth);
-        return vv.getValue(attr);
-    }
-
-
-    private class ValueVisitor implements Attribute.Visitor {
-
-        private MethodSymbol meth;      // annotation element being visited
-        private Class<?> runtimeType;   // runtime type of annotation element
-        private Object value;           // value in "dynamic proxy return form"
-
-        ValueVisitor(MethodSymbol meth) {
-            this.meth = meth;
-        }
-
-        Object getValue(Attribute attr) {
-            Method method;              // runtime method of annotation element
-            try {
-                method = annoType.getMethod(meth.name.toString());
-            } catch (NoSuchMethodException e) {
-                return null;
-            }
-            runtimeType = method.getReturnType();
-            attr.accept(this);
-            if (!(value instanceof ExceptionProxy) &&
-                !AnnotationType.invocationHandlerReturnType(runtimeType)
-                                                        .isInstance(value)) {
-                typeMismatch(method, attr);
-            }
-            return value;
-        }
-
-
-        public void visitConstant(Attribute.Constant c) {
-            value = Constants.decodeConstant(c.value, c.type);
-        }
-
-        public void visitClass(Attribute.Class c) {
-            value = new MirroredTypeExceptionProxy(
-                                env.typeMaker.getType(c.type));
-        }
-
-        public void visitArray(Attribute.Array a) {
-            Type elemtype = env.jctypes.elemtype(a.type);
-
-            if (elemtype.tsym == env.symtab.classType.tsym) {   // Class[]
-                // Construct a proxy for a MirroredTypesException
-                ArrayList<TypeMirror> elems = new ArrayList<TypeMirror>();
-                for (int i = 0; i < a.values.length; i++) {
-                    Type elem = ((Attribute.Class) a.values[i]).type;
-                    elems.add(env.typeMaker.getType(elem));
-                }
-                value = new MirroredTypesExceptionProxy(elems);
-
-            } else {
-                int len = a.values.length;
-                Class<?> runtimeTypeSaved = runtimeType;
-                runtimeType = runtimeType.getComponentType();
-                try {
-                    Object res = Array.newInstance(runtimeType, len);
-                    for (int i = 0; i < len; i++) {
-                        a.values[i].accept(this);
-                        if (value == null || value instanceof ExceptionProxy) {
-                            return;
-                        }
-                        try {
-                            Array.set(res, i, value);
-                        } catch (IllegalArgumentException e) {
-                            value = null;       // indicates a type mismatch
-                            return;
-                        }
-                    }
-                    value = res;
-                } finally {
-                    runtimeType = runtimeTypeSaved;
-                }
-            }
-        }
-
-        @SuppressWarnings({"unchecked", "rawtypes"})
-        public void visitEnum(Attribute.Enum e) {
-            if (runtimeType.isEnum()) {
-                String constName = e.value.toString();
-                try {
-                    value = Enum.valueOf((Class)runtimeType, constName);
-                } catch (IllegalArgumentException ex) {
-                    value = new EnumConstantNotPresentExceptionProxy(
-                                                        (Class<Enum<?>>)runtimeType, constName);
-                }
-            } else {
-                value = null;   // indicates a type mismatch
-            }
-        }
-
-        public void visitCompound(Attribute.Compound c) {
-            try {
-                Class<? extends Annotation> nested =
-                    runtimeType.asSubclass(Annotation.class);
-                value = generateAnnotation(env, c, nested);
-            } catch (ClassCastException ex) {
-                value = null;   // indicates a type mismatch
-            }
-        }
-
-        public void visitError(Attribute.Error e) {
-            value = null;       // indicates a type mismatch
-        }
-
-
-        /**
-         * Sets "value" to an ExceptionProxy indicating a type mismatch.
-         */
-        private void typeMismatch(Method method, final Attribute attr) {
-            class AnnotationTypeMismatchExceptionProxy extends ExceptionProxy {
-                private static final long serialVersionUID = 8473323277815075163L;
-                transient final Method method;
-                AnnotationTypeMismatchExceptionProxy(Method method) {
-                    this.method = method;
-                }
-                public String toString() {
-                    return "<error>";   // eg:  @Anno(value=<error>)
-                }
-                protected RuntimeException generateException() {
-                    return new AnnotationTypeMismatchException(method,
-                                attr.type.toString());
-                }
-            }
-            value = new AnnotationTypeMismatchExceptionProxy(method);
-        }
-    }
-
-
-    /**
-     * ExceptionProxy for MirroredTypeException.
-     * The toString, hashCode, and equals methods foward to the underlying
-     * type.
-     */
-    private static final class MirroredTypeExceptionProxy extends ExceptionProxy {
-        private static final long serialVersionUID = 6662035281599933545L;
-
-        private MirroredTypeException ex;
-
-        MirroredTypeExceptionProxy(TypeMirror t) {
-            // It would be safer if we could construct the exception in
-            // generateException(), but there would be no way to do
-            // that properly following deserialization.
-            ex = new MirroredTypeException(t);
-        }
-
-        public String toString() {
-            return ex.getQualifiedName();
-        }
-
-        public int hashCode() {
-            TypeMirror t = ex.getTypeMirror();
-            return (t != null)
-                    ? t.hashCode()
-                    : ex.getQualifiedName().hashCode();
-        }
-
-        public boolean equals(Object obj) {
-            TypeMirror t = ex.getTypeMirror();
-            return t != null &&
-                   obj instanceof MirroredTypeExceptionProxy &&
-                   t.equals(
-                        ((MirroredTypeExceptionProxy) obj).ex.getTypeMirror());
-        }
-
-        protected RuntimeException generateException() {
-            return (RuntimeException) ex.fillInStackTrace();
-        }
-    }
-
-
-    /**
-     * ExceptionProxy for MirroredTypesException.
-     * The toString, hashCode, and equals methods foward to the underlying
-     * types.
-     */
-    private static final class MirroredTypesExceptionProxy extends ExceptionProxy {
-        private static final long serialVersionUID = -6670822532616693951L;
-
-        private MirroredTypesException ex;
-
-        MirroredTypesExceptionProxy(Collection<TypeMirror> ts) {
-            // It would be safer if we could construct the exception in
-            // generateException(), but there would be no way to do
-            // that properly following deserialization.
-            ex = new MirroredTypesException(ts);
-        }
-
-        public String toString() {
-            return ex.getQualifiedNames().toString();
-        }
-
-        public int hashCode() {
-            Collection<TypeMirror> ts = ex.getTypeMirrors();
-            return (ts != null)
-                    ? ts.hashCode()
-                    : ex.getQualifiedNames().hashCode();
-        }
-
-        public boolean equals(Object obj) {
-            Collection<TypeMirror> ts = ex.getTypeMirrors();
-            return ts != null &&
-                   obj instanceof MirroredTypesExceptionProxy &&
-                   ts.equals(
-                      ((MirroredTypesExceptionProxy) obj).ex.getTypeMirrors());
-        }
-
-        protected RuntimeException generateException() {
-            return (RuntimeException) ex.fillInStackTrace();
-        }
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationTypeDeclarationImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.declaration;
-
-
-import java.util.Collection;
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.util.DeclarationVisitor;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.Symbol.*;
-
-
-/**
- * Implementation of AnnotationTypeDeclaration
- */
-@SuppressWarnings("deprecation")
-public class AnnotationTypeDeclarationImpl extends InterfaceDeclarationImpl
-                                           implements AnnotationTypeDeclaration
-{
-    AnnotationTypeDeclarationImpl(AptEnv env, ClassSymbol sym) {
-        super(env, sym);
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public Collection<AnnotationTypeElementDeclaration> getMethods() {
-        return identityFilter.filter(super.getMethods(),
-                                     AnnotationTypeElementDeclaration.class);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void accept(DeclarationVisitor v) {
-        v.visitAnnotationTypeDeclaration(this);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationTypeElementDeclarationImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.declaration;
-
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.util.DeclarationVisitor;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.Symbol.MethodSymbol;
-
-
-/**
- * Implementation of AnnotationTypeElementDeclaration
- */
-@SuppressWarnings("deprecation")
-public class AnnotationTypeElementDeclarationImpl extends MethodDeclarationImpl
-                                  implements AnnotationTypeElementDeclaration {
-
-    AnnotationTypeElementDeclarationImpl(AptEnv env, MethodSymbol sym) {
-        super(env, sym);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public AnnotationTypeDeclaration getDeclaringType() {
-        return (AnnotationTypeDeclaration) super.getDeclaringType();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public AnnotationValue getDefaultValue() {
-        return (sym.defaultValue == null)
-               ? null
-               : new AnnotationValueImpl(env, sym.defaultValue, null);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void accept(DeclarationVisitor v) {
-        v.visitAnnotationTypeElementDeclaration(this);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationValueImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.declaration;
-
-
-import java.util.Collection;
-import java.util.ArrayList;
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.util.SourcePosition;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.Attribute;
-import com.sun.tools.javac.code.Symbol.*;
-import com.sun.tools.javac.code.TypeTags;
-
-
-/**
- * Implementation of AnnotationValue
- */
-@SuppressWarnings("deprecation")
-public class AnnotationValueImpl implements AnnotationValue {
-
-    protected final AptEnv env;
-    protected final Attribute attr;
-    protected final AnnotationMirrorImpl annotation;
-
-    AnnotationValueImpl(AptEnv env, Attribute attr, AnnotationMirrorImpl annotation) {
-        this.env = env;
-        this.attr = attr;
-        this.annotation = annotation;
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public String toString() {
-        StringBuilder sb = new StringBuilder();
-        Constants.Formatter fmtr = Constants.getFormatter(sb);
-
-        fmtr.append(getValue());
-        return fmtr.toString();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Object getValue() {
-        ValueVisitor vv = new ValueVisitor();
-        attr.accept(vv);
-        return vv.value;
-    }
-
-
-    public SourcePosition getPosition() {
-        // Imprecise implementation; just return position of enclosing
-        // annotation.
-        return (annotation == null) ? null : annotation.getPosition();
-    }
-
-    private class ValueVisitor implements Attribute.Visitor {
-
-        public Object value;
-
-        public void visitConstant(Attribute.Constant c) {
-            value = Constants.decodeConstant(c.value, c.type);
-        }
-
-        public void visitClass(Attribute.Class c) {
-            value = env.typeMaker.getType(
-                        env.jctypes.erasure(c.type));
-        }
-
-        public void visitEnum(Attribute.Enum e) {
-            value = env.declMaker.getFieldDeclaration(e.value);
-        }
-
-        public void visitCompound(Attribute.Compound c) {
-            value = new AnnotationMirrorImpl(env, c,
-                                             (annotation == null) ?
-                                             null :
-                                             annotation.getDeclaration());
-        }
-
-        public void visitArray(Attribute.Array a) {
-            ArrayList<AnnotationValue> vals =
-                new ArrayList<AnnotationValue>(a.values.length);
-            for (Attribute elem : a.values) {
-                vals.add(new AnnotationValueImpl(env, elem, annotation));
-            }
-            value = vals;
-        }
-
-        public void visitError(Attribute.Error e) {
-            value = "<error>";  // javac will already have logged an error msg
-        }
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/ClassDeclarationImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.declaration;
-
-
-import java.lang.annotation.Annotation;
-import java.lang.annotation.Inherited;
-import java.util.ArrayList;
-import java.util.Collection;
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.ClassType;
-import com.sun.mirror.util.DeclarationVisitor;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.*;
-import com.sun.tools.javac.code.Symbol.*;
-
-
-/**
- * Implementation of ClassDeclaration
- */
-@SuppressWarnings("deprecation")
-public class ClassDeclarationImpl extends TypeDeclarationImpl
-                                  implements ClassDeclaration {
-
-    ClassDeclarationImpl(AptEnv env, ClassSymbol sym) {
-        super(env, sym);
-    }
-
-
-    /**
-     * {@inheritDoc}
-     * Overridden here to handle @Inherited.
-     */
-    public <A extends Annotation> A getAnnotation(Class<A> annoType) {
-
-        boolean inherited = annoType.isAnnotationPresent(Inherited.class);
-        for (Type t = sym.type;
-             t.tsym != env.symtab.objectType.tsym && !t.isErroneous();
-             t = env.jctypes.supertype(t)) {
-
-            A result = getAnnotation(annoType, t.tsym);
-            if (result != null || !inherited) {
-                return result;
-            }
-        }
-        return null;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public ClassType getSuperclass() {
-        //  java.lang.Object has no superclass
-        if (sym == env.symtab.objectType.tsym) {
-            return null;
-        }
-        Type t = env.jctypes.supertype(sym.type);
-        return (ClassType) env.typeMaker.getType(t);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Collection<ConstructorDeclaration> getConstructors() {
-        ArrayList<ConstructorDeclaration> res =
-            new ArrayList<ConstructorDeclaration>();
-        for (Symbol s : getMembers(true)) {
-            if (s.isConstructor()) {
-                MethodSymbol m = (MethodSymbol) s;
-                res.add((ConstructorDeclaration)
-                        env.declMaker.getExecutableDeclaration(m));
-            }
-        }
-        return res;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Collection<MethodDeclaration> getMethods() {
-        return identityFilter.filter(super.getMethods(),
-                                     MethodDeclaration.class);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void accept(DeclarationVisitor v) {
-        v.visitClassDeclaration(this);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/Constants.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,294 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.declaration;
-
-
-import java.util.Collection;
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.TypeMirror;
-import com.sun.tools.apt.mirror.type.TypeMirrorImpl;
-import com.sun.tools.javac.code.Type;
-
-import static com.sun.tools.javac.code.TypeTags.*;
-
-
-/**
- * Utility class for operating on constant expressions.
- */
-@SuppressWarnings("deprecation")
-class Constants {
-
-    /**
-     * Converts a constant in javac's internal representation (in which
-     * boolean, char, byte, short, and int are each represented by an Integer)
-     * into standard representation.  Other values (including null) are
-     * returned unchanged.
-     */
-    static Object decodeConstant(Object value, Type type) {
-        if (value instanceof Integer) {
-            int i = ((Integer) value).intValue();
-            switch (type.tag) {
-            case BOOLEAN:  return Boolean.valueOf(i != 0);
-            case CHAR:     return Character.valueOf((char) i);
-            case BYTE:     return Byte.valueOf((byte) i);
-            case SHORT:    return Short.valueOf((short) i);
-            }
-        }
-        return value;
-    }
-
-    /**
-     * Returns a formatter for generating the text of constant
-     * expressions.  Equivalent to
-     * <tt>getFormatter(new StringBuilder())</tt>.
-     */
-    static Formatter getFormatter() {
-        return new Formatter(new StringBuilder());
-    }
-
-    /**
-     * Returns a formatter for generating the text of constant
-     * expressions.  Also generates the text of constant
-     * "pseudo-expressions" for annotations and array-valued
-     * annotation elements.
-     *
-     * @param buf  where the expression is written
-     */
-    static Formatter getFormatter(StringBuilder buf) {
-        return new Formatter(buf);
-    }
-
-
-    /**
-     * Utility class used to generate the text of constant
-     * expressions.  Also generates the text of constant
-     * "pseudo-expressions" for annotations and array-valued
-     * annotation elements.
-     */
-    static class Formatter {
-
-        private StringBuilder buf;      // where the output goes
-
-        private Formatter(StringBuilder buf) {
-            this.buf = buf;
-        }
-
-
-        public String toString() {
-            return buf.toString();
-        }
-
-        /**
-         * Appends a constant whose type is not statically known
-         * by dispatching to the appropriate overloaded append method.
-         */
-        void append(Object val) {
-            if (val instanceof String) {
-                append((String) val);
-            } else if (val instanceof Character) {
-                append((Character) val);
-            } else if (val instanceof Boolean) {
-                append((Boolean) val);
-            } else if (val instanceof Byte) {
-                append((Byte) val);
-            } else if (val instanceof Short) {
-                append((Short) val);
-            } else if (val instanceof Integer) {
-                append((Integer) val);
-            } else if (val instanceof Long) {
-                append((Long) val);
-            } else if (val instanceof Float) {
-                append((Float) val);
-            } else if (val instanceof Double) {
-                append((Double) val);
-            } else if (val instanceof TypeMirror) {
-                append((TypeMirrorImpl) val);
-            } else if (val instanceof EnumConstantDeclaration) {
-                append((EnumConstantDeclarationImpl) val);
-            } else if (val instanceof AnnotationMirror) {
-                append((AnnotationMirrorImpl) val);
-            } else if (val instanceof Collection<?>) {
-                append((Collection<?>) val);
-            } else {
-                appendUnquoted(val.toString());
-            }
-        }
-
-        /**
-         * Appends a string, escaped (as needed) and quoted.
-         */
-        void append(String val) {
-            buf.append('"');
-            appendUnquoted(val);
-            buf.append('"');
-        }
-
-        /**
-         * Appends a Character, escaped (as needed) and quoted.
-         */
-        void append(Character val) {
-            buf.append('\'');
-            appendUnquoted(val.charValue());
-            buf.append('\'');
-        }
-
-        void append(Boolean val) {
-            buf.append(val);
-        }
-
-        void append(Byte val) {
-            buf.append(String.format("0x%02x", val));
-        }
-
-        void append(Short val) {
-            buf.append(val);
-        }
-
-        void append(Integer val) {
-            buf.append(val);
-        }
-
-        void append(Long val) {
-            buf.append(val).append('L');
-        }
-
-        void append(Float val) {
-            if (val.isNaN()) {
-                buf.append("0.0f/0.0f");
-            } else if (val.isInfinite()) {
-                if (val.floatValue() < 0) {
-                    buf.append('-');
-                }
-                buf.append("1.0f/0.0f");
-            } else {
-                buf.append(val).append('f');
-            }
-        }
-
-        void append(Double val) {
-            if (val.isNaN()) {
-                buf.append("0.0/0.0");
-            } else if (val.isInfinite()) {
-                if (val.doubleValue() < 0) {
-                    buf.append('-');
-                }
-                buf.append("1.0/0.0");
-            } else {
-                buf.append(val);
-            }
-        }
-
-        /**
-         * Appends the class literal corresponding to a type.  Should
-         * only be invoked for types that have an associated literal.
-         * e.g:  "java.lang.String.class"
-         *       "boolean.class"
-         *       "int[].class"
-         */
-        void append(TypeMirrorImpl t) {
-            appendUnquoted(t.type.toString());
-            buf.append(".class");
-        }
-
-        /**
-         * Appends the fully qualified name of an enum constant.
-         * e.g:  "java.math.RoundingMode.UP"
-         */
-        void append(EnumConstantDeclarationImpl e) {
-            appendUnquoted(e.sym.enclClass() + "." + e);
-        }
-
-        /**
-         * Appends the text of an annotation pseudo-expression.
-         * e.g:  "@pkg.Format(linesep='\n')"
-         */
-        void append(AnnotationMirrorImpl anno) {
-            appendUnquoted(anno.toString());
-        }
-
-        /**
-         * Appends the elements of a collection, enclosed within braces
-         * and separated by ", ".  Useful for array-valued annotation
-         * elements.
-         */
-        void append(Collection<?> vals) {
-            buf.append('{');
-            boolean first = true;
-            for (Object val : vals) {
-                if (first) {
-                    first = false;
-                } else {
-                    buf.append(", ");
-                }
-                append(((AnnotationValue) val).getValue());
-            }
-            buf.append('}');
-        }
-
-
-        /**
-         * For each char of a string, append using appendUnquoted(char).
-         */
-        private void appendUnquoted(String s) {
-            for (char c : s.toCharArray()) {
-                appendUnquoted(c);
-            }
-        }
-
-        /**
-         * Appends a char (unquoted), using escapes for those that are not
-         * printable ASCII.  We don't know what is actually printable in
-         * the locale in which this result will be used, so ASCII is our
-         * best guess as to the least common denominator.
-         */
-        private void appendUnquoted(char c) {
-            switch (c) {
-            case '\b': buf.append("\\b");  break;
-            case '\t': buf.append("\\t");  break;
-            case '\n': buf.append("\\n");  break;
-            case '\f': buf.append("\\f");  break;
-            case '\r': buf.append("\\r");  break;
-            case '\"': buf.append("\\\""); break;
-            case '\'': buf.append("\\\'"); break;
-            case '\\': buf.append("\\\\"); break;
-            default:
-                if (isPrintableAscii(c)) {
-                    buf.append(c);
-                } else {
-                    buf.append(String.format("\\u%04x", (int) c));
-                }
-            }
-        }
-
-        /**
-         * Is c a printable ASCII character?
-         */
-        private static boolean isPrintableAscii(char c) {
-            return c >= ' ' && c <= '~';
-        }
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/ConstructorDeclarationImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.declaration;
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.util.DeclarationVisitor;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.Flags;
-import com.sun.tools.javac.code.Symbol.MethodSymbol;
-
-
-/**
- * Implementation of ConstructorDeclaration
- */
-@SuppressWarnings("deprecation")
-public class ConstructorDeclarationImpl extends ExecutableDeclarationImpl
-                                        implements ConstructorDeclaration {
-
-    ConstructorDeclarationImpl(AptEnv env, MethodSymbol sym) {
-        super(env, sym);
-    }
-
-
-    /**
-     * {@inheritDoc}
-     * Returns the simple name of the declaring class.
-     */
-    public String getSimpleName() {
-        return sym.enclClass().name.toString();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void accept(DeclarationVisitor v) {
-        v.visitConstructorDeclaration(this);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/DeclarationImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,254 +0,0 @@
-/*
- * Copyright (c) 2004, 2010, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.declaration;
-
-
-import java.lang.annotation.Annotation;
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.Collection;
-import java.util.EnumSet;
-import javax.tools.JavaFileObject;
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.util.*;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.apt.mirror.util.SourcePositionImpl;
-import com.sun.tools.javac.code.*;
-import com.sun.tools.javac.code.Symbol.*;
-import com.sun.tools.javac.comp.AttrContext;
-import com.sun.tools.javac.comp.Env;
-import com.sun.tools.javac.tree.*;
-import com.sun.tools.javac.util.Name;
-import com.sun.tools.javac.util.Position;
-
-import static com.sun.mirror.declaration.Modifier.*;
-import static com.sun.tools.javac.code.Kinds.*;
-
-
-/**
- * Implementation of Declaration
- */
-@SuppressWarnings("deprecation")
-public abstract class DeclarationImpl implements Declaration {
-
-    protected final AptEnv env;
-    public final Symbol sym;
-
-    protected static final DeclarationFilter identityFilter =
-            new DeclarationFilter();
-
-
-    /**
-     * "sym" should be completed before this constructor is called.
-     */
-    protected DeclarationImpl(AptEnv env, Symbol sym) {
-        this.env = env;
-        this.sym = sym;
-    }
-
-
-    /**
-     * {@inheritDoc}
-     * <p> ParameterDeclarationImpl overrides this implementation.
-     */
-    public boolean equals(Object obj) {
-        if (obj instanceof DeclarationImpl) {
-            DeclarationImpl that = (DeclarationImpl) obj;
-            return sym == that.sym && env == that.env;
-        } else {
-            return false;
-        }
-    }
-
-    /**
-     * {@inheritDoc}
-     * <p> ParameterDeclarationImpl overrides this implementation.
-     */
-    public int hashCode() {
-        return sym.hashCode() + env.hashCode();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public String getDocComment() {
-        // Our doc comment is contained in a map in our toplevel,
-        // indexed by our tree.  Find our enter environment, which gives
-        // us our toplevel.  It also gives us a tree that contains our
-        // tree:  walk it to find our tree.  This is painful.
-        Env<AttrContext> enterEnv = getEnterEnv();
-        if (enterEnv == null)
-            return null;
-        JCTree tree = TreeInfo.declarationFor(sym, enterEnv.tree);
-        return enterEnv.toplevel.docComments.get(tree);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Collection<AnnotationMirror> getAnnotationMirrors() {
-        Collection<AnnotationMirror> res =
-            new ArrayList<AnnotationMirror>();
-        for (Attribute.Compound a : sym.getAnnotationMirrors()) {
-            res.add(env.declMaker.getAnnotationMirror(a, this));
-        }
-        return res;
-    }
-
-    /**
-     * {@inheritDoc}
-     * Overridden by ClassDeclarationImpl to handle @Inherited.
-     */
-    public <A extends Annotation> A getAnnotation(Class<A> annoType) {
-        return getAnnotation(annoType, sym);
-    }
-
-    protected <A extends Annotation> A getAnnotation(Class<A> annoType,
-                                                     Symbol annotated) {
-        if (!annoType.isAnnotation()) {
-            throw new IllegalArgumentException(
-                                "Not an annotation type: " + annoType);
-        }
-        String name = annoType.getName();
-        for (Attribute.Compound attr : annotated.getAnnotationMirrors()) {
-            if (name.equals(attr.type.tsym.flatName().toString())) {
-                return AnnotationProxyMaker.generateAnnotation(env, attr,
-                                                               annoType);
-            }
-        }
-        return null;
-    }
-
-    // Cache for modifiers.
-    private EnumSet<Modifier> modifiers = null;
-
-    /**
-     * {@inheritDoc}
-     */
-    public Collection<Modifier> getModifiers() {
-        if (modifiers == null) {
-            modifiers = EnumSet.noneOf(Modifier.class);
-            long flags = AptEnv.getFlags(sym);
-
-            if (0 != (flags & Flags.PUBLIC))       modifiers.add(PUBLIC);
-            if (0 != (flags & Flags.PROTECTED))    modifiers.add(PROTECTED);
-            if (0 != (flags & Flags.PRIVATE))      modifiers.add(PRIVATE);
-            if (0 != (flags & Flags.ABSTRACT))     modifiers.add(ABSTRACT);
-            if (0 != (flags & Flags.STATIC))       modifiers.add(STATIC);
-            if (0 != (flags & Flags.FINAL))        modifiers.add(FINAL);
-            if (0 != (flags & Flags.TRANSIENT))    modifiers.add(TRANSIENT);
-            if (0 != (flags & Flags.VOLATILE))     modifiers.add(VOLATILE);
-            if (0 != (flags & Flags.SYNCHRONIZED)) modifiers.add(SYNCHRONIZED);
-            if (0 != (flags & Flags.NATIVE))       modifiers.add(NATIVE);
-            if (0 != (flags & Flags.STRICTFP))     modifiers.add(STRICTFP);
-        }
-        return modifiers;
-    }
-
-    /**
-     * {@inheritDoc}
-     * Overridden in some subclasses.
-     */
-    public String getSimpleName() {
-        return sym.name.toString();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public SourcePosition getPosition() {
-        // Find the toplevel.  From there use a tree-walking utility
-        // that finds the tree for our symbol, and with it the position.
-        Env<AttrContext> enterEnv = getEnterEnv();
-        if (enterEnv == null)
-            return null;
-        JCTree.JCCompilationUnit toplevel = enterEnv.toplevel;
-        JavaFileObject sourcefile = toplevel.sourcefile;
-        if (sourcefile == null)
-            return null;
-        int pos = TreeInfo.positionFor(sym, toplevel);
-
-        return new SourcePositionImpl(sourcefile, pos, toplevel.lineMap);
-    }
-
-    /**
-     * Applies a visitor to this declaration.
-     *
-     * @param v the visitor operating on this declaration
-     */
-    public void accept(DeclarationVisitor v) {
-        v.visitDeclaration(this);
-    }
-
-
-    private Collection<Symbol> members = null;  // cache for getMembers()
-
-    /**
-     * Returns the symbols of type or package members (and constructors)
-     * that are not synthetic or otherwise unwanted.
-     * Caches the result if "cache" is true.
-     */
-    protected Collection<Symbol> getMembers(boolean cache) {
-        if (members != null) {
-            return members;
-        }
-        LinkedList<Symbol> res = new LinkedList<Symbol>();
-        for (Scope.Entry e = sym.members().elems; e != null; e = e.sibling) {
-            if (e.sym != null && !unwanted(e.sym)) {
-                res.addFirst(e.sym);
-            }
-        }
-        return cache ? (members = res) : res;
-    }
-
-    /**
-     * Tests whether this is a symbol that should never be seen by clients,
-     * such as a synthetic class.
-     * Note that a class synthesized by the compiler may not be flagged as
-     * synthetic:  see bugid 4959932.
-     */
-    private static boolean unwanted(Symbol s) {
-        return AptEnv.hasFlag(s, Flags.SYNTHETIC) ||
-               (s.kind == TYP &&
-                !DeclarationMaker.isJavaIdentifier(s.name.toString()));
-    }
-
-    /**
-     * Returns this declaration's enter environment, or null if it
-     * has none.
-     */
-    private Env<AttrContext> getEnterEnv() {
-        // Get enclosing class of sym, or sym itself if it is a class
-        // or package.
-        TypeSymbol ts = (sym.kind != PCK)
-                        ? sym.enclClass()
-                        : (PackageSymbol) sym;
-        return (ts != null)
-                ? env.enter.getEnv(ts)
-                : null;
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/DeclarationMaker.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,270 +0,0 @@
-/*
- * Copyright (c) 2004, 2006, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.declaration;
-
-
-import java.util.HashMap;
-import java.util.Map;
-
-import com.sun.mirror.declaration.*;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.*;
-import com.sun.tools.javac.code.Symbol.*;
-import com.sun.tools.javac.util.Context;
-import com.sun.tools.javac.util.Name;
-import com.sun.tools.javac.main.JavaCompiler;
-
-/**
- * Utilities for constructing and caching declarations.
- */
-@SuppressWarnings("deprecation")
-public class DeclarationMaker {
-
-    private AptEnv env;
-    private Context context;
-    private JavaCompiler javacompiler;
-    private static final Context.Key<DeclarationMaker> declarationMakerKey =
-            new Context.Key<DeclarationMaker>();
-
-    public static DeclarationMaker instance(Context context) {
-        DeclarationMaker instance = context.get(declarationMakerKey);
-        if (instance == null) {
-            instance = new DeclarationMaker(context);
-        }
-        return instance;
-    }
-
-    private DeclarationMaker(Context context) {
-        context.put(declarationMakerKey, this);
-        env = AptEnv.instance(context);
-        this.context = context;
-        this.javacompiler = JavaCompiler.instance(context);
-    }
-
-
-
-    // Cache of package declarations
-    private Map<PackageSymbol, PackageDeclaration> packageDecls =
-            new HashMap<PackageSymbol, PackageDeclaration>();
-
-    /**
-     * Returns the package declaration for a package symbol.
-     */
-    public PackageDeclaration getPackageDeclaration(PackageSymbol p) {
-        PackageDeclaration res = packageDecls.get(p);
-        if (res == null) {
-            res = new PackageDeclarationImpl(env, p);
-            packageDecls.put(p, res);
-        }
-        return res;
-    }
-
-    /**
-     * Returns the package declaration for the package with the given name.
-     * Name is fully-qualified, or "" for the unnamed package.
-     * Returns null if package declaration not found.
-     */
-    public PackageDeclaration getPackageDeclaration(String name) {
-        PackageSymbol p = null;
-        if (name.equals("") )
-            p = env.symtab.unnamedPackage;
-        else {
-            if (!isJavaName(name))
-                return null;
-            Symbol s = nameToSymbol(name, false);
-            if (s instanceof PackageSymbol) {
-                p = (PackageSymbol) s;
-                if (!p.exists())
-                    return null;
-            } else
-                return null;
-        }
-        return getPackageDeclaration(p);
-    }
-
-    // Cache of type declarations
-    private Map<ClassSymbol, TypeDeclaration> typeDecls =
-            new HashMap<ClassSymbol, TypeDeclaration>();
-
-    /**
-     * Returns the type declaration for a class symbol.
-     * Forces completion, and returns null on error.
-     */
-    public TypeDeclaration getTypeDeclaration(ClassSymbol c) {
-        long flags = AptEnv.getFlags(c);        // forces symbol completion
-        if (c.kind == Kinds.ERR) {
-            return null;
-        }
-        TypeDeclaration res = typeDecls.get(c);
-        if (res == null) {
-            if ((flags & Flags.ANNOTATION) != 0) {
-                res = new AnnotationTypeDeclarationImpl(env, c);
-            } else if ((flags & Flags.INTERFACE) != 0) {
-                res = new InterfaceDeclarationImpl(env, c);
-            } else if ((flags & Flags.ENUM) != 0) {
-                res = new EnumDeclarationImpl(env, c);
-            } else {
-                res = new ClassDeclarationImpl(env, c);
-            }
-            typeDecls.put(c, res);
-        }
-        return res;
-    }
-
-    /**
-     * Returns the type declaration for the type with the given canonical name.
-     * Returns null if type declaration not found.
-     */
-    public TypeDeclaration getTypeDeclaration(String name) {
-        if (!isJavaName(name))
-            return null;
-        Symbol s = nameToSymbol(name, true);
-        if (s instanceof ClassSymbol) {
-            ClassSymbol c = (ClassSymbol) s;
-            return getTypeDeclaration(c);
-        } else
-            return null;
-    }
-
-    /**
-     * Returns a symbol given the type's or packages's canonical name,
-     * or null if the name isn't found.
-     */
-    private Symbol nameToSymbol(String name, boolean classCache) {
-        Symbol s = null;
-        Name nameName = env.names.fromString(name);
-        if (classCache)
-            s = env.symtab.classes.get(nameName);
-        else
-            s = env.symtab.packages.get(nameName);
-
-        if (s != null && s.exists())
-            return s;
-
-        s = javacompiler.resolveIdent(name);
-        if (s.kind == Kinds.ERR  )
-            return null;
-
-        if (s.kind == Kinds.PCK)
-            s.complete();
-
-        return s;
-    }
-
-    // Cache of method and constructor declarations
-    private Map<MethodSymbol, ExecutableDeclaration> executableDecls =
-            new HashMap<MethodSymbol, ExecutableDeclaration>();
-
-    /**
-     * Returns the method or constructor declaration for a method symbol.
-     */
-    ExecutableDeclaration getExecutableDeclaration(MethodSymbol m) {
-        ExecutableDeclaration res = executableDecls.get(m);
-        if (res == null) {
-            if (m.isConstructor()) {
-                res = new ConstructorDeclarationImpl(env, m);
-            } else if (isAnnotationTypeElement(m)) {
-                res = new AnnotationTypeElementDeclarationImpl(env, m);
-            } else {
-                res = new MethodDeclarationImpl(env, m);
-            }
-            executableDecls.put(m, res);
-        }
-        return res;
-    }
-
-    // Cache of field declarations
-    private Map<VarSymbol, FieldDeclaration> fieldDecls =
-            new HashMap<VarSymbol, FieldDeclaration>();
-
-    /**
-     * Returns the field declaration for a var symbol.
-     */
-    FieldDeclaration getFieldDeclaration(VarSymbol v) {
-        FieldDeclaration res = fieldDecls.get(v);
-        if (res == null) {
-            if (hasFlag(v, Flags.ENUM)) {
-                res = new EnumConstantDeclarationImpl(env, v);
-            } else {
-                res = new FieldDeclarationImpl(env, v);
-            }
-            fieldDecls.put(v, res);
-        }
-        return res;
-    }
-
-    /**
-     * Returns a parameter declaration.
-     */
-    ParameterDeclaration getParameterDeclaration(VarSymbol v) {
-        return new ParameterDeclarationImpl(env, v);
-    }
-
-    /**
-     * Returns a type parameter declaration.
-     */
-    public TypeParameterDeclaration getTypeParameterDeclaration(TypeSymbol t) {
-        return new TypeParameterDeclarationImpl(env, t);
-    }
-
-    /**
-     * Returns an annotation.
-     */
-    AnnotationMirror getAnnotationMirror(Attribute.Compound a, Declaration decl) {
-        return new AnnotationMirrorImpl(env, a, decl);
-    }
-
-
-    /**
-     * Is a string a valid Java identifier?
-     */
-    public static boolean isJavaIdentifier(String id) {
-        return javax.lang.model.SourceVersion.isIdentifier(id);
-    }
-
-    public static boolean isJavaName(String name) {
-        for(String id: name.split("\\.")) {
-            if (! isJavaIdentifier(id))
-                return false;
-        }
-        return true;
-    }
-
-    /**
-     * Is a method an annotation type element?
-     * It is if it's declared in an annotation type.
-     */
-    private static boolean isAnnotationTypeElement(MethodSymbol m) {
-        return hasFlag(m.enclClass(), Flags.ANNOTATION);
-    }
-
-    /**
-     * Does a symbol have a given flag?
-     */
-    private static boolean hasFlag(Symbol s, long flag) {
-        return AptEnv.hasFlag(s, flag);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/EnumConstantDeclarationImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.declaration;
-
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.util.DeclarationVisitor;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.Symbol.VarSymbol;
-
-
-/**
- * Implementation of EnumConstantDeclaration
- */
-@SuppressWarnings("deprecation")
-public class EnumConstantDeclarationImpl extends FieldDeclarationImpl
-                                         implements EnumConstantDeclaration {
-
-    EnumConstantDeclarationImpl(AptEnv env, VarSymbol sym) {
-        super(env, sym);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public EnumDeclaration getDeclaringType() {
-        return (EnumDeclaration) super.getDeclaringType();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void accept(DeclarationVisitor v) {
-        v.visitEnumConstantDeclaration(this);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/EnumDeclarationImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.declaration;
-
-
-import java.util.Collection;
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.util.*;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.Symbol.*;
-
-
-/**
- * Implementation of EnumDeclaration
- */
-@SuppressWarnings("deprecation")
-public class EnumDeclarationImpl extends ClassDeclarationImpl
-                                 implements EnumDeclaration {
-
-    EnumDeclarationImpl(AptEnv env, ClassSymbol sym) {
-        super(env, sym);
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public Collection<EnumConstantDeclaration> getEnumConstants() {
-        return identityFilter.filter(getFields(),
-                                     EnumConstantDeclaration.class);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void accept(DeclarationVisitor v) {
-        v.visitEnumDeclaration(this);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/ExecutableDeclarationImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
- * Copyright (c) 2004, 2005, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.declaration;
-
-
-import java.util.Collection;
-import java.util.ArrayList;
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.ReferenceType;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.*;
-import com.sun.tools.javac.code.Symbol.*;
-
-
-/**
- * Implementation of ExecutableDeclaration
- */
-@SuppressWarnings("deprecation")
-public abstract class ExecutableDeclarationImpl extends MemberDeclarationImpl
-                                             implements ExecutableDeclaration {
-    public MethodSymbol sym;
-
-    protected ExecutableDeclarationImpl(AptEnv env, MethodSymbol sym) {
-        super(env, sym);
-        this.sym = sym;
-    }
-
-
-    /**
-     * Returns type parameters (if any), method name, and signature
-     * (value parameter types).
-     */
-    public String toString() {
-        return sym.toString();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public boolean isVarArgs() {
-        return AptEnv.hasFlag(sym, Flags.VARARGS);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Collection<ParameterDeclaration> getParameters() {
-        Collection<ParameterDeclaration> res =
-            new ArrayList<ParameterDeclaration>();
-        for (VarSymbol param : sym.params())
-            res.add(env.declMaker.getParameterDeclaration(param));
-        return res;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Collection<ReferenceType> getThrownTypes() {
-        ArrayList<ReferenceType> res = new ArrayList<ReferenceType>();
-        for (Type t : sym.type.getThrownTypes()) {
-            res.add((ReferenceType) env.typeMaker.getType(t));
-        }
-        return res;
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/FieldDeclarationImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
- * Copyright (c) 2004, 2005, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.declaration;
-
-
-import java.util.Collection;
-import java.util.ArrayList;
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.TypeMirror;
-import com.sun.mirror.util.DeclarationVisitor;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.Symbol.*;
-import com.sun.tools.javac.code.TypeTags;
-
-
-/**
- * Implementation of FieldDeclaration
- */
-@SuppressWarnings("deprecation")
-class FieldDeclarationImpl extends MemberDeclarationImpl
-                                  implements FieldDeclaration {
-
-    protected VarSymbol sym;
-
-    FieldDeclarationImpl(AptEnv env, VarSymbol sym) {
-        super(env, sym);
-        this.sym = sym;
-    }
-
-
-    /**
-     * Returns the field's name.
-     */
-    public String toString() {
-        return getSimpleName();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public TypeMirror getType() {
-        return env.typeMaker.getType(sym.type);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Object getConstantValue() {
-        Object val = sym.getConstValue();
-        // val may be null, indicating that this is not a constant.
-
-        return Constants.decodeConstant(val, sym.type);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public String getConstantExpression() {
-        Object val = getConstantValue();
-        if (val == null) {
-            return null;
-        }
-        Constants.Formatter fmtr = Constants.getFormatter();
-        fmtr.append(val);
-        return fmtr.toString();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void accept(DeclarationVisitor v) {
-        v.visitFieldDeclaration(this);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/InterfaceDeclarationImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.declaration;
-
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.util.DeclarationVisitor;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.Symbol.*;
-
-
-/**
- * Implementation of InterfaceDeclaration
- */
-@SuppressWarnings("deprecation")
-public class InterfaceDeclarationImpl extends TypeDeclarationImpl
-                                      implements InterfaceDeclaration {
-
-    InterfaceDeclarationImpl(AptEnv env, ClassSymbol sym) {
-        super(env, sym);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void accept(DeclarationVisitor v) {
-        v.visitInterfaceDeclaration(this);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/MemberDeclarationImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
- * Copyright (c) 2004, 2005, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.declaration;
-
-
-import java.util.Collection;
-import java.util.ArrayList;
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.util.DeclarationVisitor;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.Symbol;
-import com.sun.tools.javac.code.Symbol.ClassSymbol;
-import com.sun.tools.javac.code.Type;
-
-
-/**
- * Implementation of MemberDeclaration
- */
-@SuppressWarnings("deprecation")
-public abstract class MemberDeclarationImpl extends DeclarationImpl
-                                            implements MemberDeclaration {
-
-    protected MemberDeclarationImpl(AptEnv env, Symbol sym) {
-        super(env, sym);
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public TypeDeclaration getDeclaringType() {
-        ClassSymbol c = getDeclaringClassSymbol();
-        return (c == null)
-            ? null
-            : env.declMaker.getTypeDeclaration(c);
-    }
-
-    /**
-     * {@inheritDoc}
-     * For methods, constructors, and types.
-     */
-    public Collection<TypeParameterDeclaration> getFormalTypeParameters() {
-        ArrayList<TypeParameterDeclaration> res =
-            new ArrayList<TypeParameterDeclaration>();
-        for (Type t : sym.type.getTypeArguments()) {
-            res.add(env.declMaker.getTypeParameterDeclaration(t.tsym));
-        }
-        return res;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void accept(DeclarationVisitor v) {
-        v.visitMemberDeclaration(this);
-    }
-
-
-    /**
-     * Returns the ClassSymbol of the declaring type,
-     * or null if this is a top-level type.
-     */
-    private ClassSymbol getDeclaringClassSymbol() {
-        return sym.owner.enclClass();
-    }
-
-    /**
-     * Returns the formal type parameters of a type, member or constructor
-     * as an angle-bracketed string.  Each parameter consists of the simple
-     * type variable name and any bounds (with no implicit "extends Object"
-     * clause added).  Type names are qualified.
-     * Returns "" if there are no type parameters.
-     */
-    protected static String typeParamsToString(AptEnv env, Symbol sym) {
-        if (sym.type.getTypeArguments().isEmpty()) {
-            return "";
-        }
-        StringBuilder s = new StringBuilder();
-        for (Type t : sym.type.getTypeArguments()) {
-            Type.TypeVar tv = (Type.TypeVar) t;
-            s.append(s.length() == 0 ? "<" : ", ")
-             .append(TypeParameterDeclarationImpl.toString(env, tv));
-        }
-        s.append(">");
-        return s.toString();
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/MethodDeclarationImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 2004, 2005, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.declaration;
-
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.util.DeclarationVisitor;
-import com.sun.mirror.type.TypeMirror;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.Symbol.MethodSymbol;
-
-
-/**
- * Implementation of MethodDeclaration
- */
-@SuppressWarnings("deprecation")
-public class MethodDeclarationImpl extends ExecutableDeclarationImpl
-                                   implements MethodDeclaration {
-
-    MethodDeclarationImpl(AptEnv env, MethodSymbol sym) {
-        super(env, sym);
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public TypeMirror getReturnType() {
-        return env.typeMaker.getType(sym.type.getReturnType());
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void accept(DeclarationVisitor v) {
-        v.visitMethodDeclaration(this);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/PackageDeclarationImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
- * Copyright (c) 2004, 2006, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.declaration;
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.util.*;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.*;
-import com.sun.tools.javac.code.Symbol.*;
-
-
-/**
- * Implementation of PackageDeclaration.
- */
-@SuppressWarnings("deprecation")
-public class PackageDeclarationImpl extends DeclarationImpl
-                                    implements PackageDeclaration {
-
-    private PackageSymbol sym;
-
-
-    public PackageDeclarationImpl(AptEnv env, PackageSymbol sym) {
-        super(env, sym);
-        this.sym = sym;
-    }
-
-
-    /**
-     * Returns the qualified name.
-     */
-    public String toString() {
-        return getQualifiedName();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public String getQualifiedName() {
-        return sym.getQualifiedName().toString();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Collection<ClassDeclaration> getClasses() {
-        return identityFilter.filter(getAllTypes(),
-                                     ClassDeclaration.class);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Collection<EnumDeclaration> getEnums() {
-        return identityFilter.filter(getAllTypes(),
-                                     EnumDeclaration.class);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Collection<InterfaceDeclaration> getInterfaces() {
-        return identityFilter.filter(getAllTypes(),
-                                     InterfaceDeclaration.class);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Collection<AnnotationTypeDeclaration> getAnnotationTypes() {
-        return identityFilter.filter(getAllTypes(),
-                                     AnnotationTypeDeclaration.class);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void accept(DeclarationVisitor v) {
-        v.visitPackageDeclaration(this);
-    }
-
-
-    // Cache of all top-level type declarations in this package.
-    private Collection<TypeDeclaration> allTypes = null;
-
-    /**
-     * Caches and returns all top-level type declarations in this package.
-     * Omits synthetic types.
-     */
-    private Collection<TypeDeclaration> getAllTypes() {
-        if (allTypes != null) {
-            return allTypes;
-        }
-        allTypes = new ArrayList<TypeDeclaration>();
-        for (Symbol s : getMembers(false)) {
-            allTypes.add(env.declMaker.getTypeDeclaration((ClassSymbol) s));
-        }
-        return allTypes;
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/ParameterDeclarationImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.declaration;
-
-
-import java.util.Collection;
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.TypeMirror;
-import com.sun.mirror.util.DeclarationVisitor;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.*;
-import com.sun.tools.javac.code.Symbol.VarSymbol;
-
-
-/**
- * Implementation of ParameterDeclaration
- */
-@SuppressWarnings("deprecation")
-public class ParameterDeclarationImpl extends DeclarationImpl
-                                      implements ParameterDeclaration
-{
-    protected VarSymbol sym;
-
-
-    ParameterDeclarationImpl(AptEnv env, VarSymbol sym) {
-        super(env, sym);
-        this.sym = sym;
-    }
-
-
-    /**
-     * Returns the simple name of the parameter.
-     */
-    public String toString() {
-        return getType() + " " + sym.name;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public boolean equals(Object obj) {
-        // Neither ParameterDeclarationImpl objects nor their symbols
-        // are cached by the current implementation, so check symbol
-        // owners and names.
-
-        if (obj instanceof ParameterDeclarationImpl) {
-            ParameterDeclarationImpl that = (ParameterDeclarationImpl) obj;
-            return sym.owner == that.sym.owner &&
-                   sym.name == that.sym.name &&
-                   env == that.env;
-        } else {
-            return false;
-        }
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public int hashCode() {
-        return sym.owner.hashCode() + sym.name.hashCode() + env.hashCode();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public TypeMirror getType() {
-        return env.typeMaker.getType(sym.type);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void accept(DeclarationVisitor v) {
-        v.visitParameterDeclaration(this);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/TypeDeclarationImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.declaration;
-
-
-import java.util.Collection;
-import java.util.ArrayList;
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.DeclarationVisitor;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.*;
-import com.sun.tools.javac.code.Symbol.*;
-import com.sun.tools.javac.util.Name;
-
-/**
- * Implementation of TypeDeclaration
- */
-@SuppressWarnings("deprecation")
-public class TypeDeclarationImpl extends MemberDeclarationImpl
-                                 implements TypeDeclaration {
-
-    public ClassSymbol sym;
-
-
-    /**
-     * "sym" should be completed before this constructor is called.
-     */
-     protected TypeDeclarationImpl(AptEnv env, ClassSymbol sym) {
-        super(env, sym);
-        this.sym = sym;
-    }
-
-
-    /**
-     * Returns the type's name, with any type parameters (including those
-     * of outer classes).  Type names are qualified.
-     */
-    public String toString() {
-        return toString(env, sym);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public PackageDeclaration getPackage() {
-        return env.declMaker.getPackageDeclaration(sym.packge());
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public String getQualifiedName() {
-        return sym.toString();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Collection<InterfaceType> getSuperinterfaces() {
-        return env.typeMaker.getTypes(env.jctypes.interfaces(sym.type),
-                                      InterfaceType.class);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Collection<FieldDeclaration> getFields() {
-        ArrayList<FieldDeclaration> res = new ArrayList<FieldDeclaration>();
-        for (Symbol s : getMembers(true)) {
-            if (s.kind == Kinds.VAR) {
-                res.add(env.declMaker.getFieldDeclaration((VarSymbol) s));
-            }
-        }
-        return res;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Collection<? extends MethodDeclaration> getMethods() {
-        ArrayList<MethodDeclaration> res = new ArrayList<MethodDeclaration>();
-        for (Symbol s : getMembers(true)) {
-            if (s.kind == Kinds.MTH && !s.isConstructor() &&
-                !env.names.clinit.equals(s.name) ) { // screen out static initializers
-                MethodSymbol m = (MethodSymbol) s;
-                res.add((MethodDeclaration)
-                        env.declMaker.getExecutableDeclaration(m));
-            }
-        }
-        return res;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Collection<TypeDeclaration> getNestedTypes() {
-        ArrayList<TypeDeclaration> res = new ArrayList<TypeDeclaration>();
-        for (Symbol s : getMembers(true)) {
-            if (s.kind == Kinds.TYP) {
-                res.add(env.declMaker.getTypeDeclaration((ClassSymbol) s));
-            }
-        }
-        return res;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void accept(DeclarationVisitor v) {
-        v.visitTypeDeclaration(this);
-    }
-
-
-    /**
-     * Returns a type's name, with any type parameters (including those
-     * of outer classes).  Type names are qualified.
-     */
-    static String toString(AptEnv env, ClassSymbol c) {
-        StringBuilder sb = new StringBuilder();
-        if (c.isInner()) {
-            // c is an inner class, so include type params of outer.
-            ClassSymbol enclosing = c.owner.enclClass();
-            sb.append(toString(env, enclosing))
-              .append('.')
-              .append(c.name);
-        } else {
-            sb.append(c);
-        }
-        sb.append(typeParamsToString(env, c));
-        return sb.toString();
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/TypeParameterDeclarationImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 2004, 2005, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.declaration;
-
-
-import java.util.Collection;
-import java.util.ArrayList;
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.ReferenceType;
-import com.sun.mirror.util.DeclarationVisitor;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.*;
-import com.sun.tools.javac.code.Symbol.*;
-
-
-/**
- * Implementation of TypeParameterDeclaration
- */
-@SuppressWarnings("deprecation")
-public class TypeParameterDeclarationImpl extends DeclarationImpl
-                                          implements TypeParameterDeclaration
-{
-    protected TypeSymbol sym;
-
-
-    TypeParameterDeclarationImpl(AptEnv env, TypeSymbol sym) {
-        super(env, sym);
-        this.sym = sym;
-    }
-
-
-    /**
-     * Returns the type parameter's name along with any "extends" clause.
-     * Class names are qualified.  No implicit "extends Object" is added.
-     */
-    public String toString() {
-        return toString(env, (Type.TypeVar) sym.type);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Collection<ReferenceType> getBounds() {
-        ArrayList<ReferenceType> res = new ArrayList<ReferenceType>();
-        for (Type t : env.jctypes.getBounds((Type.TypeVar) sym.type)) {
-            res.add((ReferenceType) env.typeMaker.getType(t));
-        }
-        return res;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Declaration getOwner() {
-        Symbol owner = sym.owner;
-        return ((owner.kind & Kinds.TYP) != 0)
-               ? env.declMaker.getTypeDeclaration((ClassSymbol) owner)
-               : env.declMaker.getExecutableDeclaration((MethodSymbol) owner);
-    }
-
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public void accept(DeclarationVisitor v) {
-        v.visitTypeParameterDeclaration(this);
-    }
-
-
-    /**
-     * Returns the type parameter's name along with any "extends" clause.
-     * See {@link #toString()} for details.
-     */
-    static String toString(AptEnv env, Type.TypeVar tv) {
-        StringBuilder s = new StringBuilder();
-        s.append(tv);
-        boolean first = true;
-        for (Type bound : getExtendsBounds(env, tv)) {
-            s.append(first ? " extends " : " & ");
-            s.append(env.typeMaker.typeToString(bound));
-            first = false;
-        }
-        return s.toString();
-    }
-
-    /**
-     * Returns the bounds of a type variable, eliding java.lang.Object
-     * if it appears alone.
-     */
-    private static Iterable<Type> getExtendsBounds(AptEnv env,
-                                                   Type.TypeVar tv) {
-        return (tv.getUpperBound().tsym == env.symtab.objectType.tsym)
-               ? com.sun.tools.javac.util.List.<Type>nil()
-               : env.jctypes.getBounds(tv);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/type/AnnotationTypeImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.type;
-
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.TypeVisitor;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.Type;
-
-
-/**
- * Implementation of AnnotationType
- */
-@SuppressWarnings("deprecation")
-public class AnnotationTypeImpl extends InterfaceTypeImpl
-                                implements AnnotationType {
-
-    AnnotationTypeImpl(AptEnv env, Type.ClassType type) {
-        super(env, type);
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public AnnotationTypeDeclaration getDeclaration() {
-        return (AnnotationTypeDeclaration) super.getDeclaration();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void accept(TypeVisitor v) {
-        v.visitAnnotationType(this);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/type/ArrayTypeImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.type;
-
-
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.TypeVisitor;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.Type;
-
-
-/**
- * Implementation of ArrayType
- */
-@SuppressWarnings("deprecation")
-public class ArrayTypeImpl extends TypeMirrorImpl implements ArrayType {
-
-    protected Type.ArrayType type;
-
-
-    ArrayTypeImpl(AptEnv env, Type.ArrayType type) {
-        super(env, type);
-        this.type = type;
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public TypeMirror getComponentType() {
-        return env.typeMaker.getType(type.elemtype);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void accept(TypeVisitor v) {
-        v.visitArrayType(this);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/type/ClassTypeImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.type;
-
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.TypeVisitor;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.Type;
-
-
-/**
- * Implementation of ClassType
- */
-@SuppressWarnings("deprecation")
-public class ClassTypeImpl extends DeclaredTypeImpl implements ClassType {
-
-    ClassTypeImpl(AptEnv env, Type.ClassType type) {
-        super(env, type);
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public ClassDeclaration getDeclaration() {
-        return (ClassDeclaration) super.getDeclaration();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public ClassType getSuperclass() {
-        //  java.lang.Object has no superclass
-        if (type.tsym == env.symtab.objectType.tsym) {
-            return null;
-        }
-        Type sup = env.jctypes.supertype(type);
-        return (ClassType) env.typeMaker.getType(sup);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void accept(TypeVisitor v) {
-        v.visitClassType(this);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/type/DeclaredTypeImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
- * Copyright (c) 2004, 2005, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.type;
-
-
-import java.util.Collection;
-
-import com.sun.mirror.declaration.TypeDeclaration;
-import com.sun.mirror.type.*;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.*;
-import com.sun.tools.javac.code.Symbol.ClassSymbol;
-
-
-/**
- * Implementation of DeclaredType
- */
-@SuppressWarnings("deprecation")
-abstract class DeclaredTypeImpl extends TypeMirrorImpl
-                                implements DeclaredType {
-
-    protected Type.ClassType type;
-
-
-    protected DeclaredTypeImpl(AptEnv env, Type.ClassType type) {
-        super(env, type);
-        this.type = type;
-    }
-
-
-    /**
-     * Returns a string representation of this declared type.
-     * This includes the type's name and any actual type arguments.
-     * Type names are qualified.
-     */
-    public String toString() {
-        return toString(env, type);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public TypeDeclaration getDeclaration() {
-        return env.declMaker.getTypeDeclaration((ClassSymbol) type.tsym);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public DeclaredType getContainingType() {
-        if (type.getEnclosingType().tag == TypeTags.CLASS) {
-            // This is the type of an inner class.
-            return (DeclaredType) env.typeMaker.getType(type.getEnclosingType());
-        }
-        ClassSymbol enclosing = type.tsym.owner.enclClass();
-        if (enclosing != null) {
-            // Nested but not inner.  Return the raw type of the enclosing
-            // class or interface.
-            // See java.lang.reflect.ParameterizedType.getOwnerType().
-            return (DeclaredType) env.typeMaker.getType(
-                                        env.jctypes.erasure(enclosing.type));
-        }
-        return null;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Collection<TypeMirror> getActualTypeArguments() {
-        return env.typeMaker.getTypes(type.getTypeArguments());
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Collection<InterfaceType> getSuperinterfaces() {
-        return env.typeMaker.getTypes(env.jctypes.interfaces(type),
-                                      InterfaceType.class);
-    }
-
-
-    /**
-     * Returns a string representation of this declared type.
-     * See {@link #toString()} for details.
-     */
-    static String toString(AptEnv env, Type.ClassType c) {
-        return c.toString();
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/type/EnumTypeImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.type;
-
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.TypeVisitor;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.Type;
-
-
-/**
- * Implementation of EnumType
- */
-@SuppressWarnings("deprecation")
-public class EnumTypeImpl extends ClassTypeImpl implements EnumType {
-
-    EnumTypeImpl(AptEnv env, Type.ClassType type) {
-        super(env, type);
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public EnumDeclaration getDeclaration() {
-        return (EnumDeclaration) super.getDeclaration();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void accept(TypeVisitor v) {
-        v.visitEnumType(this);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/type/InterfaceTypeImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.type;
-
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.TypeVisitor;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.Type;
-
-
-/**
- * Implementation of InterfaceType
- */
-@SuppressWarnings("deprecation")
-public class InterfaceTypeImpl extends DeclaredTypeImpl
-                               implements InterfaceType {
-
-    InterfaceTypeImpl(AptEnv env, Type.ClassType type) {
-        super(env, type);
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public InterfaceDeclaration getDeclaration() {
-        return (InterfaceDeclaration) super.getDeclaration();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void accept(TypeVisitor v) {
-        v.visitInterfaceType(this);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/type/PrimitiveTypeImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.type;
-
-
-
-import com.sun.mirror.type.PrimitiveType;
-import com.sun.mirror.util.TypeVisitor;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.Type;
-
-import static com.sun.mirror.type.PrimitiveType.Kind.*;
-
-
-/**
- * Implementation of PrimitiveType.
- */
-@SuppressWarnings("deprecation")
-class PrimitiveTypeImpl extends TypeMirrorImpl implements PrimitiveType {
-
-    private final Kind kind;    // the kind of primitive
-
-
-    PrimitiveTypeImpl(AptEnv env, Kind kind) {
-        super(env, getType(env, kind));
-        this.kind = kind;
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public Kind getKind() {
-        return kind;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void accept(TypeVisitor v) {
-        v.visitPrimitiveType(this);
-    }
-
-
-    /**
-     * Returns the javac type corresponding to a kind of primitive type.
-     */
-    private static Type getType(AptEnv env, Kind kind) {
-        switch (kind) {
-        case BOOLEAN:   return env.symtab.booleanType;
-        case BYTE:      return env.symtab.byteType;
-        case SHORT:     return env.symtab.shortType;
-        case INT:       return env.symtab.intType;
-        case LONG:      return env.symtab.longType;
-        case CHAR:      return env.symtab.charType;
-        case FLOAT:     return env.symtab.floatType;
-        case DOUBLE:    return env.symtab.doubleType;
-        default:        throw new AssertionError();
-        }
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/type/TypeMaker.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.type;
-
-
-import java.util.Collection;
-import java.util.ArrayList;
-
-import com.sun.mirror.type.*;
-import com.sun.mirror.type.PrimitiveType.Kind;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.*;
-import com.sun.tools.javac.util.Context;
-
-import static com.sun.tools.javac.code.TypeTags.*;
-
-
-/**
- * Utilities for constructing type objects.
- */
-@SuppressWarnings("deprecation")
-public class TypeMaker {
-
-    private final AptEnv env;
-    private final VoidType voidType;
-    private PrimitiveType[] primTypes = new PrimitiveType[VOID];
-                                                // VOID is past all prim types
-
-
-    private static final Context.Key<TypeMaker> typeMakerKey =
-            new Context.Key<TypeMaker>();
-
-    public static TypeMaker instance(Context context) {
-        TypeMaker instance = context.get(typeMakerKey);
-        if (instance == null) {
-            instance = new TypeMaker(context);
-        }
-        return instance;
-    }
-
-    private TypeMaker(Context context) {
-        context.put(typeMakerKey, this);
-        env = AptEnv.instance(context);
-
-        voidType = new VoidTypeImpl(env);
-        primTypes[BOOLEAN] = new PrimitiveTypeImpl(env, Kind.BOOLEAN);
-        primTypes[BYTE]    = new PrimitiveTypeImpl(env, Kind.BYTE);
-        primTypes[SHORT]   = new PrimitiveTypeImpl(env, Kind.SHORT);
-        primTypes[INT]     = new PrimitiveTypeImpl(env, Kind.INT);
-        primTypes[LONG]    = new PrimitiveTypeImpl(env, Kind.LONG);
-        primTypes[CHAR]    = new PrimitiveTypeImpl(env, Kind.CHAR);
-        primTypes[FLOAT]   = new PrimitiveTypeImpl(env, Kind.FLOAT);
-        primTypes[DOUBLE]  = new PrimitiveTypeImpl(env, Kind.DOUBLE);
-    }
-
-
-    /**
-     * Returns the TypeMirror corresponding to a javac Type object.
-     */
-    public TypeMirror getType(Type t) {
-        if (t.isPrimitive()) {
-            return primTypes[t.tag];
-        }
-        switch (t.tag) {
-        case ERROR:     // fall through
-        case CLASS:     return getDeclaredType((Type.ClassType) t);
-        case WILDCARD:  return new WildcardTypeImpl(env, (Type.WildcardType) t);
-        case TYPEVAR:   return new TypeVariableImpl(env, (Type.TypeVar) t);
-        case ARRAY:     return new ArrayTypeImpl(env, (Type.ArrayType) t);
-        case VOID:      return voidType;
-        default:        throw new AssertionError();
-        }
-    }
-
-    /**
-     * Returns the declared type corresponding to a given ClassType.
-     */
-    public DeclaredType getDeclaredType(Type.ClassType t) {
-        return
-            hasFlag(t.tsym, Flags.ANNOTATION) ? new AnnotationTypeImpl(env, t) :
-            hasFlag(t.tsym, Flags.INTERFACE)  ? new InterfaceTypeImpl(env, t) :
-            hasFlag(t.tsym, Flags.ENUM)       ? new EnumTypeImpl(env, t) :
-                                                new ClassTypeImpl(env, t);
-    }
-
-    /**
-     * Returns a collection of types corresponding to a list of javac Type
-     * objects.
-     */
-    public Collection<TypeMirror> getTypes(Iterable<Type> types) {
-        return getTypes(types, TypeMirror.class);
-    }
-
-    /**
-     * Returns a collection of types corresponding to a list of javac Type
-     * objects.  The element type of the result is specified explicitly.
-     */
-    public <T extends TypeMirror> Collection<T> getTypes(Iterable<Type> types,
-                                                         Class<T> resType) {
-        ArrayList<T> res = new ArrayList<T>();
-        for (Type t : types) {
-            TypeMirror mir = getType(t);
-            if (resType.isInstance(mir)) {
-                res.add(resType.cast(mir));
-            }
-        }
-        return res;
-    }
-
-    /**
-     * Returns the string representation of a type.
-     * Bounds of type variables are not included; bounds of wildcard types are.
-     * Type names are qualified.
-     */
-    public String typeToString(Type t) {
-        switch (t.tag) {
-        case ARRAY:
-            return typeToString(env.jctypes.elemtype(t)) + "[]";
-        case CLASS:
-            Type.ClassType c = (Type.ClassType) t;
-            return DeclaredTypeImpl.toString(env, c);
-        case WILDCARD:
-            Type.WildcardType a = (Type.WildcardType) t;
-            return WildcardTypeImpl.toString(env, a);
-        default:
-            return t.tsym.toString();
-        }
-    }
-
-
-    /**
-     * Does a symbol have a given flag?
-     */
-    private static boolean hasFlag(Symbol s, long flag) {
-        return AptEnv.hasFlag(s, flag);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/type/TypeMirrorImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 2004, 2010, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.type;
-
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.*;
-
-
-/**
- * Implementation of TypeMirror
- */
-@SuppressWarnings("deprecation")
-public abstract class TypeMirrorImpl implements TypeMirror {
-
-    protected final AptEnv env;
-    public final Type type;
-
-
-    protected TypeMirrorImpl(AptEnv env, Type type) {
-        this.env = env;
-        this.type = type;
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public String toString() {
-        return type.toString();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public boolean equals(Object obj) {
-        if (obj instanceof TypeMirrorImpl) {
-            TypeMirrorImpl that = (TypeMirrorImpl) obj;
-            return env.jctypes.isSameType(this.type, that.type);
-        } else {
-            return false;
-        }
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public int hashCode() {
-        return Types.hashCode(type);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/type/TypeVariableImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 2004, 2009, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.type;
-
-
-import java.util.Collection;
-import java.util.ArrayList;
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.TypeVisitor;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.Symbol.TypeSymbol;
-import com.sun.tools.javac.code.Type;
-
-
-/**
- * Implementation of TypeVariable
- */
-@SuppressWarnings("deprecation")
-public class TypeVariableImpl extends TypeMirrorImpl implements TypeVariable {
-
-    protected Type.TypeVar type;
-
-
-    TypeVariableImpl(AptEnv env, Type.TypeVar type) {
-        super(env, type);
-        this.type = type;
-    }
-
-
-    /**
-     * Returns the simple name of this type variable.  Bounds are
-     * not included.
-     */
-    public String toString() {
-        return type.tsym.name.toString();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public TypeParameterDeclaration getDeclaration() {
-        TypeSymbol sym = type.tsym;
-        return env.declMaker.getTypeParameterDeclaration(sym);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void accept(TypeVisitor v) {
-        v.visitTypeVariable(this);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/type/VoidTypeImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.type;
-
-
-import com.sun.mirror.type.VoidType;
-import com.sun.mirror.util.TypeVisitor;
-import com.sun.tools.apt.mirror.AptEnv;
-
-
-/**
- * Implementation of VoidType.
- */
-@SuppressWarnings("deprecation")
-class VoidTypeImpl extends TypeMirrorImpl implements VoidType {
-
-    VoidTypeImpl(AptEnv env) {
-        super(env, env.symtab.voidType);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void accept(TypeVisitor v) {
-        v.visitVoidType(this);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/type/WildcardTypeImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.type;
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.TypeVisitor;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.*;
-import com.sun.tools.javac.code.Symbol.*;
-
-
-/**
- * Implementation of WildcardType
- */
-@SuppressWarnings("deprecation")
-public class WildcardTypeImpl extends TypeMirrorImpl implements WildcardType {
-
-    protected Type.WildcardType type;
-
-    WildcardTypeImpl(AptEnv env, Type.WildcardType type) {
-        super(env, type);
-        this.type = type;
-    }
-
-
-    /**
-     * Returns the string form of a wildcard type, consisting of "?"
-     * and any "extends" or "super" clause.
-     * Delimiting brackets are not included.  Class names are qualified.
-     */
-    public String toString() {
-        return toString(env, type);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Collection<ReferenceType> getUpperBounds() {
-        return type.isSuperBound()
-                ? Collections.<ReferenceType>emptyList()
-                : typeToCollection(type.type);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Collection<ReferenceType> getLowerBounds() {
-        return type.isExtendsBound()
-                ? Collections.<ReferenceType>emptyList()
-                : typeToCollection(type.type);
-    }
-
-    /**
-     * Gets the ReferenceType for a javac Type object, and returns
-     * it in a singleton collection.  If type is null, returns an empty
-     * collection.
-     */
-    private Collection<ReferenceType> typeToCollection(Type type) {
-        ArrayList<ReferenceType> res = new ArrayList<ReferenceType>(1);
-        if (type != null) {
-            res.add((ReferenceType) env.typeMaker.getType(type));
-        }
-        return res;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void accept(TypeVisitor v) {
-        v.visitWildcardType(this);
-    }
-
-
-    /**
-     * Returns the string form of a wildcard type, consisting of "?"
-     * and any "extends" or "super" clause.
-     * See {@link #toString()} for details.
-     */
-    static String toString(AptEnv env, Type.WildcardType wildThing) {
-        return wildThing.toString();
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/util/DeclarationsImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 2004, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.util;
-
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.util.Declarations;
-import com.sun.tools.apt.mirror.declaration.DeclarationImpl;
-import com.sun.tools.apt.mirror.declaration.MethodDeclarationImpl;
-import com.sun.tools.apt.mirror.util.DeclarationsImpl;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.javac.code.*;
-import com.sun.tools.javac.code.Symbol.*;
-import com.sun.tools.javac.util.Context;
-
-import static com.sun.tools.javac.code.Kinds.*;
-
-
-/**
- * Implementation of Declarations utility methods for annotation processors
- */
-@SuppressWarnings("deprecation")
-public class DeclarationsImpl implements Declarations {
-
-    private final AptEnv env;
-
-
-    private static final Context.Key<Declarations> declarationsKey =
-            new Context.Key<Declarations>();
-
-    public static Declarations instance(Context context) {
-        Declarations instance = context.get(declarationsKey);
-        if (instance == null) {
-            instance = new DeclarationsImpl(context);
-        }
-        return instance;
-    }
-
-    private DeclarationsImpl(Context context) {
-        context.put(declarationsKey, this);
-        env = AptEnv.instance(context);
-    }
-
-
-    /**
-     * {@inheritDoc}
-     * See sections 8.3 and 8.4.6 of
-     * <cite>The Java&trade; Language Specification</cite>
-     */
-    public boolean hides(MemberDeclaration sub, MemberDeclaration sup) {
-        Symbol hider = ((DeclarationImpl) sub).sym;
-        Symbol hidee = ((DeclarationImpl) sup).sym;
-
-        // Fields only hide fields; methods only methods; types only types.
-        // Names must match.  Nothing hides itself (just try it).
-        if (hider == hidee ||
-                hider.kind != hidee.kind ||
-                hider.name != hidee.name) {
-            return false;
-        }
-
-        // Only static methods can hide other methods.
-        // Methods only hide methods with matching signatures.
-        if (hider.kind == MTH) {
-            if ((hider.flags() & Flags.STATIC) == 0 ||
-                        !env.jctypes.isSubSignature(hider.type, hidee.type)) {
-                return false;
-            }
-        }
-
-        // Hider must be in a subclass of hidee's class.
-        // Note that if M1 hides M2, and M2 hides M3, and M3 is accessible
-        // in M1's class, then M1 and M2 both hide M3.
-        ClassSymbol hiderClass = hider.owner.enclClass();
-        ClassSymbol hideeClass = hidee.owner.enclClass();
-        if (hiderClass == null || hideeClass == null ||
-                !hiderClass.isSubClass(hideeClass, env.jctypes)) {
-            return false;
-        }
-
-        // Hidee must be accessible in hider's class.
-        // The method isInheritedIn is poorly named:  it checks only access.
-        return hidee.isInheritedIn(hiderClass, env.jctypes);
-    }
-
-    /**
-     * {@inheritDoc}
-     * See section 8.4.6.1 of
-     * <cite>The Java&trade; Language Specification</cite>
-     */
-    public boolean overrides(MethodDeclaration sub, MethodDeclaration sup) {
-        MethodSymbol overrider = ((MethodDeclarationImpl) sub).sym;
-        MethodSymbol overridee = ((MethodDeclarationImpl) sup).sym;
-        ClassSymbol origin = (ClassSymbol) overrider.owner;
-
-        return overrider.name == overridee.name &&
-
-               // not reflexive as per JLS
-               overrider != overridee &&
-
-               // we don't care if overridee is static, though that wouldn't
-               // compile
-               !overrider.isStatic() &&
-
-               // overrider, whose declaring type is the origin, must be
-               // in a subtype of overridee's type
-               env.jctypes.asSuper(origin.type, overridee.owner) != null &&
-
-               // check access and signatures; don't check return types
-               overrider.overrides(overridee, origin, env.jctypes, false);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/util/SourcePositionImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
- * Copyright (c) 2004, 2005, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.util;
-
-
-import java.io.File;
-import javax.tools.JavaFileObject;
-
-import com.sun.mirror.util.SourcePosition;
-import com.sun.tools.javac.util.Position;
-
-
-/**
- * Implementation of SourcePosition
- */
-@SuppressWarnings("deprecation")
-public class SourcePositionImpl implements SourcePosition {
-
-    private JavaFileObject sourcefile;
-    private int pos;            // file position, in javac's internal format
-    private Position.LineMap linemap;
-
-
-    public SourcePositionImpl(JavaFileObject sourcefile, int pos, Position.LineMap linemap) {
-        this.sourcefile = sourcefile;
-        this.pos = pos;
-        this.linemap = linemap;
-        assert sourcefile != null;
-        assert linemap != null;
-    }
-
-    public int getJavacPosition() {
-        return pos;
-    }
-
-    public JavaFileObject getSource() {
-        return sourcefile;
-    }
-
-    /**
-     * Returns a string representation of this position in the
-     * form "sourcefile:line", or "sourcefile" if no line number is available.
-     */
-    public String toString() {
-        int ln = line();
-        return (ln == Position.NOPOS)
-                ? sourcefile.getName()
-                : sourcefile.getName() + ":" + ln;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public File file() {
-        return new File(sourcefile.toUri());
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public int line() {
-        return linemap.getLineNumber(pos);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public int column() {
-        return linemap.getColumnNumber(pos);
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/mirror/util/TypesImpl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,229 +0,0 @@
-/*
- * Copyright (c) 2004, 2005, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.mirror.util;
-
-
-import java.util.Collection;
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.Types;
-import com.sun.tools.apt.mirror.AptEnv;
-import com.sun.tools.apt.mirror.declaration.*;
-import com.sun.tools.apt.mirror.type.TypeMirrorImpl;
-import com.sun.tools.javac.code.BoundKind;
-import com.sun.tools.javac.code.Type;
-import com.sun.tools.javac.code.Symbol.ClassSymbol;
-import com.sun.tools.javac.util.Context;
-import com.sun.tools.javac.util.ListBuffer;
-
-
-/**
- * Implementation of Types utility methods for annotation processors
- */
-@SuppressWarnings("deprecation")
-public class TypesImpl implements Types {
-
-    private final AptEnv env;
-
-
-    private static final Context.Key<Types> typesKey =
-            new Context.Key<Types>();
-
-    public static Types instance(Context context) {
-        Types instance = context.get(typesKey);
-        if (instance == null) {
-            instance = new TypesImpl(context);
-        }
-        return instance;
-    }
-
-    private TypesImpl(Context context) {
-        context.put(typesKey, this);
-        env = AptEnv.instance(context);
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public boolean isSubtype(TypeMirror t1, TypeMirror t2) {
-        return env.jctypes.isSubtype(((TypeMirrorImpl) t1).type,
-                                     ((TypeMirrorImpl) t2).type);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public boolean isAssignable(TypeMirror t1, TypeMirror t2) {
-        return env.jctypes.isAssignable(((TypeMirrorImpl) t1).type,
-                                        ((TypeMirrorImpl) t2).type);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public TypeMirror getErasure(TypeMirror t) {
-        return env.typeMaker.getType(
-                env.jctypes.erasure(((TypeMirrorImpl) t).type));
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public PrimitiveType getPrimitiveType(PrimitiveType.Kind kind) {
-        Type prim = null;
-        switch (kind) {
-        case BOOLEAN:   prim = env.symtab.booleanType;  break;
-        case BYTE:      prim = env.symtab.byteType;     break;
-        case SHORT:     prim = env.symtab.shortType;    break;
-        case INT:       prim = env.symtab.intType;      break;
-        case LONG:      prim = env.symtab.longType;     break;
-        case CHAR:      prim = env.symtab.charType;     break;
-        case FLOAT:     prim = env.symtab.floatType;    break;
-        case DOUBLE:    prim = env.symtab.doubleType;   break;
-        default:        assert false;
-        }
-        return (PrimitiveType) env.typeMaker.getType(prim);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public VoidType getVoidType() {
-        return (VoidType) env.typeMaker.getType(env.symtab.voidType);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public ArrayType getArrayType(TypeMirror componentType) {
-        if (componentType instanceof VoidType) {
-            throw new IllegalArgumentException("void");
-        }
-        return (ArrayType) env.typeMaker.getType(
-                new Type.ArrayType(((TypeMirrorImpl) componentType).type,
-                                   env.symtab.arrayClass));
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public TypeVariable getTypeVariable(TypeParameterDeclaration tparam) {
-        return (TypeVariable) env.typeMaker.getType(
-                                ((DeclarationImpl) tparam).sym.type);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public WildcardType getWildcardType(Collection<ReferenceType> upperBounds,
-                                        Collection<ReferenceType> lowerBounds) {
-        BoundKind kind;
-        Type bound;
-        int uppers  = upperBounds.size();
-        int downers = lowerBounds.size();
-
-        if (uppers + downers > 1) {
-            throw new IllegalArgumentException("Multiple bounds not allowed");
-
-        } else if (uppers + downers == 0) {
-            kind = BoundKind.UNBOUND;
-            bound = env.symtab.objectType;
-
-        } else if (uppers == 1) {
-            assert downers == 0;
-            kind = BoundKind.EXTENDS;
-            bound = ((TypeMirrorImpl) upperBounds.iterator().next()).type;
-
-        } else {
-            assert uppers == 0 && downers == 1;
-            kind = BoundKind.SUPER;
-            bound = ((TypeMirrorImpl) lowerBounds.iterator().next()).type;
-        }
-
-        if (bound instanceof Type.WildcardType)
-            throw new IllegalArgumentException(bound.toString());
-
-        return (WildcardType) env.typeMaker.getType(
-                new Type.WildcardType(bound, kind, env.symtab.boundClass));
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public DeclaredType getDeclaredType(TypeDeclaration decl,
-                                        TypeMirror... typeArgs) {
-        ClassSymbol sym = ((TypeDeclarationImpl) decl).sym;
-
-        if (typeArgs.length == 0)
-            return (DeclaredType) env.typeMaker.getType(
-                                        env.jctypes.erasure(sym.type));
-        if (sym.type.getEnclosingType().isParameterized())
-            throw new IllegalArgumentException(decl.toString());
-
-        return getDeclaredType(sym.type.getEnclosingType(), sym, typeArgs);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public DeclaredType getDeclaredType(DeclaredType containing,
-                                        TypeDeclaration decl,
-                                        TypeMirror... typeArgs) {
-        if (containing == null)
-            return getDeclaredType(decl, typeArgs);
-
-        ClassSymbol sym = ((TypeDeclarationImpl) decl).sym;
-        Type outer = ((TypeMirrorImpl) containing).type;
-
-        if (outer.tsym != sym.owner.enclClass())
-            throw new IllegalArgumentException(containing.toString());
-        if (!outer.isParameterized())
-            return getDeclaredType(decl, typeArgs);
-
-        return getDeclaredType(outer, sym, typeArgs);
-    }
-
-    private DeclaredType getDeclaredType(Type outer,
-                                         ClassSymbol sym,
-                                         TypeMirror... typeArgs) {
-        if (typeArgs.length != sym.type.getTypeArguments().length())
-            throw new IllegalArgumentException(
-                                "Incorrect number of type arguments");
-
-        ListBuffer<Type> targs = new ListBuffer<Type>();
-        for (TypeMirror t : typeArgs) {
-            if (!(t instanceof ReferenceType || t instanceof WildcardType))
-                throw new IllegalArgumentException(t.toString());
-            targs.append(((TypeMirrorImpl) t).type);
-        }
-        //### Need a way to check that type args match formals.
-
-        return (DeclaredType) env.typeMaker.getType(
-                new Type.ClassType(outer, targs.toList(), sym));
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/apt/resources/apt.properties	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +0,0 @@
-#
-# Copyright (c) 2004, 2006, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-apt.msg.usage.header=\
-Usage: {0} <apt and javac options> <source files>\n\
-where apt options include:
-
-apt.msg.usage.footer=\
-See javac -help for information on javac options.
-
-apt.msg.usage.nonstandard.footer=\
-These options are non-standard and subject to change without notice, \nas is the format of their output.
-
-apt.msg.bug=\
-An exception has occurred in apt ({0}). \
-Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport)  \
-after checking the Bug Parade for duplicates. \
-Include your program and the following diagnostic in your report.  Thank you.
-
-## apt options
-
-apt.opt.A=\
-    Options to pass to annotation processors
-apt.opt.arg.class=\
-    <class>
-apt.opt.arg.directory=\
-    Specify where to place processor and javac generated class files
-apt.opt.classpath=\
-    Specify where to find user class files and annotation processor factories
-apt.opt.d=\
-    Specify where to place processor and javac generated class files
-apt.opt.factory=\
-    Name of AnnotationProcessorFactory to use; bypasses default discovery process
-apt.opt.factorypath=\
-    Specify where to find annotation processor factories
-apt.opt.s=\
-    Specify where to place processor generated source files
-apt.opt.help=\
-    Print a synopsis of standard options; use javac -help for more options
-apt.opt.print=\
-    Print out textual representation of specified types
-apt.opt.nocompile=\
-    Do not compile source files to class files
-apt.opt.proc.flag=\
-    [key[=value]]
-apt.opt.version=\
-    Version information
-apt.opt.XListAnnotationTypes=\
-    List found annotation types
-apt.opt.XListDeclarations=\
-    List specified and included declarations
-apt.opt.XPrintAptRounds=\
-    Print information about initial and recursive apt rounds
-apt.opt.XPrintFactoryInfo=\
-    Print information about which annotations a factory is asked to process
-apt.opt.XClassesAsDecls=\
-    Treat both class and source files as declarations to process
-
-##
-## errors
-##
-
-## All errors which do not refer to a particular line in the source code are
-## preceded by this string.
-
-apt.err.error=\
-    error:\u0020
-
-apt.err.unsupported.source.version=\
-    Source release {0} is not supported; use release 5 or earlier
-
-apt.err.unsupported.target.version=\
-    Target release {0} is not supported; use release 5 or earlier
-
-apt.err.BadDeclaration=\
-    Bad declaration created for annotation type {0}
-
-apt.err.CantFindClass=\
-    Could not find class file for {0}
-
-apt.err.DeclarationCreation=\
-    Could not create declaration for annotation type {0}
-
-# Print an error from the Messager
-apt.err.Messager=\
-    {0}
-
-##
-## miscellaneous strings
-##
-
-apt.misc.Deprecation=\
-    \nwarning:\u0020The apt tool and its associated API are planned to be\n\
-    removed in the next major JDK release.  These features have been\n\
-    superseded by javac and the standardized annotation processing API,\n\
-    javax.annotation.processing and javax.lang.model.  Users are\n\
-    recommended to migrate to the annotation processing features of\n\
-    javac; see the javac man page for more information.\n
-
-apt.misc.Problem=\
-    Problem encountered during annotation processing; \nsee stacktrace below for more information.
-
-apt.misc.SunMiscService=\
-    Error finding annotation processor factories; \ncheck META-INF/services information.
-
-# Print a notice from the Messager
-apt.note.Messager=\
-    {0}
-
-##
-## warnings
-##
-
-## All warning messages are preceded by the following string.
-apt.warn.warning=\
-    warning:\u0020
-
-apt.warn.AnnotationsWithoutProcessors=\
-    Annotation types without processors: {0}
-
-apt.warn.BadFactory=\
-    Bad annotation processor factory: {0} 
-
-apt.warn.BadParentDirectory=\
-    Failed to create some parent directory of {0} 
-
-apt.warn.FactoryCantInstantiate=\
-    Could not instantiate an instance of factory ''{0}''.
-
-apt.warn.FactoryWrongType=\
-    Specified factory, ''{0}'', is not an AnnotationProcessorFactory.
-
-apt.warn.FactoryNotFound=\
-    Specified AnnotationProcessorFactory, ''{0}'', not found on search path.
-
-apt.warn.FileReopening=\
-    Attempt to create ''{0}'' multiple times
-
-apt.warn.IllegalFileName=\
-    Cannot create file for illegal name ''{0}''.
-
-apt.warn.MalformedSupportedString=\
-    Malformed string for annotation support, ''{0}'', returned by factory.
-
-apt.warn.NoNewFilesAfterRound=\
-    Cannot create file ''{0}'' after a round has ended.
-
-# Print a warning from the Messager
-apt.warn.Messager=\
-    {0}
-
-apt.warn.NoAnnotationProcessors=\
-    No annotation processors found but annotations present.
-
-apt.warn.NullProcessor=\
-    Factory {0} returned null for an annotation processor.
-
-apt.warn.CorrespondingClassFile=\
-    A class file corresponding to source file ''{0}'' has already been created.
-
-apt.warn.CorrespondingSourceFile=\
-    A source file corresponding to class file ''{0}'' has already been created.
--- a/langtools/src/share/classes/com/sun/tools/apt/resources/apt_ja.properties	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-#
-# Copyright (c) 2004, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-apt.msg.usage.header=\u4F7F\u7528\u65B9\u6CD5: {0} <apt and javac options> <source files>\n\u6B21\u306Eapt\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u3042\u308A\u307E\u3059:
-
-apt.msg.usage.footer=javac\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u3064\u3044\u3066\u306F\u3001javac -help\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002
-
-apt.msg.usage.nonstandard.footer=\u3053\u308C\u3089\u306F\u975E\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u3042\u308A\u3001\u8868\u793A\u5F62\u5F0F\u4E88\u544A\u306A\u3057\u306B\u5909\u66F4\u3055\u308C\u308B\n\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002
-
-apt.msg.bug=\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3067\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F({0})\u3002Bug Parade\u306B\u540C\u3058\u30D0\u30B0\u304C\u767B\u9332\u3055\u308C\u3066\u3044\u306A\u3044\u3053\u3068\u3092\u3054\u78BA\u8A8D\u306E\u4E0A\u3001Java Developer Connection(http://java.sun.com/webapps/bugreport)\u3067\u30D0\u30B0\u306E\u767B\u9332\u3092\u304A\u9858\u3044\u3044\u305F\u3057\u307E\u3059\u3002\u30EC\u30DD\u30FC\u30C8\u306B\u306F\u3001\u305D\u306E\u30D7\u30ED\u30B0\u30E9\u30E0\u3068\u4E0B\u8A18\u306E\u8A3A\u65AD\u5185\u5BB9\u3092\u542B\u3081\u3066\u304F\u3060\u3055\u3044\u3002\u3054\u5354\u529B\u3042\u308A\u304C\u3068\u3046\u3054\u3056\u3044\u307E\u3059\u3002
-
-## apt options
-
-apt.opt.A=\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u306B\u6E21\u3055\u308C\u308B\u30AA\u30D7\u30B7\u30E7\u30F3
-apt.opt.arg.class=<class>
-apt.opt.arg.directory=\u30D7\u30ED\u30BB\u30C3\u30B5\u304A\u3088\u3073javac\u304C\u751F\u6210\u3057\u305F\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u7F6E\u304F\u4F4D\u7F6E\u3092\u6307\u5B9A\u3059\u308B
-apt.opt.classpath=\u30E6\u30FC\u30B6\u30FC\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u304A\u3088\u3073\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u30FB\u30D5\u30A1\u30AF\u30C8\u30EA\u3092\u691C\u7D22\u3059\u308B\u4F4D\u7F6E\u3092\u6307\u5B9A\u3059\u308B
-apt.opt.d=\u30D7\u30ED\u30BB\u30C3\u30B5\u304A\u3088\u3073javac\u304C\u751F\u6210\u3057\u305F\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u7F6E\u304F\u4F4D\u7F6E\u3092\u6307\u5B9A\u3059\u308B
-apt.opt.factory=\u4F7F\u7528\u3059\u308BAnnotationProcessorFactory\u306E\u540D\u524D\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u691C\u51FA\u51E6\u7406\u3092\u30D0\u30A4\u30D1\u30B9
-apt.opt.factorypath=\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u30FB\u30D5\u30A1\u30AF\u30C8\u30EA\u306E\u691C\u7D22\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B
-apt.opt.s=\u30D7\u30ED\u30BB\u30C3\u30B5\u304C\u751F\u6210\u3057\u305F\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u7F6E\u304F\u4F4D\u7F6E\u3092\u6307\u5B9A\u3059\u308B
-apt.opt.help=\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u6982\u8981\u3092\u51FA\u529B\u3059\u308B\u3002\u8A73\u7D30\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u3064\u3044\u3066\u306Fjavac -help\u3092\u53C2\u7167
-apt.opt.print=\u6307\u5B9A\u3057\u305F\u578B\u306E\u30C6\u30AD\u30B9\u30C8\u8868\u793A\u3092\u51FA\u529B\u3059\u308B
-apt.opt.nocompile=\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306B\u30B3\u30F3\u30D1\u30A4\u30EB\u3057\u306A\u3044
-apt.opt.proc.flag=[key[=value]]
-apt.opt.version=\u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831
-apt.opt.XListAnnotationTypes=\u898B\u3064\u304B\u3063\u305F\u6CE8\u91C8\u578B\u3092\u30EA\u30B9\u30C8\u3059\u308B
-apt.opt.XListDeclarations=\u6307\u5B9A\u3055\u308C\u305F\u5BA3\u8A00\u304A\u3088\u3073\u30A4\u30F3\u30AF\u30EB\u30FC\u30C9\u3055\u308C\u305F\u5BA3\u8A00\u3092\u30EA\u30B9\u30C8\u3059\u308B
-apt.opt.XPrintAptRounds=\u521D\u671F\u304A\u3088\u3073\u518D\u5E30apt\u5F80\u5FA9\u306B\u3064\u3044\u3066\u306E\u60C5\u5831\u3092\u5370\u5237\u3059\u308B
-apt.opt.XPrintFactoryInfo=\u30D5\u30A1\u30AF\u30C8\u30EA\u304C\u51E6\u7406\u3092\u4F9D\u983C\u3055\u308C\u308B\u6CE8\u91C8\u306B\u3064\u3044\u3066\u306E\u60C5\u5831\u3092\u5370\u5237\u3059\u308B
-apt.opt.XClassesAsDecls=\u30AF\u30E9\u30B9\u3068\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u4E21\u65B9\u3068\u3082\u51E6\u7406\u3059\u308B\u5BA3\u8A00\u3068\u3057\u3066\u51E6\u7406
-
-##
-## errors
-##
-
-## All errors which do not refer to a particular line in the source code are
-## preceded by this string.
-
-apt.err.error=\u30A8\u30E9\u30FC:\u0020
-
-apt.err.unsupported.source.version=\u30BD\u30FC\u30B9\u30FB\u30EA\u30EA\u30FC\u30B9{0}\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u30EA\u30EA\u30FC\u30B95\u4EE5\u524D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044
-
-apt.err.unsupported.target.version=\u30BF\u30FC\u30B2\u30C3\u30C8\u30FB\u30EA\u30EA\u30FC\u30B9{0}\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u30EA\u30EA\u30FC\u30B95\u4EE5\u524D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044
-
-apt.err.BadDeclaration=\u6CE8\u91C8\u578B{0}\u7528\u306B\u4F5C\u6210\u3055\u308C\u305F\u7121\u52B9\u306A\u5BA3\u8A00\u3067\u3059
-
-apt.err.CantFindClass={0}\u306E\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
-
-apt.err.DeclarationCreation=\u6CE8\u91C8\u578B{0}\u7528\u306B\u5BA3\u8A00\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
-
-# Print an error from the Messager
-apt.err.Messager={0}
-
-##
-## miscellaneous strings
-##
-
-apt.misc.Deprecation=\n\u8B66\u544A: apt\u30C4\u30FC\u30EB\u3068\u30C4\u30FC\u30EB\u306B\u95A2\u9023\u4ED8\u3051\u3089\u308C\u305FAPI\u306F\u3001\u6B21\u56DE\u306EJDK\n\u30E1\u30B8\u30E3\u30FC\u30FB\u30EA\u30EA\u30FC\u30B9\u3067\u524A\u9664\u3055\u308C\u308B\u4E88\u5B9A\u3067\u3059\u3002\u3053\u308C\u3089\u306E\u6A5F\u80FD\u306Fjavac\u304A\u3088\u3073\n\u6A19\u6E96\u5316\u3055\u308C\u305F\u6CE8\u91C8\u51E6\u7406API\u306Ejavax.annotation.processing\u304A\u3088\u3073javax.lang.model\n\u306B\u3088\u3063\u3066\u7F6E\u304D\u63DB\u3048\u3089\u308C\u307E\u3057\u305F\u3002\u30E6\u30FC\u30B6\u30FC\u306Fjavac\u306E\u6CE8\u91C8\u51E6\u7406\u6A5F\u80FD\u306B\n\u79FB\u884C\u3059\u308B\u3053\u3068\u3092\u304A\u85A6\u3081\u3057\u307E\u3059\u3002\n\u8A73\u7D30\u306F\u3001javac man\u30DA\u30FC\u30B8\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n
-
-apt.misc.Problem=\u6CE8\u91C8\u51E6\u7406\u4E2D\u306B\u554F\u984C\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F\u3002\n\u8A73\u7D30\u306F\u3001\u4E0B\u8A18\u306E\u30B9\u30BF\u30C3\u30AF\u30FB\u30C8\u30EC\u30FC\u30B9\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002
-
-apt.misc.SunMiscService=\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u30FB\u30D5\u30A1\u30AF\u30C8\u30EA\u306E\u691C\u7D22\u30A8\u30E9\u30FC\u3067\u3059\u3002\nMETA-INF/services\u5185\u306E\u60C5\u5831\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
-
-# Print a notice from the Messager
-apt.note.Messager={0}
-
-##
-## warnings
-##
-
-## All warning messages are preceded by the following string.
-apt.warn.warning=\u8B66\u544A:
-
-apt.warn.AnnotationsWithoutProcessors=\u30D7\u30ED\u30BB\u30C3\u30B5\u306A\u3057\u306E\u6CE8\u91C8\u578B\u3067\u3059: {0}
-
-apt.warn.BadFactory=\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u30FB\u30D5\u30A1\u30AF\u30C8\u30EA\u304C\u7121\u52B9\u3067\u3059: {0} 
-
-apt.warn.BadParentDirectory={0}\u306E\u3044\u304F\u3064\u304B\u306E\u89AA\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u4F5C\u6210\u306B\u5931\u6557\u3057\u307E\u3057\u305F 
-
-apt.warn.FactoryCantInstantiate=\u30D5\u30A1\u30AF\u30C8\u30EA''{0}''\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5316\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
-
-apt.warn.FactoryWrongType=\u6307\u5B9A\u3057\u305F\u30D5\u30A1\u30AF\u30C8\u30EA''{0}''\u306FAnnotationProcessorFactory\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
-
-apt.warn.FactoryNotFound=\u6307\u5B9A\u3057\u305FAnnotationProcessorFactory ''{0}''\u306F\u691C\u7D22\u30D1\u30B9\u3067\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002
-
-apt.warn.FileReopening=''{0}''\u3092\u8907\u6570\u56DE\u4F5C\u6210\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307E\u3059
-
-apt.warn.IllegalFileName=\u7121\u52B9\u306A\u540D\u524D''{0}''\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3002
-
-apt.warn.MalformedSupportedString=\u30D5\u30A1\u30AF\u30C8\u30EA\u304C\u8FD4\u3057\u305F\u6CE8\u91C8\u30B5\u30DD\u30FC\u30C8''{0}''\u306E\u6587\u5B57\u5217\u304C\u4E0D\u6B63\u3067\u3059\u3002
-
-apt.warn.NoNewFilesAfterRound=\u5F80\u5FA9\u306E\u7D42\u4E86\u5F8C\u306B\u30D5\u30A1\u30A4\u30EB''{0}''\u3092\u4F5C\u6210\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
-
-# Print a warning from the Messager
-apt.warn.Messager={0}
-
-apt.warn.NoAnnotationProcessors=\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u306F\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u304C\u3001\u6CE8\u91C8\u306F\u5B58\u5728\u3057\u307E\u3059\u3002
-
-apt.warn.NullProcessor=\u30D5\u30A1\u30AF\u30C8\u30EA{0}\u304C\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u306Bnull\u3092\u8FD4\u3057\u307E\u3057\u305F\u3002
-
-apt.warn.CorrespondingClassFile=\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB''{0}''\u306B\u5BFE\u5FDC\u3059\u308B\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306F\u3059\u3067\u306B\u4F5C\u6210\u3055\u308C\u3066\u3044\u307E\u3059\u3002
-
-apt.warn.CorrespondingSourceFile=\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB''{0}''\u306B\u5BFE\u5FDC\u3059\u308B\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306F\u3059\u3067\u306B\u4F5C\u6210\u3055\u308C\u3066\u3044\u307E\u3059\u3002
--- a/langtools/src/share/classes/com/sun/tools/apt/resources/apt_zh_CN.properties	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-#
-# Copyright (c) 2004, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-apt.msg.usage.header=\u7528\u6CD5: {0} <apt and javac options> <source files>\n\u5176\u4E2D, apt \u9009\u9879\u5305\u62EC:
-
-apt.msg.usage.footer=\u6709\u5173 javac \u9009\u9879\u7684\u4FE1\u606F, \u8BF7\u53C2\u9605 javac -help\u3002
-
-apt.msg.usage.nonstandard.footer=\u8FD9\u4E9B\u9009\u9879\u53CA\u5176\u8F93\u51FA\u683C\u5F0F\u90FD\u4E0D\u662F\u6807\u51C6\u7684, \n\u5982\u6709\u66F4\u6539, \u6055\u4E0D\u53E6\u884C\u901A\u77E5\u3002
-
-apt.msg.bug=apt ({0}) \u4E2D\u51FA\u73B0\u5F02\u5E38\u9519\u8BEF\u3002 \u5982\u679C\u5728 Bug Parade \u4E2D\u6CA1\u6709\u627E\u5230\u8BE5\u9519\u8BEF, \u8BF7\u5728 Java Developer Connection (http://java.sun.com/webapps/bugreport) \u4E2D\u5EFA\u7ACB Bug\u3002\u8BF7\u5728\u62A5\u544A\u4E2D\u9644\u4E0A\u60A8\u7684\u7A0B\u5E8F\u548C\u4EE5\u4E0B\u8BCA\u65AD\u4FE1\u606F\u3002\u8C22\u8C22\u3002
-
-## apt options
-
-apt.opt.A=\u4F20\u9012\u7ED9\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u7684\u9009\u9879
-apt.opt.arg.class=<\u7C7B>
-apt.opt.arg.directory=\u6307\u5B9A\u653E\u7F6E\u5904\u7406\u7A0B\u5E8F\u548C javac \u751F\u6210\u7684\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E
-apt.opt.classpath=\u6307\u5B9A\u67E5\u627E\u7528\u6237\u7C7B\u6587\u4EF6\u548C\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u5DE5\u5382\u7684\u4F4D\u7F6E
-apt.opt.d=\u6307\u5B9A\u653E\u7F6E\u5904\u7406\u7A0B\u5E8F\u548C javac \u751F\u6210\u7684\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E
-apt.opt.factory=\u8981\u4F7F\u7528\u7684 AnnotationProcessorFactory \u7684\u540D\u79F0; \u7ED5\u8FC7\u9ED8\u8BA4\u7684\u641C\u7D22\u8FDB\u7A0B
-apt.opt.factorypath=\u6307\u5B9A\u67E5\u627E\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u5DE5\u5382\u7684\u4F4D\u7F6E
-apt.opt.s=\u6307\u5B9A\u653E\u7F6E\u5904\u7406\u7A0B\u5E8F\u751F\u6210\u7684\u6E90\u6587\u4EF6\u7684\u4F4D\u7F6E
-apt.opt.help=\u8F93\u51FA\u6807\u51C6\u9009\u9879\u7684\u63D0\u8981; \u4F7F\u7528 javac -help \u53EF\u4EE5\u5F97\u5230\u66F4\u591A\u9009\u9879
-apt.opt.print=\u8F93\u51FA\u6307\u5B9A\u7C7B\u578B\u7684\u6587\u672C\u8868\u793A
-apt.opt.nocompile=\u8BF7\u52FF\u5C06\u6E90\u6587\u4EF6\u7F16\u8BD1\u4E3A\u7C7B\u6587\u4EF6
-apt.opt.proc.flag=[\u5173\u952E\u5B57[=\u503C]]
-apt.opt.version=\u7248\u672C\u4FE1\u606F
-apt.opt.XListAnnotationTypes=\u5217\u51FA\u627E\u5230\u7684\u6CE8\u91CA\u7C7B\u578B
-apt.opt.XListDeclarations=\u5217\u51FA\u6307\u5B9A\u548C\u5305\u542B\u7684\u58F0\u660E
-apt.opt.XPrintAptRounds=\u8F93\u51FA\u6709\u5173\u521D\u59CB\u548C\u9012\u5F52 apt \u5FAA\u73AF\u7684\u4FE1\u606F
-apt.opt.XPrintFactoryInfo=\u8F93\u51FA\u6709\u5173\u8BF7\u6C42\u5DE5\u5382\u5904\u7406\u54EA\u4E9B\u6CE8\u91CA\u7684\u4FE1\u606F
-apt.opt.XClassesAsDecls=\u5C06\u7C7B\u6587\u4EF6\u548C\u6E90\u6587\u4EF6\u90FD\u89C6\u4E3A\u8981\u5904\u7406\u7684\u58F0\u660E
-
-##
-## errors
-##
-
-## All errors which do not refer to a particular line in the source code are
-## preceded by this string.
-
-apt.err.error=\u9519\u8BEF:\u0020
-
-apt.err.unsupported.source.version=\u4E0D\u652F\u6301\u6E90\u53D1\u884C\u7248 {0}; \u8BF7\u4F7F\u7528\u53D1\u884C\u7248 5 \u6216\u65E9\u671F\u53D1\u884C\u7248
-
-apt.err.unsupported.target.version=\u4E0D\u652F\u6301\u76EE\u6807\u53D1\u884C\u7248 {0}; \u8BF7\u4F7F\u7528\u53D1\u884C\u7248 5 \u6216\u65E9\u671F\u53D1\u884C\u7248
-
-apt.err.BadDeclaration=\u4E3A\u6CE8\u91CA\u7C7B\u578B{0}\u521B\u5EFA\u7684\u58F0\u660E\u51FA\u73B0\u9519\u8BEF
-
-apt.err.CantFindClass=\u627E\u4E0D\u5230{0}\u7684\u7C7B\u6587\u4EF6
-
-apt.err.DeclarationCreation=\u65E0\u6CD5\u4E3A\u6CE8\u91CA\u7C7B\u578B{0}\u521B\u5EFA\u58F0\u660E
-
-# Print an error from the Messager
-apt.err.Messager={0}
-
-##
-## miscellaneous strings
-##
-
-apt.misc.Deprecation=\n\u8B66\u544A:\u0020\u5DF2\u8BA1\u5212\u5728\u4E0B\u4E00\u4E2A JDK \u4E3B\u53D1\u884C\u7248\u4E2D\n\u5220\u9664 apt \u5DE5\u5177\u53CA\u5176\u5173\u8054\u7684 API\u3002\u8FD9\u4E9B\u529F\u80FD\n\u5DF2\u88AB javac \u548C\u6807\u51C6\u6CE8\u91CA\u5904\u7406 API,\njavax.annotation.processing \u548C javax.lang.model \u53D6\u4EE3\u3002\u5EFA\u8BAE\u7528\u6237\n\u79FB\u690D\u5230 javac \u7684\u6CE8\u91CA\u5904\u7406\u529F\u80FD;\n\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u53C2\u9605 javac \u5E2E\u52A9\u9875\u3002\n
-
-apt.misc.Problem=\u6CE8\u91CA\u5904\u7406\u8FC7\u7A0B\u4E2D\u9047\u5230\u95EE\u9898; \n\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u53C2\u9605\u4E0B\u9762\u7684\u5806\u6808\u8DDF\u8E2A\u3002
-
-apt.misc.SunMiscService=\u67E5\u627E\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u5DE5\u5382\u65F6\u51FA\u9519; \n\u8BF7\u67E5\u770B META-INF/\u670D\u52A1\u4FE1\u606F\u3002
-
-# Print a notice from the Messager
-apt.note.Messager={0}
-
-##
-## warnings
-##
-
-## All warning messages are preceded by the following string.
-apt.warn.warning=\u8B66\u544A:\u0020
-
-apt.warn.AnnotationsWithoutProcessors=\u4E0D\u5E26\u5904\u7406\u7A0B\u5E8F\u7684\u6CE8\u91CA\u7C7B\u578B: {0}
-
-apt.warn.BadFactory=\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u5DE5\u5382\u51FA\u73B0\u9519\u8BEF: {0} 
-
-apt.warn.BadParentDirectory=\u65E0\u6CD5\u521B\u5EFA{0}\u7684\u67D0\u4E9B\u7236\u76EE\u5F55 
-
-apt.warn.FactoryCantInstantiate=\u65E0\u6CD5\u5B9E\u4F8B\u5316\u5DE5\u5382 ''{0}'' \u7684\u5B9E\u4F8B\u3002
-
-apt.warn.FactoryWrongType=\u6307\u5B9A\u7684\u5DE5\u5382 ''{0}'' \u4E0D\u662F AnnotationProcessorFactory\u3002
-
-apt.warn.FactoryNotFound=\u5728\u641C\u7D22\u8DEF\u5F84\u4E2D\u627E\u4E0D\u5230\u6307\u5B9A\u7684 AnnotationProcessorFactory ''{0}''\u3002
-
-apt.warn.FileReopening=\u5C1D\u8BD5\u591A\u6B21\u521B\u5EFA ''{0}''
-
-apt.warn.IllegalFileName=\u65E0\u6CD5\u521B\u5EFA\u5E26\u6709\u975E\u6CD5\u540D\u79F0 ''{0}'' \u7684\u6587\u4EF6\u3002
-
-apt.warn.MalformedSupportedString=\u5DE5\u5382\u8FD4\u56DE\u683C\u5F0F\u9519\u8BEF\u7684\u6CE8\u91CA\u652F\u6301\u5B57\u7B26\u4E32 ''{0}''\u3002
-
-apt.warn.NoNewFilesAfterRound=\u5FAA\u73AF\u7ED3\u675F\u540E\u65E0\u6CD5\u521B\u5EFA\u6587\u4EF6 ''{0}''\u3002
-
-# Print a warning from the Messager
-apt.warn.Messager={0}
-
-apt.warn.NoAnnotationProcessors=\u627E\u4E0D\u5230\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F, \u4F46\u5B58\u5728\u6CE8\u91CA\u3002
-
-apt.warn.NullProcessor=\u5BF9\u4E8E\u67D0\u4E2A\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F, \u5DE5\u5382{0}\u8FD4\u56DE\u7684\u503C\u4E3A\u7A7A\u503C\u3002
-
-apt.warn.CorrespondingClassFile=\u5DF2\u521B\u5EFA\u4E0E\u6E90\u6587\u4EF6 ''{0}'' \u76F8\u5BF9\u5E94\u7684\u7C7B\u6587\u4EF6\u3002
-
-apt.warn.CorrespondingSourceFile=\u5DF2\u521B\u5EFA\u4E0E\u7C7B\u6587\u4EF6 ''{0}'' \u76F8\u5BF9\u5E94\u7684\u6E90\u6587\u4EF6\u3002
--- a/langtools/src/share/classes/com/sun/tools/apt/util/Bark.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +0,0 @@
-/*
- * Copyright (c) 2004, 2011, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package com.sun.tools.apt.util;
-
-import com.sun.tools.javac.util.Context;
-import com.sun.tools.javac.util.JCDiagnostic;
-import com.sun.tools.javac.util.JCDiagnostic.SimpleDiagnosticPosition;
-import com.sun.tools.javac.util.Log;
-import com.sun.tools.javac.util.JavacMessages;
-import com.sun.tools.javac.util.Position;
-
-/** A subtype of Log for use in APT.
- *
- *  <p><b>This is NOT part of any supported API.
- *  If you write code that depends on this, you do so at your own risk.
- *  This code and its internal interfaces are subject to change or
- *  deletion without notice.</b>
- */
-public class Bark extends Log {
-    /** The context key for the bark. */
-    protected static final Context.Key<Bark> barkKey =
-        new Context.Key<Bark>();
-
-    /**
-     * Preregisters factories to create and use a Bark object for use as
-     * both a Log and a Bark.
-     */
-    public static void preRegister(Context context) {
-        context.put(barkKey, new Context.Factory<Bark>() {
-            public Bark make(Context c) {
-                return new Bark(c);
-            }
-        });
-        context.put(Log.logKey, new Context.Factory<Log>() {
-            public Log make(Context c) {
-                return Bark.instance(c);
-            }
-        });
-    }
-
-    /** Get the Bark instance for this context. */
-    public static Bark instance(Context context) {
-        Bark instance = context.get(barkKey);
-        if (instance == null)
-            instance = new Bark(context);
-        return instance;
-    }
-
-    /** Specifies whether or not to ignore any diagnostics that are reported.
-     */
-    private boolean ignoreDiagnostics;
-
-    /**
-     * Factory for APT-specific diagnostics.
-     */
-    private JCDiagnostic.Factory aptDiags;
-
-
-    /**
-     * Creates a Bark.
-     */
-    protected Bark(Context context) {
-        super(context); // will register this object in context with Log.logKey
-        context.put(barkKey, this);
-
-        // register additional resource bundle for APT messages.
-        JavacMessages aptMessages = JavacMessages.instance(context);
-        aptMessages.add("com.sun.tools.apt.resources.apt");
-        aptDiags = new JCDiagnostic.Factory(aptMessages, "apt");
-
-        multipleErrors = true;
-    }
-
-    /**
-     * Sets a flag indicating whether or not to ignore all diagnostics.
-     * When ignored, they are not reported to the output writers, not are they
-     * counted in the various counters.
-     * @param b If true, subsequent diagnostics will be ignored.
-     * @return the previous state of the flag
-     */
-    public boolean setDiagnosticsIgnored(boolean b) {
-        boolean prev = ignoreDiagnostics;
-        ignoreDiagnostics = b;
-        return prev;
-    }
-
-    /**
-     * Report a diagnostic if they are not currently being ignored.
-     */
-    @Override
-    public void report(JCDiagnostic diagnostic) {
-        if (ignoreDiagnostics)
-            return;
-
-        super.report(diagnostic);
-    }
-
-    /** Report an error.
-     *  @param key    The key for the localized error message.
-     *  @param args   Fields of the error message.
-     */
-    public void aptError(String key, Object... args) {
-        aptError(Position.NOPOS, key, args);
-    }
-
-    /** Report an error, unless another error was already reported at same
-     *  source position.
-     *  @param pos    The source position at which to report the error.
-     *  @param key    The key for the localized error message.
-     *  @param args   Fields of the error message.
-     */
-    public void aptError(int pos, String key, Object ... args) {
-        report(aptDiags.error(source, new SimpleDiagnosticPosition(pos), key, args));
-    }
-
-    /** Report a warning, unless suppressed by the  -nowarn option or the
-     *  maximum number of warnings has been reached.
-     *  @param key    The key for the localized warning message.
-     *  @param args   Fields of the warning message.
-     */
-    public void aptWarning(String key, Object... args) {
-        aptWarning(Position.NOPOS, key, args);
-    }
-
-    /** Report a warning, unless suppressed by the  -nowarn option or the
-     *  maximum number of warnings has been reached.
-     *  @param pos    The source position at which to report the warning.
-     *  @param key    The key for the localized warning message.
-     *  @param args   Fields of the warning message.
-     */
-    public void aptWarning(int pos, String key, Object ... args) {
-        report(aptDiags.warning(source, new SimpleDiagnosticPosition(pos), key, args));
-    }
-
-    /** Report a note, unless suppressed by the  -nowarn option.
-     *  @param key    The key for the localized note message.
-     *  @param args   Fields of the note message.
-     */
-    public void aptNote(String key, Object... args) {
-        aptNote(Position.NOPOS, key, args);
-    }
-
-    /** Report a note, unless suppressed by the  -nowarn option.
-     *  @param pos    The source position at which to report the note.
-     *  @param key    The key for the localized note message.
-     *  @param args   Fields of the note message.
-     */
-    public void aptNote(int pos, String key, Object ... args) {
-        report(aptDiags.note(source, new SimpleDiagnosticPosition(pos), key, args));
-    }
-}
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java	Thu Feb 16 13:01:46 2012 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java	Sat Feb 18 16:12:28 2012 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2012, 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
@@ -2114,25 +2114,26 @@
      */
     void checkOverrideClashes(DiagnosticPosition pos, Type site, MethodSymbol sym) {
          ClashFilter cf = new ClashFilter(site);
-         //for each method m1 that is a member of 'site'...
-         for (Symbol s1 : types.membersClosure(site, false).getElementsByName(sym.name, cf)) {
-            //...find another method m2 that is overridden (directly or indirectly)
-            //by method 'sym' in 'site'
-            for (Symbol s2 : types.membersClosure(site, false).getElementsByName(sym.name, cf)) {
-                if (s1 == s2 || !sym.overrides(s2, site.tsym, types, false)) continue;
+        //for each method m1 that is overridden (directly or indirectly)
+        //by method 'sym' in 'site'...
+        for (Symbol m1 : types.membersClosure(site, false).getElementsByName(sym.name, cf)) {
+            if (!sym.overrides(m1, site.tsym, types, false)) continue;
+             //...check each method m2 that is a member of 'site'
+             for (Symbol m2 : types.membersClosure(site, false).getElementsByName(sym.name, cf)) {
+                if (m2 == m1) continue;
                 //if (i) the signature of 'sym' is not a subsignature of m1 (seen as
                 //a member of 'site') and (ii) m1 has the same erasure as m2, issue an error
-                if (!types.isSubSignature(sym.type, types.memberType(site, s1), false) &&
-                        types.hasSameArgs(s1.erasure(types), s2.erasure(types))) {
+                if (!types.isSubSignature(sym.type, types.memberType(site, m2), false) &&
+                        types.hasSameArgs(m2.erasure(types), m1.erasure(types))) {
                     sym.flags_field |= CLASH;
-                    String key = s2 == sym ?
+                    String key = m1 == sym ?
                             "name.clash.same.erasure.no.override" :
                             "name.clash.same.erasure.no.override.1";
                     log.error(pos,
                             key,
                             sym, sym.location(),
-                            s1, s1.location(),
-                            s2, s2.location());
+                            m2, m2.location(),
+                            m1, m1.location());
                     return;
                 }
             }
--- a/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java	Thu Feb 16 13:01:46 2012 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java	Sat Feb 18 16:12:28 2012 -0800
@@ -1077,7 +1077,9 @@
                     boolean errors = false;
                     for (String nameStr : classnames) {
                         Symbol sym = resolveBinaryNameOrIdent(nameStr);
-                        if (sym == null || (sym.kind == Kinds.PCK && !processPcks)) {
+                        if (sym == null ||
+                            (sym.kind == Kinds.PCK && !processPcks) ||
+                            sym.kind == Kinds.ABSENT_TYP) {
                             log.error("proc.cant.find.class", nameStr);
                             errors = true;
                             continue;
--- a/langtools/test/tools/apt/Basics/Aggregate.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-public class Aggregate {
-    static {
-        System.out.println("xxyzzy");
-    }
-
-    private Aggregate() {}
-
-    private static double hypot(double Berkeley, double SantaCruz) {
-        return 0.0;
-    }
-
-    public int hashcode() {return 42;}
-    public boolean equals(Aggregate a) {return this == a;}
-
-    public static void main(String[] argv) {
-        System.out.println("Hello World.");
-    }
-}
--- a/langtools/test/tools/apt/Basics/ClassAnnotations.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import annot.*;
-import annot.annot2.*;
-
-@MySimple("value") @MyMarker
-@AnnotMarker @AnnotSimple("foo")
-@AnnotMarker2 @AnnotSimple2("bar")
-public class ClassAnnotations {
-    static double d;
-
-    public void foo() {
-        return;
-    }
-
-    private double bar(int baz) {
-        @AnnotShangri_la
-        int local = 0;
-        return (double) baz;
-    }
-
-    static class NestedClass {
-        protected int field;
-    }
-}
--- a/langtools/test/tools/apt/Basics/FreshnessApf.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import com.sun.mirror.apt.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-import java.util.Collection;
-import java.util.Set;
-import java.util.Arrays;
-
-import static java.util.Collections.*;
-import static com.sun.mirror.util.DeclarationVisitors.*;
-
-/*
- * Indirect test of whether source or class files are used to provide
- * declaration information.
- */
-public class FreshnessApf implements AnnotationProcessorFactory {
-    // Process any set of annotations
-    private static final Collection<String> supportedAnnotations
-        = unmodifiableCollection(Arrays.asList("*"));
-
-    // No supported options
-    private static final Collection<String> supportedOptions = emptySet();
-
-    public Collection<String> supportedAnnotationTypes() {
-        return supportedAnnotations;
-    }
-
-    public Collection<String> supportedOptions() {
-        return supportedOptions;
-    }
-
-    public AnnotationProcessor getProcessorFor(
-            Set<AnnotationTypeDeclaration> atds,
-            AnnotationProcessorEnvironment env) {
-        return new FreshnessAp(env);
-    }
-
-    private static class FreshnessAp implements AnnotationProcessor {
-        private final AnnotationProcessorEnvironment env;
-        FreshnessAp(AnnotationProcessorEnvironment env) {
-            this.env = env;
-        }
-
-        public void process() {
-            System.out.println("Testing for freshness.");
-            boolean empty = true;
-            for (TypeDeclaration typeDecl : env.getSpecifiedTypeDeclarations()) {
-                for (FieldDeclaration fieldDecl: typeDecl.getFields() ) {
-                    empty = false;
-                    System.out.println(typeDecl.getQualifiedName() +
-                                       "." + fieldDecl.getSimpleName());
-
-                    // Verify the declaration for the type of the
-                    // field is a class with an annotation.
-                    System.out.println(((DeclaredType) fieldDecl.getType()).getDeclaration().getAnnotationMirrors());
-                    if (((DeclaredType) fieldDecl.getType()).getDeclaration().getAnnotationMirrors().size() == 0)
-                        env.getMessager().printError("Expected an annotation.");
-                }
-            }
-
-            if (empty)
-                env.getMessager().printError("No fields encountered.");
-        }
-    }
-}
--- a/langtools/test/tools/apt/Basics/GenClass.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-/*
- * A trivial generic class to test the fix for 5018369.
- */
-
-class GenClass<T> {
-}
--- a/langtools/test/tools/apt/Basics/Indirect.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-/*
- * Class that is used to provide a pointer to another class
- * declaration.
- */
-public class Indirect {
-    Milk skim = null;
-}
--- a/langtools/test/tools/apt/Basics/Lacuna.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-class Lacuna extends Missing {}
--- a/langtools/test/tools/apt/Basics/MethodAnnotations.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import annot.*;
-import annot.annot2.*;
-
-public class MethodAnnotations {
-    static double d;
-
-    @MySimple("value") @MyMarker
-    @AnnotMarker @AnnotSimple("foo")
-    @AnnotMarker2 @AnnotSimple2("bar")
-    public void foo() {
-        return;
-    }
-
-    private double bar(int baz) {
-        @AnnotShangri_la
-        int local = 0;
-        return (double) baz;
-    }
-
-    static class NestedClass {
-        protected int field;
-    }
-}
--- a/langtools/test/tools/apt/Basics/Milk.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import java.lang.annotation.*;
-
-@Fresh
-public class Milk {
-    // Moo.
-}
-
-@Retention(RetentionPolicy.SOURCE)
-@interface Fresh {
-}
--- a/langtools/test/tools/apt/Basics/MisMatch.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-
-/**
- * Class that uses constructs whose language and vm interpretation
- * differ.
- */
-public class MisMatch {
-    static final int constant = 3;
-    static int notConstant = 4;
-    private static strictfp class NestedClass {
-    }
-
-    protected abstract class AbstractNestedClass {
-        /**
-         * Another doc comment.
-         *
-         * This one has multiple lines.
-         */
-        void myMethod() throws RuntimeException , Error {}
-
-        abstract void myAbstractMethod();
-    }
-
-    void VarArgsMethod1(Number... num) {
-        ;
-    }
-
-    void VarArgsMethod2(float f, double d, Number... num) {
-        ;
-    }
-}
-
-@interface Colors {
-}
-
-interface Inter {
-    void interfaceMethod();
-}
-
-enum MyEnum {
-    RED,
-    GREEN,
-    BLUE;
-}
--- a/langtools/test/tools/apt/Basics/Misc.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-/*
- * Class with miscellaneous structures to exercise printing.
- */
-
-import java.util.Collection;
-
-public final class  Misc<T> implements Marker2, Marker3 {
-    private static final long longConstant = Long.MAX_VALUE;
-
-    private static final String asciispecials = "\t\n\u0007";
-
-    public void covar(Collection<? extends T> s) {return;}
-
-    public void contravar(Collection<? super T> s) {return;}
-
-    public <S> S varUse(int i) {return null;}
-
-    Object o = (new Object() {});       // verify fix for 5019108
-}
-
-interface Marker1 {}
-
-interface Marker2 extends Marker1 {}
-
-interface Marker3 {}
--- a/langtools/test/tools/apt/Basics/MyMarker.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-
-public @interface MyMarker {
-}
--- a/langtools/test/tools/apt/Basics/MySimple.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-
-public @interface MySimple {
-    String value() default "default";
-}
--- a/langtools/test/tools/apt/Basics/NestedClassAnnotations.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import annot.*;
-import annot.annot2.*;
-
-public class NestedClassAnnotations {
-    static double d;
-
-    public void foo() {
-        return;
-    }
-
-    public static void baz() {
-    }
-
-    private double bar(int baz) {
-        @AnnotShangri_la
-        int local = 0;
-        return (double) baz;
-    }
-
-    @MySimple("value") @MyMarker
-    @AnnotMarker @AnnotSimple("foo")
-    @AnnotMarker2 @AnnotSimple2("bar")
-    static class NestedClass {
-        protected int field;
-    }
-}
--- a/langtools/test/tools/apt/Basics/ParameterAnnotations.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import annot.*;
-import annot.annot2.*;
-
-public class ParameterAnnotations {
-    static double d;
-
-    public void foo() {
-        return;
-    }
-
-    private double bar(@MySimple("value") @MyMarker
-                       @AnnotMarker @AnnotSimple("foo")
-                       @AnnotMarker2 @AnnotSimple2("bar")
-                       int baz) {
-        @AnnotShangri_la
-        int local = 0;
-        return (double) baz;
-    }
-
-    static class NestedClass {
-        protected int field;
-    }
-}
--- a/langtools/test/tools/apt/Basics/StaticFieldAnnotations.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import annot.*;
-import annot.annot2.*;
-
-public class StaticFieldAnnotations {
-    @MySimple("value") @MyMarker
-    @AnnotMarker @AnnotSimple("foo")
-    @AnnotMarker2 @AnnotSimple2("bar")
-    static double d;
-
-    public void foo() {
-        return;
-    }
-
-    private double bar(int baz) {
-        @AnnotShangri_la
-        int local = 0;
-        return (double) baz;
-    }
-
-    static class NestedClass {
-        protected int field;
-    }
-}
--- a/langtools/test/tools/apt/Basics/StaticMethodAnnotations.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import annot.*;
-import annot.annot2.*;
-
-public class StaticMethodAnnotations {
-    static double d;
-
-    public void foo() {
-        return;
-    }
-
-    @MySimple("value") @MyMarker
-    @AnnotMarker @AnnotSimple("foo")
-    @AnnotMarker2 @AnnotSimple2("bar")
-    public static void baz() {
-    }
-
-    private double bar(int baz) {
-        @AnnotShangri_la
-        int local = 0;
-        return (double) baz;
-    }
-
-    static class NestedClass {
-        protected int field;
-    }
-}
--- a/langtools/test/tools/apt/Basics/TestGetPackageApf.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import com.sun.mirror.apt.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-import java.util.Collection;
-import java.util.Set;
-import java.util.Arrays;
-
-import static java.util.Collections.*;
-import static com.sun.mirror.util.DeclarationVisitors.*;
-
-/*
- * This class is used to test getPackage on classes that are
- * not already loaded.
- */
-public class TestGetPackageApf implements AnnotationProcessorFactory {
-    // Process any set of annotations
-    private static final Collection<String> supportedAnnotations
-        = unmodifiableCollection(Arrays.asList("*"));
-
-    // No supported options
-    private static final Collection<String> supportedOptions = emptySet();
-
-    public Collection<String> supportedAnnotationTypes() {
-        return supportedAnnotations;
-    }
-
-    public Collection<String> supportedOptions() {
-        return supportedOptions;
-    }
-
-    public AnnotationProcessor getProcessorFor(
-            Set<AnnotationTypeDeclaration> atds,
-            AnnotationProcessorEnvironment env) {
-        return new TestGetPackageAp(env);
-    }
-
-    private static class TestGetPackageAp implements AnnotationProcessor {
-        private final AnnotationProcessorEnvironment env;
-        TestGetPackageAp(AnnotationProcessorEnvironment env) {
-            this.env = env;
-        }
-
-        public void process() {
-            boolean failed = false;
-            String packageNames[] = {
-                "", // unnamed package
-                "java.lang.annotation",
-                "java.lang",
-                "java.util",
-                "java.awt.image.renderable",
-                "foo.bar",
-                "foo",
-                "p1",
-                // "p1.p2", // class p1.p2 obscures package p1.p2
-            };
-
-            for(String packageName: packageNames) {
-                PackageDeclaration p = env.getPackage(packageName);
-                if (p == null) {
-                    failed = true;
-                    System.err.println("ERROR: No declaration found for ``" + packageName + "''.");
-                }
-                else if (!packageName.equals(p.getQualifiedName())) {
-                    failed = true;
-                    System.err.println("ERROR: Unexpected package name; expected " + packageName +
-                                       "got " + p.getQualifiedName());
-                }
-            }
-
-            String notPackageNames[] = {
-                "XXYZZY",
-                "java.lang.String",
-                "1",
-                "1.2",
-                "3.14159",
-                "To be or not to be is a tautology",
-                "1+2=3",
-            };
-
-            for(String notPackageName: notPackageNames) {
-                PackageDeclaration p = env.getPackage(notPackageName);
-                if (p != null) {
-                    failed = true;
-                    System.err.println("ERROR: Unexpected declaration: ``" + p + "''.");
-                }
-            }
-
-            if (failed)
-                throw new RuntimeException("Errors found testing getPackage.");
-        }
-    }
-}
--- a/langtools/test/tools/apt/Basics/TestGetTypeDeclarationApf.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import com.sun.mirror.apt.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-import java.util.Collection;
-import java.util.Set;
-import java.util.Arrays;
-
-import static java.util.Collections.*;
-import static com.sun.mirror.util.DeclarationVisitors.*;
-
-/*
- * This class is used to test getTypeDeclaration on classes that are
- * not already loaded.
- */
-public class TestGetTypeDeclarationApf implements AnnotationProcessorFactory {
-    // Process any set of annotations
-    private static final Collection<String> supportedAnnotations
-        = unmodifiableCollection(Arrays.asList("*"));
-
-    // No supported options
-    private static final Collection<String> supportedOptions = emptySet();
-
-    public Collection<String> supportedAnnotationTypes() {
-        return supportedAnnotations;
-    }
-
-    public Collection<String> supportedOptions() {
-        return supportedOptions;
-    }
-
-    public AnnotationProcessor getProcessorFor(
-            Set<AnnotationTypeDeclaration> atds,
-            AnnotationProcessorEnvironment env) {
-        return new TestGetTypeDeclarationAp(env);
-    }
-
-    private static class TestGetTypeDeclarationAp implements AnnotationProcessor {
-        private final AnnotationProcessorEnvironment env;
-        TestGetTypeDeclarationAp(AnnotationProcessorEnvironment env) {
-            this.env = env;
-        }
-
-        public void process() {
-            String classNames[] = {
-                "java.lang.String",             // should be already available
-                "java.lang.Thread.State",       // should be already available
-                "java.util.Collection",
-                "java.util.Map.Entry",
-                "foo.bar.Baz.Xxyzzy.Wombat",
-                "foo.bar.Baz.Xxyzzy",
-                "foo.bar.Baz",
-                "foo.bar.Quux",
-                "foo.bar.Quux.Xxyzzy",
-                "foo.bar.Quux.Xxyzzy.Wombat",
-                "NestedClassAnnotations",
-                "NestedClassAnnotations.NestedClass",
-            };
-
-            for(String className: classNames) {
-                TypeDeclaration t = env.getTypeDeclaration(className);
-                if (t == null)
-                    throw new RuntimeException("No declaration found for " + className);
-                if (! t.getQualifiedName().equals(className))
-                    throw new RuntimeException("Class with wrong name found for " + className);
-            }
-
-            // Test obscuring behavior; i.e. nested class C1 in class
-            // p1 where p1 is member of package p2 should be favored
-            // over class C1 in package p1.p2.
-            String nonuniqueCanonicalNames[] = {
-                "p1.p2.C1",
-            };
-            for(String className: nonuniqueCanonicalNames) {
-                ClassDeclaration c1 = (ClassDeclaration) env.getTypeDeclaration(className);
-                ClassDeclaration c2 = (ClassDeclaration) c1.getDeclaringType();
-                PackageDeclaration p     = env.getPackage("p1");
-
-                if (!p.equals(c1.getPackage())  ||
-                    c2 == null ||
-                    !"C1".equals(c1.getSimpleName())) {
-                    throw new RuntimeException("Bad class declaration");
-                }
-            }
-
-            String notClassNames[] = {
-                "",
-                "XXYZZY",
-                "java",
-                "java.lang",
-                "java.lang.Bogogogous",
-                "1",
-                "1.2",
-                "3.14159",
-                "To be or not to be is a tautology",
-                "1+2=3",
-                "foo+.x",
-                "foo+x",
-                "+",
-                "?",
-                "***",
-                "java.*",
-            };
-
-            for(String notClassName: notClassNames) {
-                Declaration t = env.getTypeDeclaration(notClassName);
-                if (t != null) {
-                    System.err.println("Unexpected declaration:" + t);
-                    throw new RuntimeException("Declaration found for ``" + notClassName + "''.");
-                }
-            }
-
-        }
-    }
-}
--- a/langtools/test/tools/apt/Basics/annot/AnnotMarker.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-package annot;
-
-public @interface AnnotMarker {
-}
--- a/langtools/test/tools/apt/Basics/annot/AnnotShangri_la.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-package annot;
-
-/*
- * This annotation is used by the tests only to annotate local
- * variables; therefore, this annotation should not affect the
- * discovery process and should not appear in the list printed by
- * -XListAnnotationTypes.
- */
-public @interface AnnotShangri_la {
-}
--- a/langtools/test/tools/apt/Basics/annot/AnnotSimple.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-package annot;
-
-public @interface AnnotSimple {
-    String value() default "default";
-}
--- a/langtools/test/tools/apt/Basics/annot/annot2/AnnotMarker2.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-package annot.annot2;
-
-public @interface AnnotMarker2 {
-}
--- a/langtools/test/tools/apt/Basics/annot/annot2/AnnotSimple2.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-package annot.annot2;
-
-public @interface AnnotSimple2 {
-    String value() default "default";
-}
--- a/langtools/test/tools/apt/Basics/apt.sh	Thu Feb 16 13:01:46 2012 -0800
+++ b/langtools/test/tools/apt/Basics/apt.sh	Sat Feb 18 16:12:28 2012 -0800
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 #
-# Copyright (c) 2004, 2009, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 2012, 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
@@ -24,11 +24,10 @@
 #
 
 # @test
-# @bug 4908512 5024825 4957203 4993280 4996963 6174696 6177059
+# @bug 4908512 5024825 4957203 4993280 4996963 6174696 6177059 7041249
 # @run shell ../verifyVariables.sh
-# @build Milk MethodAnnotations NestedClassAnnotations StaticFieldAnnotations StaticMethodAnnotations ParameterAnnotations 
 # @run shell apt.sh
-# @summary test consistency of annotation discovery
+# @summary Make sure apt is removed and doesn't come back
 # @author Joseph D. Darcy
 
 OS=`uname -s`;
@@ -41,136 +40,24 @@
 	;;
 esac
 
-# Construct path to apt executable
-APT="${TESTJAVA}/bin/apt ${TESTTOOLVMOPTS} -XDsuppress-tool-api-removal-message "
-
-printf "%s\n" "-classpath ${TESTCLASSES}"                    > options
-printf "%s\n" "-factorypath ./nullap.jar"                   >> options
-printf "%s\n" "-sourcepath ${TESTSRC} "                     >> options
-printf "%s\n" "-nocompile"                                  >> options
-printf "%s\n" "-XListAnnotationTypes"                       >> options
-
-printf "%s\n" "-classpath ${TESTCLASSES}"                    > options1
-printf "%s\n" "-factorypath ./nullap.jar"                   >> options1
-printf "%s\n" "-sourcepath ${TESTSRC} "                     >> options1
-printf "%s\n" "-nocompile"                                  >> options1
-printf "%s\n" "-XListAnnotationTypes"                       >> options1
-printf "%s\n" "-XclassesAsDecls"                            >> options1
-
+# Verify apt executable does not exist
+if [ -f "${TESTJAVA}/bin/apt" -o -f "${TESTJAVA}/bin/apt.exe" ];then
+    echo "apt executable should not exist."
+    exit 1
+fi
 
 # Construct path to javac executable
 JAVAC="${TESTJAVA}/bin/javac ${TESTTOOLVMOPTS} -source 1.5 -sourcepath ${TESTSRC} -classpath ${TESTJAVA}/lib/tools.jar -d . "
-JAR="${TESTJAVA}/bin/jar "
 
-$JAVAC ${TESTSRC}/NullAPF.java \
-${TESTSRC}/FreshnessApf.java  \
-${TESTSRC}/TestGetTypeDeclarationApf.java \
-${TESTSRC}/TestGetPackageApf.java
+$JAVAC ${TESTSRC}/NullAPF.java
 RESULT=$?
 
 case "${RESULT}" in
         0  )
-        ;;
+        echo "Compilation of apt-using source passed improperly."
+        exit 1
+	;;
 
         * )
-        echo "Compilation failed."
-        exit 1
+	;;
 esac
-
-echo "Making services directory and copying services information."
-mkdir -p META-INF/services
-cp ${TESTSRC}/com.sun.mirror.apt.AnnotationProcessorFactory ./META-INF/services
-$JAR cvf0 nullap.jar NullAPF*.class META-INF
-
-ANNOTATION_FILES="${TESTSRC}/ClassAnnotations.java \
-${TESTSRC}/MethodAnnotations.java \
-${TESTSRC}/NestedClassAnnotations.java \
-${TESTSRC}/StaticFieldAnnotations.java \
-${TESTSRC}/StaticMethodAnnotations.java \
-${TESTSRC}/ParameterAnnotations.java"
-
-for i in ${ANNOTATION_FILES}
-do
-	printf "%s\n" "Testing annotations on source file ${i}"
-	${APT} @options ${i} 2> result.txt
-	diff ${DIFFOPTS} ${TESTSRC}/golden.txt result.txt
-
-	RESULT=$?
-	case "$RESULT" in
-	        0  )
-	        ;;
-
-	        * )
-	        echo "Unexpected set of annotations on source files found."
-	        exit 1
-	esac
-
-	CLASS=`basename ${i} .java`
-	printf "%s\n" "Testing annotations on class file ${CLASS}"
-	${APT} @options1 ${CLASS} 2> result2.txt
-	diff ${DIFFOPTS} ${TESTSRC}/golden.txt result2.txt
-
-	RESULT=$?
-	case "$RESULT" in
-	        0  )
-	        ;;
-
-	        * )
-	        echo "Unexpected set of annotations on class files found."
-	        exit 1
-	esac
-done
-
-# Verify source files are favored over class files
-
-printf "%s\n" "-factorypath ."			 > options2
-printf "%s\n" "-factory FreshnessApf"		>> options2
-printf "%s\n" "-sourcepath ${TESTSRC}"		>> options2
-printf "%s\n" "-classpath  ${TESTCLASSES}"	>> options2
-printf "%s\n" "-nocompile"			>> options2
-
-${APT} @options2 ${TESTSRC}/Indirect.java
-
-RESULT=$?
-case "$RESULT" in
-        0  )
-        ;;
-
-        * )
-        exit 1
-esac
-
-# Verify new classes can be loaded by getTypeDeclaration
-
-printf "%s\n" "-factorypath ."			 	> options3
-printf "%s\n" "-factory TestGetTypeDeclarationApf"	>> options3
-printf "%s\n" "-sourcepath ${TESTSRC}"			>> options3
-
-# ${APT} @options3
-
-RESULT=$?
-case "$RESULT" in
-        0  )
-        ;;
-
-        * )
-        exit 1
-esac
-
-# Verify packages can be loaded by getPackage
-
-printf "%s\n" "-factorypath ."			 	> options4
-printf "%s\n" "-factory TestGetPackageApf"		>> options4
-printf "%s\n" "-sourcepath ${TESTSRC}"			>> options4
-
-${APT} @options4
-
-RESULT=$?
-case "$RESULT" in
-        0  )
-        ;;
-
-        * )
-        exit 1
-esac
-exit 0
--- a/langtools/test/tools/apt/Basics/com.sun.mirror.apt.AnnotationProcessorFactory	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-NullAPF
--- a/langtools/test/tools/apt/Basics/foo/bar/Baz.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-package foo.bar;
-
-public class Baz {
-    public class Xxyzzy {
-        public class Wombat {
-        }
-    }
-
-}
--- a/langtools/test/tools/apt/Basics/foo/bar/Quux.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-package foo.bar;
-
-public class Quux {
-    public class Xxyzzy {
-        public class Wombat {
-        }
-    }
-
-}
--- a/langtools/test/tools/apt/Basics/golden.txt	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-Set of annotations found:[MyMarker, MySimple, annot.AnnotMarker, annot.AnnotSimple, annot.annot2.AnnotMarker2, annot.annot2.AnnotSimple2]
--- a/langtools/test/tools/apt/Basics/goldenAggregate.txt	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-
-public class Aggregate {
-
-  private Aggregate();
-
-  private static double hypot(double arg0,
-    double arg1);
-
-  public static void main(java.lang.String[] arg0);
-
-  public boolean equals(Aggregate arg0);
-
-  public int hashcode();
-}
--- a/langtools/test/tools/apt/Basics/p1/p2.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-package p1;
-
-public class p2 {
-    public static class C1 {}
-}
--- a/langtools/test/tools/apt/Basics/p1/p2/C1.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-package p1.p2;
-
-public class C1 {
-}
--- a/langtools/test/tools/apt/Basics/print.sh	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright (c) 2004, 2009, 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 5008759 4998341 5018369 5032476 5060121 5096932 5096931
-# @run shell ../verifyVariables.sh
-# @run shell print.sh
-# @summary test availabilty of print option
-# @author Joseph D. Darcy
-
-OS=`uname -s`;
-case "${OS}" in
-        CYGWIN* )
-                DIFFOPTS="--strip-trailing-cr"
-        ;;
-
-	* )
-	;;
-esac
-
-# Compile file directly, without TESTJAVACOPTS
-# Don't use @build or @compile as these implicitly use jtreg -javacoption values
-# and it is important that this file be compiled as expected, for later comparison
-# against a golden file.
-"${TESTJAVA}/bin/javac" ${TESTTOOLVMOPTS} -d ${TESTCLASSES} ${TESTSRC}/Aggregate.java
-
-# Construct path to apt executable
-APT="${TESTJAVA}/bin/apt ${TESTTOOLVMOPTS} \
--print "
-
-printf "%s\n" "APT = ${APT}"
-
-PRINT_FILES="${TESTSRC}/MisMatch.java \
-${TESTSRC}/GenClass.java \
-${TESTSRC}/Misc.java \
-${TESTSRC}/Lacuna.java"
-
-for i in ${PRINT_FILES}
-do
-	# Delete any existing class file
-        FILENAME=`basename $i .java`
-	rm -f ${FILENAME}.class
-
-        printf "%s\n" "Printing ${i}"
-        ${APT} ${i}
-
-        RESULT=$?
-        case "$RESULT" in
-                0  )
-                ;;
-
-                * )
-                echo "Problem printing file ${i}."
-                exit 1
-        esac
-
-        # Verify compilation did not occur
-	if [ -f ${FILENAME}.class ]; then
-		printf "Improper compilation occured for %s.\n" ${i}
-		exit 1
-	fi
-	
-done
-
-# check for mutliple methods and no static initializer
-
-${APT} -XclassesAsDecls -cp ${TESTCLASSES} -print Aggregate > aggregate.txt
-diff ${DIFFOPTS} aggregate.txt ${TESTSRC}/goldenAggregate.txt
-
-RESULT=$?
-case "$RESULT" in
-        0  )
-        ;;
-
-        * )
-        echo "Expected output not received"
-        exit 1
-esac
-
-exit 0
--- a/langtools/test/tools/apt/Compile/ClassDeclApf.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import com.sun.mirror.apt.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-import java.util.Collection;
-import java.util.Set;
-import java.util.Arrays;
-
-import java.io.*;
-
-import static java.util.Collections.*;
-
-/*
- * This class is used to test the ability to store static state across
- * apt rounds.
- */
-public class ClassDeclApf implements AnnotationProcessorFactory {
-    static int round = -1;
-
-    // Process any set of annotations
-    private static final Collection<String> supportedAnnotations
-        = unmodifiableCollection(Arrays.asList("*"));
-
-    // No supported options
-    private static final Collection<String> supportedOptions = emptySet();
-
-    public Collection<String> supportedAnnotationTypes() {
-        return supportedAnnotations;
-    }
-
-    public Collection<String> supportedOptions() {
-        return supportedOptions;
-    }
-
-    public AnnotationProcessor getProcessorFor(Set<AnnotationTypeDeclaration> atds,
-                                               AnnotationProcessorEnvironment env) {
-        return new ClassDeclAp(env);
-    }
-
-    private static class ClassDeclAp implements AnnotationProcessor {
-        private final AnnotationProcessorEnvironment env;
-        ClassDeclAp(AnnotationProcessorEnvironment env) {
-            this.env = env;
-        }
-
-        // Simple inefficient drain
-        void drain(InputStream is, OutputStream os) {
-            try {
-            while (is.available() > 0 )
-                os.write(is.read());
-            } catch (java.io.IOException ioe) {
-                throw new RuntimeException(ioe);
-            }
-
-        }
-
-        public void process() {
-            int size = env.getSpecifiedTypeDeclarations().size();
-
-            try {
-                round++;
-                switch (size) {
-                case 0:
-                    if (round == 0) {
-                        drain(new FileInputStream("./tmp/classes/Round1Class.class"),
-                              env.getFiler().createClassFile("Round1Class"));
-                    } else
-                        throw new RuntimeException("Got " + size + " decl's in round " + round);
-                    break;
-
-                case 1:
-                    if (round == 1) {
-                        drain(new FileInputStream("./tmp/classes/AhOneClass.class"),
-                              env.getFiler().createClassFile("AhOneClass"));
-
-                        drain(new FileInputStream("./tmp/classes/AndAhTwoClass.class"),
-                              env.getFiler().createClassFile("AndAhTwoClass"));
-                    } else
-                        throw new RuntimeException("Got " + size + " decl's in round " + round);
-                    break;
-                case 2:
-                    if (round != 2) {
-                        throw new RuntimeException("Got " + size + " decl's in round " + round);
-                    }
-                    break;
-                }
-
-            } catch (java.io.IOException ioe) {
-                    throw new RuntimeException();
-                }
-
-            }
-
-    }
-}
--- a/langtools/test/tools/apt/Compile/ClassDeclApf2.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import com.sun.mirror.apt.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-import java.util.Collection;
-import java.util.Set;
-import java.util.Arrays;
-
-import java.io.*;
-
-import static java.util.Collections.*;
-
-/*
- * This class is used to test the the interaction of -XclassesAsDecls
- * with command line options handling.
- */
-public class ClassDeclApf2 implements AnnotationProcessorFactory {
-    static int round = -1;
-
-    // Process any set of annotations
-    private static final Collection<String> supportedAnnotations
-        = unmodifiableCollection(Arrays.asList("*"));
-
-    // No supported options
-    private static final Collection<String> supportedOptions = emptySet();
-
-    public Collection<String> supportedAnnotationTypes() {
-        return supportedAnnotations;
-    }
-
-    public Collection<String> supportedOptions() {
-        return supportedOptions;
-    }
-
-    public AnnotationProcessor getProcessorFor(Set<AnnotationTypeDeclaration> atds,
-                                               AnnotationProcessorEnvironment env) {
-        return new ClassDeclAp(env);
-    }
-
-    private static class ClassDeclAp implements AnnotationProcessor {
-        private final AnnotationProcessorEnvironment env;
-        ClassDeclAp(AnnotationProcessorEnvironment env) {
-            this.env = env;
-        }
-
-        // Simple inefficient drain
-        void drain(InputStream is, OutputStream os) {
-            try {
-            while (is.available() > 0 )
-                os.write(is.read());
-            } catch (java.io.IOException ioe) {
-                throw new RuntimeException(ioe);
-            }
-        }
-
-        public void process() {
-            int size = env.getSpecifiedTypeDeclarations().size();
-            Filer f = env.getFiler();
-
-            try {
-                round++;
-                switch (size) {
-                case 3:
-                    if (round == 0) {
-                        drain(new FileInputStream("./tmp/classes/Round1Class.class"),
-                              f.createClassFile("Round1Class"));
-                    } else
-                        throw new RuntimeException("Got " + size + " decl's in round " + round);
-                    break;
-
-                case 1:
-                    if (round == 1) {
-                        f.createSourceFile("AhOne").println("public class AhOne {}");
-                        System.out.println("Before writing AndAhTwoClass");
-                        drain(new FileInputStream("./tmp/classes/AndAhTwoClass.class"),
-                              f.createClassFile("AndAhTwoClass"));
-                        System.out.println("After writing AndAhTwoClass");
-                    } else
-                        throw new RuntimeException("Got " + size + " decl's in round " + round);
-                    break;
-
-                case 2:
-                    if (round != 2) {
-                        throw new RuntimeException("Got " + size + " decl's in round " + round);
-                    }
-                    break;
-                default:
-                    throw new RuntimeException("Unexpected number of declarations:" + size +
-                                               "\n Specified:" + env.getSpecifiedTypeDeclarations() +
-                                               "\n Included:" + env.getTypeDeclarations() );
-                }
-
-            } catch (java.io.IOException ioe) {
-                throw new RuntimeException(ioe);
-            }
-        }
-    }
-}
--- a/langtools/test/tools/apt/Compile/Dummy1.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-@Round1 class Dummy1{}
--- a/langtools/test/tools/apt/Compile/ErrorAPF.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import com.sun.mirror.apt.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-import java.util.Collection;
-import java.util.Set;
-import java.util.Arrays;
-
-
-import static java.util.Collections.*;
-import static com.sun.mirror.util.DeclarationVisitors.*;
-
-/*
- * Construct a processor that does nothing but report an error.
- */
-public class ErrorAPF implements AnnotationProcessorFactory {
-    static class ErrorAP implements AnnotationProcessor {
-        AnnotationProcessorEnvironment env;
-        ErrorAP(AnnotationProcessorEnvironment env) {
-            this.env = env;
-        }
-
-        public void process() {
-            Messager messager = env.getMessager();
-            messager.printError("It's a mad, mad, mad, mad world");
-            messager.printError("Something wicked this way comes");
-
-            for(TypeDeclaration typeDecl : env.getSpecifiedTypeDeclarations())
-                messager.printError(typeDecl.getPosition(), "Boring class name");
-        }
-    }
-
-    static Collection<String> supportedTypes;
-    static {
-        String types[] = {"*"};
-        supportedTypes = unmodifiableCollection(Arrays.asList(types));
-    }
-
-    static Collection<String> supportedOptions;
-    static {
-        String options[] = {""};
-        supportedOptions = unmodifiableCollection(Arrays.asList(options));
-    }
-
-    public Collection<String> supportedOptions() {
-        return supportedOptions;
-    }
-
-    public Collection<String> supportedAnnotationTypes() {
-        return supportedTypes;
-    }
-
-    public AnnotationProcessor getProcessorFor(Set<AnnotationTypeDeclaration> atds,
-                                               AnnotationProcessorEnvironment env) {
-        return new ErrorAP(env);
-    }
-}
--- a/langtools/test/tools/apt/Compile/HelloAnnotation.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-/* /nodynamiccopyright/ */
-import java.lang.annotation.*;
-@Target(ElementType.ANNOTATION_TYPE)
-@Retention(RetentionPolicy.RUNTIME)
-@HelloAnnotation
-@interface HelloAnnotation {
-    Target value() default @Target(ElementType.METHOD);
-}
--- a/langtools/test/tools/apt/Compile/HelloWorld.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-/* /nodynamiccopyright/ */
-public class HelloWorld {
-    public static void main(String argv[]) {
-        System.out.println("Hello World.");
-    }
-}
--- a/langtools/test/tools/apt/Compile/Round1Apf.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import com.sun.mirror.apt.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-import java.util.Collection;
-import java.util.Set;
-import java.util.Arrays;
-
-import java.io.File;
-
-import static java.util.Collections.*;
-import static com.sun.mirror.util.DeclarationVisitors.*;
-
-/*
- * Factory to help test updated discovery policy.
- */
-public class Round1Apf implements AnnotationProcessorFactory {
-    // Process @Round1
-    private static final Collection<String> supportedAnnotations
-        = unmodifiableCollection(Arrays.asList("Round1"));
-
-    // No supported options
-    private static final Collection<String> supportedOptions = emptySet();
-
-    public Collection<String> supportedAnnotationTypes() {
-        return supportedAnnotations;
-    }
-
-    public Collection<String> supportedOptions() {
-        return supportedOptions;
-    }
-
-    private static int round = 0;
-
-    public AnnotationProcessor getProcessorFor(
-            Set<AnnotationTypeDeclaration> atds,
-            AnnotationProcessorEnvironment env) {
-        return new Round1Ap(env, atds.size() == 0);
-    }
-
-    private static class Round1Ap implements AnnotationProcessor, RoundCompleteListener {
-        private final AnnotationProcessorEnvironment env;
-        private final boolean empty;
-
-        Round1Ap(AnnotationProcessorEnvironment env, boolean empty) {
-            this.env = env;
-            this.empty = empty;
-        }
-
-        public void process() {
-            Round1Apf.round++;
-            try {
-                if (!empty) {
-                    Filer f = env.getFiler();
-                    f.createSourceFile("Dummy2").println("@Round2 class Dummy2{}");
-                    f.createTextFile(Filer.Location.SOURCE_TREE,
-                                     "",
-                                     new File("foo.txt"),
-                                     null).println("xxyzzy");
-                    f.createClassFile("Vacant");
-                    f.createBinaryFile(Filer.Location.CLASS_TREE,
-                                       "",
-                                       new File("onezero"));
-                }
-            } catch (java.io.IOException ioe) {
-                throw new RuntimeException(ioe);
-            }
-
-            System.out.println("Round1Apf: " + round);
-            env.addListener(this);
-        }
-
-        public void roundComplete(RoundCompleteEvent event) {
-            RoundState rs = event.getRoundState();
-
-            if (event.getSource() != this.env)
-                throw new RuntimeException("Wrong source!");
-
-            Filer f = env.getFiler();
-            try {
-                f.createSourceFile("AfterTheBell").println("@Round2 class AfterTheBell{}");
-                throw new RuntimeException("Inappropriate source file creation.");
-            } catch (java.io.IOException ioe) {}
-
-
-            System.out.printf("\t[final round: %b, error raised: %b, "+
-                              "source files created: %b, class files created: %b]%n",
-                              rs.finalRound(),
-                              rs.errorRaised(),
-                              rs.sourceFilesCreated(),
-                              rs.classFilesCreated());
-
-            System.out.println("Round1Apf: " + round + " complete");
-        }
-    }
-}
--- a/langtools/test/tools/apt/Compile/Round2Apf.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import com.sun.mirror.apt.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-import java.util.Collection;
-import java.util.Set;
-import java.util.Arrays;
-
-import java.io.IOException;
-import java.io.File;
-
-import static java.util.Collections.*;
-import static com.sun.mirror.util.DeclarationVisitors.*;
-
-/*
- * Factory to help test updated discovery policy.
- */
-public class Round2Apf implements AnnotationProcessorFactory {
-    // Process @Round2
-    private static final Collection<String> supportedAnnotations
-        = unmodifiableCollection(Arrays.asList("Round2"));
-
-    // No supported options
-    private static final Collection<String> supportedOptions = emptySet();
-
-    public Collection<String> supportedAnnotationTypes() {
-        return supportedAnnotations;
-    }
-
-    public Collection<String> supportedOptions() {
-        return supportedOptions;
-    }
-
-    private static int round = 0;
-
-    public AnnotationProcessor getProcessorFor(
-            Set<AnnotationTypeDeclaration> atds,
-            AnnotationProcessorEnvironment env) {
-        return new Round2Ap(env, atds.size() == 0);
-    }
-
-    private static class Round2Ap implements AnnotationProcessor {
-        private final AnnotationProcessorEnvironment env;
-        private final boolean empty;
-
-        Round2Ap(AnnotationProcessorEnvironment env, boolean empty) {
-            this.env = env;
-            this.empty = empty;
-        }
-
-        public void process() {
-            Round2Apf.round++;
-            Filer f = env.getFiler();
-            try {
-                f.createSourceFile("Dummy2").println("@Round2 class Dummy2{}");
-                throw new RuntimeException("Duplicate file creation allowed");
-            } catch (IOException io) {}
-
-            try {
-                f.createTextFile(Filer.Location.SOURCE_TREE,
-                                 "",
-                                 new File("foo.txt"),
-                                 null).println("xxyzzy");
-                throw new RuntimeException("Duplicate file creation allowed");
-            } catch (IOException io) {}
-
-            try {
-                f.createClassFile("Vacant");
-                throw new RuntimeException("Duplicate file creation allowed");
-            } catch (IOException io) {}
-
-            try {
-                f.createBinaryFile(Filer.Location.CLASS_TREE,
-                                   "",
-                                   new File("onezero"));
-                throw new RuntimeException("Duplicate file creation allowed");
-            } catch (IOException io) {}
-
-
-
-            try {
-                if (!empty) {
-                    // Create corresponding files of opposite kind to
-                    // the files created by Round1Apf; these should
-                    // only generate warnings
-                    f.createClassFile("Dummy2");
-                    f.createSourceFile("Vacant").println("class Vacant{}");
-
-                    f.createSourceFile("Dummy3").println("@Round3 class Dummy3{}");
-
-                    // This should generated a warning too
-                    f.createClassFile("Dummy3");
-                }
-            } catch (java.io.IOException ioe) {
-                throw new RuntimeException(ioe);
-            }
-
-            System.out.println("Round2Apf: " + round);
-        }
-    }
-}
--- a/langtools/test/tools/apt/Compile/Round3Apf.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import com.sun.mirror.apt.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-import java.util.Collection;
-import java.util.Set;
-import java.util.Arrays;
-
-import static java.util.Collections.*;
-import static com.sun.mirror.util.DeclarationVisitors.*;
-
-/*
- * Factory to help test updated discovery policy.
- */
-public class Round3Apf implements AnnotationProcessorFactory {
-    // Process @Round3
-    private static final Collection<String> supportedAnnotations
-        = unmodifiableCollection(Arrays.asList("Round3"));
-
-    // No supported options
-    private static final Collection<String> supportedOptions = emptySet();
-
-    public Collection<String> supportedAnnotationTypes() {
-        return supportedAnnotations;
-    }
-
-    public Collection<String> supportedOptions() {
-        return supportedOptions;
-    }
-
-    private static int round = 0;
-
-    public AnnotationProcessor getProcessorFor(
-            Set<AnnotationTypeDeclaration> atds,
-            AnnotationProcessorEnvironment env) {
-        return new Round3Ap(env, atds.size() == 0);
-    }
-
-    private static class Round3Ap implements AnnotationProcessor {
-        private final AnnotationProcessorEnvironment env;
-        private final boolean empty;
-
-        Round3Ap(AnnotationProcessorEnvironment env, boolean empty) {
-            this.env = env;
-            this.empty = empty;
-        }
-
-        public void process() {
-            Round3Apf.round++;
-            try {
-                if (!empty)
-                    env.getFiler().createSourceFile("Dummy4").println("@Round4 class Dummy4{}");
-            } catch (java.io.IOException ioe) {
-                throw new RuntimeException(ioe);
-            }
-
-            System.out.println("Round3Apf: " + round);
-        }
-    }
-}
--- a/langtools/test/tools/apt/Compile/Round4Apf.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import com.sun.mirror.apt.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-import java.util.Collection;
-import java.util.Set;
-import java.util.Arrays;
-
-import static java.util.Collections.*;
-import static com.sun.mirror.util.DeclarationVisitors.*;
-
-/*
- * Factory to help test updated discovery policy.
- */
-public class Round4Apf implements AnnotationProcessorFactory {
-    // Process @Round4
-    private static final Collection<String> supportedAnnotations
-        = unmodifiableCollection(Arrays.asList("Round4"));
-
-    // No supported options
-    private static final Collection<String> supportedOptions = emptySet();
-
-    public Collection<String> supportedAnnotationTypes() {
-        return supportedAnnotations;
-    }
-
-    public Collection<String> supportedOptions() {
-        return supportedOptions;
-    }
-
-    private static int round = 0;
-
-    public AnnotationProcessor getProcessorFor(
-            Set<AnnotationTypeDeclaration> atds,
-            AnnotationProcessorEnvironment env) {
-        return new Round4Ap(env, atds.size() == 0);
-    }
-
-    private static class Round4Ap implements AnnotationProcessor, RoundCompleteListener {
-        private final AnnotationProcessorEnvironment env;
-        private final boolean empty;
-
-        Round4Ap(AnnotationProcessorEnvironment env, boolean empty) {
-            this.env = env;
-            this.empty = empty;
-        }
-
-        public void process() {
-            Round4Apf.round++;
-            try {
-                if (!empty)
-                    env.getFiler().createSourceFile("Dummy5").println("@Round5 class Dummy5{}");
-            } catch (java.io.IOException ioe) {
-                throw new RuntimeException(ioe);
-            }
-
-            System.out.println("Round4Apf: " + round);
-            env.addListener(this);
-        }
-
-        public void roundComplete(RoundCompleteEvent event) {
-            RoundState rs = event.getRoundState();
-
-            System.out.println("\t" + rs.toString());
-
-            System.out.println("Round4Apf: " + round + " complete");
-
-            if (rs.finalRound()) {
-                System.out.println("Valediction");
-            }
-        }
-    }
-}
--- a/langtools/test/tools/apt/Compile/Rounds.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-@interface Round1{}
-
-@interface Round2{}
-
-@interface Round3{}
-
-@interface Round4{}
-
-@interface Round5{}
--- a/langtools/test/tools/apt/Compile/StaticApf.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import com.sun.mirror.apt.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-import java.util.Collection;
-import java.util.Set;
-import java.util.Arrays;
-
-import static java.util.Collections.*;
-
-/*
- * This class is used to test the ability to store static state across
- * apt rounds.
- */
-public class StaticApf implements AnnotationProcessorFactory {
-    static int round = -1;
-
-    // Process any set of annotations
-    private static final Collection<String> supportedAnnotations
-        = unmodifiableCollection(Arrays.asList("*"));
-
-    // No supported options
-    private static final Collection<String> supportedOptions = emptySet();
-
-    public Collection<String> supportedAnnotationTypes() {
-        return supportedAnnotations;
-    }
-
-    public Collection<String> supportedOptions() {
-        return supportedOptions;
-    }
-
-    public AnnotationProcessor getProcessorFor(Set<AnnotationTypeDeclaration> atds,
-                                               AnnotationProcessorEnvironment env) {
-        return new StaticAp(env);
-    }
-
-    private static class StaticAp implements AnnotationProcessor {
-        private final AnnotationProcessorEnvironment env;
-        StaticAp(AnnotationProcessorEnvironment env) {
-            this.env = env;
-        }
-
-        public void process() {
-            int size = env.getSpecifiedTypeDeclarations().size();
-
-            try {
-                round++;
-                switch (size) {
-                case 0:
-                    if (round == 0) {
-                        env.getFiler().createSourceFile("Round1").print("class Round1 {}");
-                    } else
-                        throw new RuntimeException("Got " + size + " decl's in round " + round);
-                    break;
-
-                case 1:
-                    if (round == 1) {
-                        env.getFiler().createSourceFile("AhOne").print("class AhOne {}");
-                        env.getFiler().createSourceFile("AndAhTwo").print("class AndAhTwo {}");
-                        env.getFiler().createClassFile("Foo");
-                    } else
-                        throw new RuntimeException("Got " + size + " decl's in round " + round);
-                    break;
-                case 2:
-                    if (round != 2) {
-                        throw new RuntimeException("Got " + size + " decl's in round " + round);
-                    }
-                    break;
-                }
-
-            } catch (java.io.IOException ioe) {
-                    throw new RuntimeException();
-                }
-
-            }
-
-    }
-}
--- a/langtools/test/tools/apt/Compile/WarnAPF.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import com.sun.mirror.apt.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-import java.util.Collection;
-import java.util.Set;
-import java.util.Map;
-import java.util.Arrays;
-
-
-import static java.util.Collections.*;
-import static com.sun.mirror.util.DeclarationVisitors.*;
-
-/*
- * Construct a processor that does nothing but report a warning.
- */
-public class WarnAPF implements AnnotationProcessorFactory {
-    static class WarnAP implements AnnotationProcessor {
-        AnnotationProcessorEnvironment env;
-        WarnAP(AnnotationProcessorEnvironment env) {
-            this.env = env;
-        }
-
-        public void process() {
-            Messager messager = env.getMessager();
-            messager.printWarning("Beware the ides of March!");
-
-            for(TypeDeclaration typeDecl : env.getSpecifiedTypeDeclarations()) {
-                messager.printNotice(typeDecl.getPosition(),  "You are about to be warned");
-                messager.printWarning(typeDecl.getPosition(), "Strange class name");
-
-                for(AnnotationMirror annotMirror : typeDecl.getAnnotationMirrors()) {
-                    messager.printNotice("MIRROR " + annotMirror.getPosition().toString());
-
-                     Map<AnnotationTypeElementDeclaration,AnnotationValue> map =
-                         annotMirror.getElementValues();
-                     if (map.keySet().size() > 0)
-                         for(AnnotationTypeElementDeclaration key : map.keySet() ) {
-                             AnnotationValue annotValue = map.get(key);
-                             Object o = annotValue.getValue();
-                             // asserting getPosition is non-null
-                             messager.printNotice("VALUE " + annotValue.getPosition().toString());
-                         }
-                     else {
-                         Collection<AnnotationTypeElementDeclaration> ateds =
-                         annotMirror.getAnnotationType().getDeclaration().getMethods();
-                         for(AnnotationTypeElementDeclaration ated : ateds ) {
-                             AnnotationValue annotValue = ated.getDefaultValue();
-                             Object o = annotValue.getValue();
-                             messager.printNotice("VALUE " + "HelloAnnotation.java:5");
-                         }
-                     }
-                }
-            }
-        }
-    }
-
-    static final Collection<String> supportedTypes;
-    static {
-        String types[] = {"*"};
-        supportedTypes = unmodifiableCollection(Arrays.asList(types));
-    }
-    public Collection<String> supportedAnnotationTypes() {return supportedTypes;}
-
-    static final Collection<String> supportedOptions;
-    static {
-        String options[] = {""};
-        supportedOptions = unmodifiableCollection(Arrays.asList(options));
-    }
-    public Collection<String> supportedOptions() {return supportedOptions;}
-
-    public AnnotationProcessor getProcessorFor(Set<AnnotationTypeDeclaration> atds,
-                                               AnnotationProcessorEnvironment env) {
-        return new WarnAP(env);
-    }
-}
--- a/langtools/test/tools/apt/Compile/WrappedStaticApf.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import com.sun.mirror.apt.AnnotationProcessorFactory;
-
-/*
- * Pass an instantiated StaticApf object to the
- * com.sun.tools.apt.Main.process entry point.
- */
-public class WrappedStaticApf {
-    public static void main(String argv[]) {
-        AnnotationProcessorFactory factory = new StaticApf();
-        System.exit(com.sun.tools.apt.Main.process(factory, argv));
-    }
-}
--- a/langtools/test/tools/apt/Compile/compile.sh	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,533 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright (c) 2004, 2009, 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 5033855 4990902 5023880 5043516 5048534 5048535 5041279 5048539 5067261 5068145 5023881 4996963 5095716 6191667 6433634
-# @run shell ../verifyVariables.sh
-# @build ErrorAPF
-# @build WarnAPF
-# @build StaticApf
-# @build ClassDeclApf
-# @build ClassDeclApf2
-# @build Rounds
-# @build Round1Apf Round2Apf Round3Apf Round4Apf
-# @build WrappedStaticApf
-# @run shell compile.sh
-# @summary Test simple usages of apt, including delegating to javac
-# @author Joseph D. Darcy
-
-# If the file *does* exist, exit with an error
-TestNoFile() {
-        if [ -f ${1} ]; then
-                printf "%s\n" "File ${1} found."
-                exit 1
-        fi
-}
-
-# If the file does not exist, exit with an error
-TestFile() {
-        if [ ! -f ${1} ]; then
-                printf "%s\n" "File ${1} not found."
-                exit 1
-        fi
-}
-
-
-OS=`uname -s`;
-case "${OS}" in
-        Windows* )
-                SEP=";"
-        ;;
-
-        CYGWIN* )
-		DIFFOPTS="--strip-trailing-cr"
-                SEP=";"
-        ;;
-
-        * )
-        SEP=":"
-        ;;
-esac
-
-
-APT="${TESTJAVA}/bin/apt ${TESTTOOLVMOPTS} -XDsuppress-tool-api-removal-message "
-JAVA="${TESTJAVA}/bin/java ${TESTVMOPTS} "
-JAVAC="${TESTJAVA}/bin/javac ${TESTTOOLVMOPTS} "
-
-unset CLASSPATH
-
-
-# ---------------------------------------------------------------
-echo "Verify that source 1.6 is not supported
-rm -f HelloWorld.class
-
-printf "%s\n" "-source 1.6"     > options0
-printf "%s\n" "${TESTSRC}/HelloWorld.java"  >> options0
-${APT} @options0
-
-RESULT=$?
-case "$RESULT" in
-	0  )
-        echo "FAILED: accepted source 1.6"
-	exit 1
-        ;;
-esac
-
-TestNoFile "HelloWorld.class"
-
-# ---------------------------------------------------------------
-
-echo "Verify that target 1.6 is not supported
-rm -f HelloWorld.class
-
-printf "%s\n" "-target 1.6"     > options00
-printf "%s\n" "${TESTSRC}/HelloWorld.java"  >> options00
-${APT} @options00
-
-RESULT=$?
-case "$RESULT" in
-	0  )
-        echo "FAILED: accepted target 1.6"
-	exit 1
-        ;;
-esac
-
-TestNoFile "HelloWorld.class"
-
-# ---------------------------------------------------------------
-
-echo "Testing javac pass-through with -A in options file"
-rm -f HelloWorld.class
-
-printf "%s\n" "-A"     > options1
-printf "%s\n" "-d ."     >> options1
-printf "%s\n" "${TESTSRC}/HelloWorld.java"  >> options1
-${APT} @options1
-
-RESULT=$?
-case "$RESULT" in
-	0  )
-        ;;
-
-        * )
-        echo "FAILED: javac with -A in options file did not compile"
-        exit 1
-esac
-TestFile "HelloWorld.class"
-
-
-# ---------------------------------------------------------------
-
-echo "Verifying reporting an error will prevent compilation"
-rm -f HelloWorld.class
-if [ ! -f HelloWorld.java ]; then
-	cp ${TESTSRC}/HelloWorld.java .
-fi
-
-
-printf "%s\n" "-factory ErrorAPF"            > options2
-printf "%s\n" "-d ."                        >> options2
-printf "%s\n" "-cp ${TESTCLASSES}"          >> options2
-printf "%s\n" "HelloWorld.java"             >> options2
-${APT} @options2 2> output
-
-TestNoFile "HelloWorld.class"
-
-diff ${DIFFOPTS} output ${TESTSRC}/golden.txt
-
-RESULT=$?
-case "$RESULT" in
-	0  )
-        ;;
-
-        * )
-        echo "FAILED: did not record expected error messages"
-        exit 1
-esac
-
-
-
-# ---------------------------------------------------------------
-
-echo "Verifying reporting a warning *won't* prevent compilation"
-
-rm -f HelloAnnotation.class
-if [ ! -f HelloAnnotation.java ]; then
-	cp ${TESTSRC}/HelloAnnotation.java .
-fi
-
-
-printf "%s\n" "-factory WarnAPF"             > options3
-printf "%s\n" "-d ."                        >> options3
-printf "%s\n" "-cp ${TESTCLASSES}"          >> options3
-printf "%s\n" "HelloAnnotation.java"        >> options3
-${APT} @options3 2> output
-
-diff ${DIFFOPTS} output ${TESTSRC}/goldenWarn.txt
-
-RESULT=$?
-case "$RESULT" in
-	0  )
-        ;;
-
-        * )
-        echo "FAILED: did not record expected warning messages"
-        exit 1
-esac
-
-TestFile "HelloAnnotation.class"
-
-# ---------------------------------------------------------------
-
-echo "Verifying static state is available across apt rounds; -factory, -cp"
-
-mkdir -p ./src
-mkdir -p ./class
-
-rm -Rf ./src/*
-rm -Rf ./class/*
-
-printf "%s\n" "-factory StaticApf"           > options4
-printf "%s\n" "-s ./src"                    >> options4
-printf "%s\n" "-d ./class"                  >> options4
-printf "%s\n" "-cp ${TESTCLASSES}"          >> options4
-# printf "%s\n" "-XPrintAptRounds"            >> options4
-${APT} @options4
-
-TestFile "./class/AndAhTwo.class"
-
-# ---------------------------------------------------------------
-
-echo "Verifying static state is available across apt rounds; -factory, -factorypath"
-
-rm -Rf ./src/*
-rm -Rf ./class/*
-
-printf "%s\n" "-factory StaticApf"           > options5
-printf "%s\n" "-s ./src"                    >> options5
-printf "%s\n" "-d ./class"                  >> options5
-printf "%s\n" "-factorypath ${TESTCLASSES}" >> options5
-# printf "%s\n" "-XPrintAptRounds"          >> options5
-${APT} @options5
-
-TestFile "./class/AndAhTwo.class"
-
-# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
-# Create jar file for StaticApf
-JAR="${TESTJAVA}/bin/jar "
-mkdir -p META-INF/services
-cp ${TESTSRC}/servicesStaticApf META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory
-cp ${TESTCLASSES}/StaticApf*.class .
-${JAR} cf0 staticApf.jar StaticApf*.class META-INF
-
-# ---------------------------------------------------------------
-
-echo "Verifying static state is available across apt rounds; -cp"
-
-rm -Rf ./src/*
-rm -Rf ./class/*
-
-printf "%s\n" "-cp staticApf.jar"           > options6
-printf "%s\n" "-s ./src"                    >> options6
-printf "%s\n" "-d ./class"                  >> options6
-printf "%s\n" "-XPrintAptRounds"          >> options6
-${APT} @options6
-
-TestFile "./class/AndAhTwo.class"
-
-# ---------------------------------------------------------------
-
-echo "Verifying static state is available across apt rounds; -factorypath"
-
-rm -Rf ./src/*
-rm -Rf ./class/*
-
-printf "%s\n" "-factorypath staticApf.jar"   > options7
-printf "%s\n" "-s ./src"                    >> options7
-printf "%s\n" "-d ./class"                  >> options7
-printf "%s\n" "-XPrintAptRounds"            >> options7
-${APT} @options7
-
-TestFile "./class/AndAhTwo.class"
-
-# ---------------------------------------------------------------
-
-echo "Verifying -XclassesAsDecls handles class files properly"
-
-rm -Rf ./src/*
-rm -Rf ./class/*
-
-mkdir -p ./tmp/classes
-
-${JAVAC} -d ./tmp/classes ${TESTSRC}/src/Round1Class.java ${TESTSRC}/src/AhOneClass.java ${TESTSRC}/src/AndAhTwoClass.java
-
-RESULT=$?
-case "$RESULT" in
-	0  )
-        ;;
-
-        * )
-        echo "FAILED: javac failed to succesfully compile."
-        exit 1
-esac
-
-printf "%s\n" "-factorypath ${TESTCLASSES}"  > options7a
-printf "%s\n" "-factory ClassDeclApf"       >> options7a
-printf "%s\n" "-s ./src"                    >> options7a
-printf "%s\n" "-d ./class"                  >> options7a
-printf "%s\n" "-XPrintAptRounds"            >> options7a
-printf "%s\n" "-XclassesAsDecls"            >> options7a
-${APT} @options7a
-
-TestFile "./class/AndAhTwoClass.class"
-
-# ---------------------------------------------------------------
-
-echo "Verifying -XclassesAsDecls works with command-line arguments"
-
-rm -Rf ./src/*
-rm -Rf ./class/*
-rm -Rf ./tmp/classes
-
-mkdir -p ./tmp/classes
-
-${JAVAC} -d ./tmp/classes ${TESTSRC}/src/Round1Class.java ${TESTSRC}/src/AndAhTwoClass.java
-
-RESULT=$?
-case "$RESULT" in
-	0  )
-        ;;
-
-        * )
-        echo "FAILED: javac failed to succesfully compile."
-        exit 1
-esac
-
-printf "%s\n" "-factorypath ${TESTCLASSES}"  > options7b
-printf "%s\n" "-factory ClassDeclApf2"       >> options7b
-printf "%s\n" "-XPrintAptRounds"            >> options7b
-printf "%s\n" "-XclassesAsDecls"            >> options7b
-printf "%s\n" "-cp ${TESTCLASSES}"          >> options7b
-printf "%s\n" "ErrorAPF"                    >> options7b
-printf "%s\n" "WarnAPF"                     >> options7b
-printf "%s\n" "-s ./src"                    >> options7b
-printf "%s\n" "-d ./class"                  >> options7b
-printf "%s\n" "ClassDeclApf"                >> options7b
-${APT} @options7b
-
-RESULT=$?
-case "$RESULT" in
-	0  )
-        ;;
-
-        * )
-        echo "FAILED: apt exited with an error code."
-        exit 1
-esac
-
-TestFile "./class/AndAhTwoClass.class"
-TestFile "./class/AhOne.class"
-
-# ---------------------------------------------------------------
-
-echo "Verifying -XclassesAsDecls works with all source files"
-
-rm -Rf ./src/*
-rm -Rf ./class/*
-rm -Rf ./tmp/classes
-
-mkdir -p ./tmp/classes
-
-${JAVAC} -d ./tmp/classes ${TESTSRC}/src/Round1Class.java ${TESTSRC}/src/AndAhTwoClass.java
-
-RESULT=$?
-case "$RESULT" in
-	0  )
-        ;;
-
-        * )
-        echo "FAILED: javac failed to succesfully compile."
-        exit 1
-esac
-
-printf "%s\n" "-factorypath ${TESTCLASSES}"      > options7c
-printf "%s\n" "-factory ClassDeclApf2"          >> options7c
-printf "%s\n" "-s ./src"                        >> options7c
-printf "%s\n" "-d ./class"                      >> options7c
-printf "%s\n" "-sourcepath ${TESTSRC}"          >> options7c
-printf "%s\n" "${TESTSRC}/HelloAnnotation.java" >> options7c
-printf "%s\n" "${TESTSRC}/HelloWorld.java"      >> options7c
-printf "%s\n" "${TESTSRC}/Dummy1.java"          >> options7c
-printf "%s\n" "-XPrintAptRounds"                >> options7c
-printf "%s\n" "-XclassesAsDecls"                >> options7c
-printf "%s\n" "-cp ${TESTCLASSES}"              >> options7c
-${APT} @options7c
-
-RESULT=$?
-case "$RESULT" in
-	0  )
-        ;;
-
-        * )
-        echo "FAILED: apt exited with an error code."
-        exit 1
-esac
-
-TestFile "./class/AndAhTwoClass.class"
-TestFile "./class/AhOne.class"
-TestFile "./class/HelloWorld.class"
-
-# ---------------------------------------------------------------
-
-echo "Verifying -XclassesAsDecls works with mixed class and source files"
-
-rm -Rf ./src/*
-rm -Rf ./class/*
-rm -Rf ./tmp/classes
-
-mkdir -p ./tmp/classes
-
-${JAVAC} -d ./tmp/classes ${TESTSRC}/src/Round1Class.java ${TESTSRC}/src/AndAhTwoClass.java
-
-RESULT=$?
-case "$RESULT" in
-	0  )
-        ;;
-
-        * )
-        echo "FAILED: javac failed to succesfully compile."
-        exit 1
-esac
-
-printf "%s\n" "-factorypath ${TESTCLASSES}"  > options7d
-printf "%s\n" "-factory ClassDeclApf2"      >> options7d
-printf "%s\n" "-s ./src"                    >> options7d
-printf "%s\n" "-XclassesAsDecls"            >> options7d
-printf "%s\n" "ClassDeclApf"                >> options7d
-printf "%s\n" "-d ./class"                  >> options7d
-printf "%s\n" "ErrorAPF"                    >> options7d
-printf "%s\n" "-XPrintAptRounds"            >> options7d
-printf "%s\n" "${TESTSRC}/HelloWorld.java"  >> options7d
-printf "%s\n" "-cp ${TESTCLASSES}"          >> options7d
-${APT} @options7d
-
-RESULT=$?
-case "$RESULT" in
-	0  )
-        ;;
-
-        * )
-        echo "FAILED: apt exited with an error code."
-        exit 1
-esac
-
-TestFile "./class/AndAhTwoClass.class"
-TestFile "./class/AhOne.class"
-TestFile "./class/HelloWorld.class"
-
-# ---------------------------------------------------------------
-
-echo "Testing productive factories are called on subsequent rounds"
-
-rm -Rf ./src/*
-rm -Rf ./class/*
-
-rm -Rf META-INF/services/*
-cp ${TESTSRC}/servicesRound1 META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory
-cp ${TESTCLASSES}/Round1Apf*.class .
-${JAR} cf0 round1Apf.jar Round1Apf*.class META-INF
-
-rm -Rf META-INF/services/*
-cp ${TESTSRC}/servicesRound2 META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory
-cp ${TESTCLASSES}/Round2Apf*.class .
-${JAR} cf0 round2Apf.jar Round2Apf*.class META-INF
-
-rm -Rf META-INF/services/*
-cp ${TESTSRC}/servicesRound3 META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory
-cp ${TESTCLASSES}/Round3Apf*.class .
-${JAR} cf0 round3Apf.jar Round3Apf*.class META-INF
-
-rm -Rf META-INF/services/*
-cp ${TESTSRC}/servicesRound4 META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory
-cp ${TESTCLASSES}/Round4Apf*.class .
-${JAR} cf0 round4Apf.jar Round4Apf*.class META-INF
-
-cp ${TESTCLASSES}/Round?.class .
-${JAR} cf0 rounds.jar Round?.class
-
-# cleanup file to prevent accidental discovery in current directory
-rm -Rf META-INF/services/*
-
-printf "%s\n" "-factorypath round1Apf.jar${SEP}round2Apf.jar${SEP}round3Apf.jar${SEP}round4Apf.jar"   > options8
-printf "%s\n" "-classpath rounds.jar"  >> options8
-printf "%s\n" "-s ./src"               >> options8
-printf "%s\n" "-d ./class"             >> options8
-#printf "%s\n" "-XPrintFactoryInfo"     >> options8
-#printf "%s\n" "-XPrintAptRounds"       >> options8
-printf "%s\n" "${TESTSRC}/Dummy1.java" >> options8
-${APT} @options8 > multiRoundOutput 2> multiRoundError
-
-diff ${DIFFOPTS} multiRoundOutput  ${TESTSRC}/goldenFactory.txt
-
-RESULT=$?
-case "$RESULT" in
-	0  )
-        ;;
-
-        * )
-        echo "FAILED: unexpected factory state"
-        exit 1
-esac
-
-TestFile "./class/Dummy5.class"
-
-# ---------------------------------------------------------------
-
-echo "Verifying static state with programmatic apt entry; no factory options"
-rm -Rf ./src/*
-rm -Rf ./class/*
-${JAVA} -cp ${TESTJAVA}/lib/tools.jar${SEP}${TESTCLASSES} WrappedStaticApf -s ./src -d ./class -XPrintAptRounds
-TestFile "./class/AndAhTwo.class"
-
-echo "Verifying static state with programmatic apt entry; -factory"
-rm -Rf ./src/*
-rm -Rf ./class/*
-${JAVA} -cp ${TESTJAVA}/lib/tools.jar${SEP}${TESTCLASSES} WrappedStaticApf -factory ErrorAPF -s ./src -d ./class -XPrintAptRounds
-TestFile "./class/AndAhTwo.class"
-
-echo "Verifying static state with programmatic apt entry; -factorypath"
-rm -Rf ./src/*
-rm -Rf ./class/*
-${JAVA} -cp ${TESTJAVA}/lib/tools.jar${SEP}${TESTCLASSES} WrappedStaticApf -factorypath round1Apf.jar -s ./src -d ./class -XPrintAptRounds
-TestFile "./class/AndAhTwo.class"
-
-echo "Verifying static state with programmatic apt entry; -factory and -factorypath"
-rm -Rf ./src/*
-rm -Rf ./class/*
-${JAVA} -cp ${TESTJAVA}/lib/tools.jar${SEP}${TESTCLASSES} WrappedStaticApf -factorypath round1Apf.jar -factory Round1Apf -s ./src -d ./class -XPrintAptRounds
-TestFile "./class/AndAhTwo.class"
-
-exit 0
--- a/langtools/test/tools/apt/Compile/golden.txt	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-error: It's a mad, mad, mad, mad world
-error: Something wicked this way comes
-HelloWorld.java:2: error: Boring class name
-public class HelloWorld {
-       ^
-3 errors
--- a/langtools/test/tools/apt/Compile/goldenFactory.txt	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-Round1Apf: 1
-	[final round: false, error raised: false, source files created: true, class files created: true]
-Round1Apf: 1 complete
-Round1Apf: 2
-Round2Apf: 1
-	[final round: false, error raised: false, source files created: true, class files created: true]
-Round1Apf: 2 complete
-Round1Apf: 3
-Round2Apf: 2
-Round3Apf: 1
-	[final round: false, error raised: false, source files created: true, class files created: false]
-Round1Apf: 3 complete
-Round1Apf: 4
-Round2Apf: 3
-Round3Apf: 2
-Round4Apf: 1
-	[final round: false, error raised: false, source files created: true, class files created: false]
-Round1Apf: 4 complete
-	[final round: false, error raised: false, source files created: true, class files created: false]
-Round4Apf: 1 complete
-Round1Apf: 5
-Round2Apf: 4
-Round3Apf: 3
-Round4Apf: 2
-	[final round: true, error raised: false, source files created: false, class files created: false]
-Round1Apf: 5 complete
-	[final round: true, error raised: false, source files created: false, class files created: false]
-Round4Apf: 2 complete
-Valediction
--- a/langtools/test/tools/apt/Compile/goldenWarn.txt	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-warning: Beware the ides of March!
-HelloAnnotation.java:6: Note: You are about to be warned
-@interface HelloAnnotation {
- ^
-HelloAnnotation.java:6: warning: Strange class name
-@interface HelloAnnotation {
- ^
-Note: MIRROR HelloAnnotation.java:6
-Note: VALUE HelloAnnotation.java:6
-Note: MIRROR HelloAnnotation.java:6
-Note: VALUE HelloAnnotation.java:6
-Note: MIRROR HelloAnnotation.java:6
-Note: VALUE HelloAnnotation.java:5
-2 warnings
--- a/langtools/test/tools/apt/Compile/servicesRound1	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-Round1Apf
--- a/langtools/test/tools/apt/Compile/servicesRound2	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-Round2Apf
--- a/langtools/test/tools/apt/Compile/servicesRound3	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-Round3Apf
--- a/langtools/test/tools/apt/Compile/servicesRound4	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-Round4Apf
--- a/langtools/test/tools/apt/Compile/servicesStaticApf	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-StaticApf
--- a/langtools/test/tools/apt/Compile/src/AhOneClass.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-public class AhOneClass {}
--- a/langtools/test/tools/apt/Compile/src/AndAhTwoClass.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-public class AndAhTwoClass {}
--- a/langtools/test/tools/apt/Compile/src/Round1Class.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-public class Round1Class {}
--- a/langtools/test/tools/apt/Discovery/Dee.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import com.sun.mirror.apt.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-import java.util.Collection;
-import java.util.Set;
-import java.util.Arrays;
-import java.util.Collections;
-
-public class Dee implements AnnotationProcessorFactory {
-    static class DeeProc implements AnnotationProcessor {
-        DeeProc(AnnotationProcessorEnvironment ape) {}
-
-        public void process() {
-            return;
-        }
-    }
-
-    static Collection<String> supportedTypes;
-    static {
-        String types[] = {"dum"};
-        supportedTypes = Collections.unmodifiableCollection(Arrays.asList(types));
-    }
-
-    static Collection<String> supportedOptions;
-    static {
-        String options[] = {""};
-        supportedOptions = Collections.unmodifiableCollection(Arrays.asList(options));
-    }
-
-    public Collection<String> supportedOptions() {
-        return supportedOptions;
-    }
-
-    public Collection<String> supportedAnnotationTypes() {
-        return supportedTypes;
-    }
-
-    /*
-     * Return the same processor independent of what annotations are
-     * present, if any.
-     */
-    public AnnotationProcessor getProcessorFor(Set<AnnotationTypeDeclaration> atds,
-                                        AnnotationProcessorEnvironment env) {
-        return new DeeProc(env);
-    }
-}
--- a/langtools/test/tools/apt/Discovery/Dum.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import com.sun.mirror.apt.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-import java.util.Collection;
-import java.util.Set;
-import java.util.Arrays;
-import java.util.Collections;
-
-public class Dum implements AnnotationProcessorFactory {
-    static class DumProc implements AnnotationProcessor {
-        DumProc(AnnotationProcessorEnvironment ape) {}
-
-        public void process() {
-            return;
-        }
-    }
-
-    static Collection<String> supportedTypes;
-    static {
-        String types[] = {"dee"};
-        supportedTypes = Collections.unmodifiableCollection(Arrays.asList(types));
-    }
-
-    static Collection<String> supportedOptions;
-    static {
-        String options[] = {""};
-        supportedOptions = Collections.unmodifiableCollection(Arrays.asList(options));
-    }
-
-    public Collection<String> supportedOptions() {
-        return supportedOptions;
-    }
-
-    public Collection<String> supportedAnnotationTypes() {
-        return supportedTypes;
-    }
-
-    /*
-     * Return the same processor independent of what annotations are
-     * present, if any.
-     */
-    public AnnotationProcessor getProcessorFor(Set<AnnotationTypeDeclaration> atds,
-                                        AnnotationProcessorEnvironment env) {
-        return new DumProc(env);
-    }
-}
--- a/langtools/test/tools/apt/Discovery/Empty.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-public class Empty {
-}
--- a/langtools/test/tools/apt/Discovery/PhantomTouch.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import com.sun.mirror.apt.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-import java.util.Collection;
-import java.util.Set;
-import java.util.Arrays;
-import java.util.Collections;
-import java.io.*;
-
-public class PhantomTouch implements AnnotationProcessorFactory {
-    static class PhantomTouchProc implements AnnotationProcessor {
-        AnnotationProcessorEnvironment ape;
-        PhantomTouchProc(AnnotationProcessorEnvironment ape) {
-            this.ape = ape;
-        }
-
-        public void process() {
-            // Only run the processor on the initial apt invocation
-            if (ape.getSpecifiedTypeDeclarations().size() == 0) {
-                boolean result;
-                try {
-                    // Create temporary file
-                    java.io.File f = new java.io.File("touched");
-                    result = f.createNewFile();
-
-                    if (result) {
-                        // Create new source file
-                        PrintWriter pw = ape.getFiler().createSourceFile("HelloWorld");
-                        pw.println("public class HelloWorld {");
-                        pw.println("  // Phantom hello world");
-                        pw.println("  public static void main(String argv[]) {");
-                        pw.println("    System.out.println(\"Hello World\");");
-                        pw.println("  }");
-                        pw.println("}");
-                    } else
-                        throw new RuntimeException("touched file already exists!");
-                } catch (java.io.IOException e) {
-                    result = false;
-                }
-            }
-        }
-    }
-
-    static final Collection<String> supportedOptions;
-    static final Collection<String> supportedTypes;
-
-    static {
-        String options[] = {""};
-        supportedOptions = Collections.unmodifiableCollection(Arrays.asList(options));
-
-        String types[] = {"*"};
-        supportedTypes = Collections.unmodifiableCollection(Arrays.asList(types));
-    }
-
-    public Collection<String> supportedAnnotationTypes() {return supportedTypes;}
-    public Collection<String> supportedOptions() {return supportedOptions;}
-
-
-    /*
-     * Return the same processor independent of what annotations are
-     * present, if any.
-     */
-    public AnnotationProcessor getProcessorFor(Set<AnnotationTypeDeclaration> atds,
-                                        AnnotationProcessorEnvironment env) {
-        return new PhantomTouchProc(env);
-    }
-}
--- a/langtools/test/tools/apt/Discovery/PhantomUpdate.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-/*
- * Copyright (c) 2006, 2007, 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.
- */
-
-
-/*
- * JSR 269 annotation processor to test combined apt + JSR 269
- * annotation processor file generation and option passing.
- */
-
-import javax.annotation.processing.*;
-import static  javax.lang.model.SourceVersion.*;
-import javax.lang.model.element.*;
-import javax.lang.model.type.*;
-import javax.lang.model.util.*;
-import java.util.*;
-import java.io.*;
-
-@SupportedAnnotationTypes("*")  // Process all annotations
-@SupportedSourceVersion(RELEASE_6)
-public class PhantomUpdate extends AbstractProcessor {
-    boolean firstRound = true;
-
-    public boolean process(Set<? extends TypeElement> annotations,
-                           RoundEnvironment roundEnv) {
-        if (firstRound) {
-            verifyOptions();
-            printGoodbyeWorld();
-            firstRound = false;
-        }
-        return true; // Claim all annotations
-    }
-
-    /*
-     * Expected options are "foo" and "bar=baz".
-     */
-    private void verifyOptions() {
-        Map<String, String> actualOptions = processingEnv.getOptions();
-        Map<String, String> expectedOptions = new LinkedHashMap<String, String>();
-        expectedOptions.put("foo", null);
-        expectedOptions.put("bar", "baz");
-
-        if (!actualOptions.equals(expectedOptions) ) {
-            System.err.println("Expected options " + expectedOptions +
-                               "\n but got " + actualOptions);
-            throw new RuntimeException("Options mismatch");
-        }
-    }
-
-    private void printGoodbyeWorld() {
-        try {
-            // Create new source file
-            PrintWriter pw = new PrintWriter(processingEnv.getFiler().createSourceFile("GoodbyeWorld").openWriter());
-            pw.println("public class GoodbyeWorld {");
-            pw.println("  // PhantomUpdate Goodbye world");
-            pw.println("  public static void main(String argv[]) {");
-            pw.println("    System.out.println(\"Goodbye World\");");
-            pw.println("  }");
-            pw.println("}");
-            pw.close();
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
-    }
-}
--- a/langtools/test/tools/apt/Discovery/Touch.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import com.sun.mirror.apt.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-import java.util.Collection;
-import java.util.Set;
-import java.util.Arrays;
-import java.util.Collections;
-import java.io.*;
-
-public class Touch implements AnnotationProcessorFactory {
-    static class TouchProc implements AnnotationProcessor {
-        AnnotationProcessorEnvironment ape;
-        TouchProc(AnnotationProcessorEnvironment ape) {
-            this.ape = ape;
-        }
-
-        public void process() {
-            boolean result;
-            // Only run the processor on the initial apt invocation
-            Collection<TypeDeclaration> tdecls = ape.getSpecifiedTypeDeclarations();
-
-            if (tdecls.size() == 1) {
-                for(TypeDeclaration decl: tdecls) {
-                    if (! decl.getSimpleName().equals("Touch") )
-                        return;
-                }
-
-                try {
-                    // Create temporary file
-                    java.io.File f = new java.io.File("touched");
-                    result = f.createNewFile();
-
-
-                    Filer filer = ape.getFiler();
-
-                    // Create new source file
-                    PrintWriter pw = filer.createSourceFile("HelloWorld");
-                    pw.println("public class HelloWorld {");
-                    pw.println("  public static void main(String argv[]) {");
-                    pw.println("    System.out.println(\"Hello World\");");
-                    pw.println("  }");
-                    pw.println("}");
-
-                    // Create new class file and copy Empty.class
-                    OutputStream os = filer.createClassFile("Empty");
-                    FileInputStream fis = new FileInputStream("Empty.clazz");
-                    int datum;
-                    while((datum = fis.read()) != -1)
-                        os.write(datum);
-
-                } catch (java.io.IOException e) {
-                    result = false;
-                }
-                if (!result)
-                    throw new RuntimeException("touched file already exists or other error");
-            }
-
-        }
-
-    }
-
-    static Collection<String> supportedTypes;
-    static {
-        String types[] = {"*"};
-        supportedTypes = Collections.unmodifiableCollection(Arrays.asList(types));
-    }
-
-    static Collection<String> supportedOptions;
-    static {
-        String options[] = {""};
-        supportedOptions = Collections.unmodifiableCollection(Arrays.asList(options));
-    }
-
-    public Collection<String> supportedOptions() {
-        return supportedOptions;
-    }
-
-    public Collection<String> supportedAnnotationTypes() {
-        return supportedTypes;
-    }
-
-    /*
-     * Return the same processor independent of what annotations are
-     * present, if any.
-     */
-    public AnnotationProcessor getProcessorFor(Set<AnnotationTypeDeclaration> atds,
-                                        AnnotationProcessorEnvironment env) {
-        return new TouchProc(env);
-    }
-}
--- a/langtools/test/tools/apt/Discovery/discovery.sh	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,410 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright (c) 1999, 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 4984412 4985113 4908512 4990905 4998007 4998218 5002340 5023882 6370261 6363481
-# @run shell ../verifyVariables.sh
-# @compile PhantomUpdate.java
-# @run shell discovery.sh
-# @summary Test consistency of annotation discovery
-# @author Joseph D. Darcy
-
-
-# If the file does not exist, exit with an error
-TestFile() {
-	if [ ! -f ${1} ]; then
-		printf "%s\n" "File ${1} not found."
-		exit 1
-	fi
-}
-
-OS=`uname -s`;
-case "${OS}" in
-        Windows* | CYGWIN* )
-                SEP=";"
-        ;;
-
-	* )
-	SEP=":"
-	;;
-esac
-
-TOOLSJAR=${TESTJAVA}/lib/tools.jar
-
-OLDCP=${CLASSPATH}
-
-JARCP=tweedle.jar${SEP}touch.jar${SEP}${TOOLSJAR}
-SOURCEP=${TESTSRC}
-FULLCP=${JARCP}${SEP}${SOURCEP}
-BADCP=tweedle.jar${SEP}badTouch.jar${SEP}${TOOLSJAR}
-
-# Construct path to apt executable
-APT="${TESTJAVA}/bin/apt ${TESTTOOLVMOPTS} "
-
-
-# Construct path to apt executable, no compilation
-APTNC="${APT} -nocompile "
-
-
-printf "%s\n" "APT = ${APT}"
-
-# Construct path to javac executable
-JAVAC="${TESTJAVA}/bin/javac ${TESTTOOLVMOPTS} -source 1.5 -sourcepath ${TESTSRC} -classpath ${TOOLSJAR} -d . "
-JAR="${TESTJAVA}/bin/jar "
-
-$JAVAC ${TESTSRC}/Dee.java ${TESTSRC}/Dum.java ${TESTSRC}/Touch.java ${TESTSRC}/PhantomTouch.java ${TESTSRC}/Empty.java
-RESULT=$?
-
-case "${RESULT}" in
-        0  )
-        ;;
-
-        * )
-        echo "Compilation failed."
-        exit 1
-esac
-
-mv Empty.class Empty.clazz
-
-echo "Making services directory and copying services information."
-mkdir -p META-INF/services
-mkdir -p phantom
-
-rm -f touch.jar
-rm -f badTouch.jar
-
-cp ${TESTSRC}/servicesTweedle META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory
-
-${JAR} cf0 tweedle.jar Dee*.class Dum*.class META-INF
-
-rm -f META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory
-cp ${TESTSRC}/servicesTouch ./META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory
-
-${JAR} cf0 touch.jar Touch*.class META-INF
-
-rm -f META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory
-cp ${TESTSRC}/servicesPhantomTouch ./META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory
-
-${JAR} cf0 phantom/phantom.jar PhantomTouch*.class META-INF
-
-# cleanup file to prevent accidental discovery in current directory
-rm -f META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory
-
-# Jar files created; verify right output file is touched
-
-#---------------------------------------------------------
-
-# Test different combinations of classpath, sourcepath, and
-# destination directories
-
-
-#
-# Classpath on commandline; no output directories
-#
-
-rm -f touched 
-rm -f HelloWorld.java
-rm -f Empty.class
-
-unset CLASSPATH
-printf "%s\n" "-classpath ${JARCP}"     > options1
-printf "%s\n" "-sourcepath ${SOURCEP}" >> options1
-printf "%s\n" "${TESTSRC}/Touch.java"  >> options1
-
-${APTNC} @options1
-
-echo "Testing case 1"
-TestFile "touched"
-TestFile "HelloWorld.java"
-TestFile "Empty.class"
-
-#
-# Class path set through environment variable
-#
-
-rm -f touched
-rm -f HelloWorld.java
-rm -f Empty.class
-
-unset CLASSPATH
-CLASSPATH=${JARCP}
-export CLASSPATH
-printf "%s\n" "-sourcepath ${SOURCEP}" > options2
-printf "%s\n" "${TESTSRC}/Touch.java" >> options2
-
-${APTNC} @options2
-
-echo "Testing case 2"
-TestFile "touched"
-TestFile "HelloWorld.java"
-TestFile "Empty.class"
-
-#
-# No explicit source path
-#
-
-rm -f touched
-rm -f HelloWorld.java
-rm -f Empty.class
-
-unset CLASSPATH
-CLASSPATH=${FULLCP}
-export CLASSPATH
-printf "%s\n" "${TESTSRC}/Touch.java"  > options3
-
-${APTNC} @options3
-
-echo "Testing case 3"
-TestFile "touched"
-TestFile "HelloWorld.java"
-TestFile "Empty.class"
-
-
-#
-# Classpath on commandline; class output directory
-#
-
-rm -f touched
-rm -f HelloWorld.java
-rm -Rf classes/Empty.class
-
-unset CLASSPATH
-printf "%s\n" "-classpath ${JARCP}"     > options4
-printf "%s\n" "-sourcepath ${SOURCEP}" >> options4
-printf "%s\n" "-d classes"             >> options4
-printf "%s\n" "${TESTSRC}/Touch.java"  >> options4
-
-${APTNC} @options4
-
-echo "Testing case 4"
-TestFile "touched"
-TestFile "HelloWorld.java"
-TestFile "classes/Empty.class"
-
-#
-# Classpath on commandline; source output directory
-#
-
-rm -f touched
-rm -Rf src
-rm -f Empty.class
-
-unset CLASSPATH
-printf "%s\n" "-classpath ${JARCP}"     > options5
-printf "%s\n" "-sourcepath ${SOURCEP}" >> options5
-printf "%s\n" "-s src"                 >> options5
-printf "%s\n" "${TESTSRC}/Touch.java"  >> options5
-
-${APTNC} @options5
-
-echo "Testing case 5"
-TestFile "touched"
-TestFile "src/HelloWorld.java"
-TestFile "Empty.class"
-
-
-#
-# Classpath on commandline; class and source output directory
-#
-
-rm -f touched
-rm -Rf src
-rm -Rf classes
-
-unset CLASSPATH
-printf "%s\n" "-classpath ${JARCP}"     > options6
-printf "%s\n" "-sourcepath ${SOURCEP}" >> options6
-printf "%s\n" "-d classes"             >> options6
-printf "%s\n" "-s src"                 >> options6
-printf "%s\n" "${TESTSRC}/Touch.java"  >> options6
-
-${APTNC} @options6
-
-echo "Testing case 6"
-TestFile "touched"
-TestFile "src/HelloWorld.java"
-TestFile "classes/Empty.class"
-
-#
-# Classpath appended to bootclasspath; no output directories
-#
-
-rm -f touched
-rm -f HelloWorld.java
-rm -f Empty.class
-
-unset CLASSPATH
-printf "%s\n" "-Xbootclasspath/a:${JARCP}" > options7
-printf "%s\n" "-classpath /dev/null"      >> options7
-printf "%s\n" "${TESTSRC}/Touch.java"     >> options7
-
-${APTNC} @options7
-
-echo "Testing case 7"
-TestFile "touched"
-TestFile "HelloWorld.java"
-TestFile "Empty.class"
-
-#
-# Classpath in extdirs; no output directories
-#
-
-rm -f touched
-rm -f HelloWorld.java
-rm -f Empty.class
-
-unset CLASSPATH
-printf "%s\n" "-extdirs ."              > options8
-printf "%s\n" "-classpath ${TOOLSJAR}" >> options8
-printf "%s\n" "${TESTSRC}/Touch.java"  >> options8
-
-${APTNC} @options8
-
-echo "Testing case 8"
-TestFile "touched"
-TestFile "HelloWorld.java"
-TestFile "Empty.class"
-
-#
-# Classpath in extdirs, take 2; no output directories
-#
-
-rm -f touched
-rm -f HelloWorld.java
-rm -f Empty.class
-
-unset CLASSPATH
-printf "%s\n" "-Djava.ext.dirs=."        > options9
-printf "%s\n" "-classpath ${TOOLSJAR}"  >> options9
-printf "%s\n" "${TESTSRC}/Touch.java"   >> options9
-
-${APTNC} @options9
-
-echo "Testing case 9"
-TestFile "touched"
-TestFile "HelloWorld.java"
-TestFile "Empty.class"
-
-#
-# Classpath in -endorseddirs; no output directories
-#
-
-rm -f touched
-rm -f HelloWorld.java
-rm -f Empty.class
-
-unset CLASSPATH
-printf "%s\n" "-endorseddirs ."          > options10
-printf "%s\n" "-classpath ${TOOLSJAR}"  >> options10
-printf "%s\n" "${TESTSRC}/Touch.java"   >> options10
-
-${APTNC} @options10
-
-echo "Testing case 10"
-TestFile "touched"
-TestFile "HelloWorld.java"
-TestFile "Empty.class"
-
-#
-# Testing apt invocation with no command line options
-#
-
-rm -f touched
-rm -f HelloWorld.java
-rm -f Empty.class
-
-unset CLASSPATH
-CLASSPATH=./phantom/phantom.jar
-export CLASSPATH
-
-${APT}
-
-echo "Testing empty command line"
-TestFile "touched"
-TestFile "HelloWorld.java"
-
-
-#
-# Verify apt and JSR 269 annotation processors can be run from same
-# invocation and both use the output directories
-#
-
-rm -f touched
-rm -f src/HelloWorld.java
-rm -f src/GoodbyeWorld.java
-rm -f classes/HelloWorld.class
-rm -f classes/GoodbyeWorld.class
-
-unset CLASSPATH
-
-
-printf "%s\n" "-classpath ./phantom/phantom.jar" > options11
-printf "%s\n" "-sourcepath ${SOURCEP}"          >> options11
-printf "%s\n" "-factory PhantomTouch "          >> options11
-printf "%s\n" "-s src"                          >> options11
-printf "%s\n" "-d classes"                      >> options11
-printf "%s\n" "-A"             	                >> options11
-printf "%s\n" "-Afoo"          	                >> options11
-printf "%s\n" "-Abar=baz"      	                >> options11
-printf "%s\n" "-processorpath $TESTCLASSES"     >> options11
-printf "%s\n" "-processor PhantomUpdate"        >> options11
-
-${APT} @options11
-
-echo "Testing combined apt and JSR 269 processing"
-TestFile touched
-TestFile "src/HelloWorld.java"
-TestFile "src/GoodbyeWorld.java"
-TestFile "classes/HelloWorld.class"
-TestFile "classes/GoodbyeWorld.class"
-
-#
-# Verify running with badTouch doesn't exit successfully
-#
-
-rm -f ./META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory
-cp ${TESTSRC}/servicesBadTouch ./META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory
-
-${JAR} cf0 badTouch.jar Touch*.class META-INF
-
-
-unset CLASSPATH
-printf "%s\n" "-classpath ${BADCP}"     > optionsBad
-printf "%s\n" "-sourcepath ${SOURCEP}" >> optionsBad
-printf "%s\n" "${TESTSRC}/Touch.java"  >> optionsBad
-
-${APTNC} @optionsBad 2> /dev/null
-
-RESULT=$?
-
-case "${RESULT}" in
-        0  )
-	echo "Improper exit zero with bad services information."
-	exit 1
-        ;;
-esac
-
-
-exit 0;
--- a/langtools/test/tools/apt/Discovery/servicesBadTouch	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-Touche
--- a/langtools/test/tools/apt/Discovery/servicesPhantomTouch	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-PhantomTouch
--- a/langtools/test/tools/apt/Discovery/servicesTouch	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-Touch
--- a/langtools/test/tools/apt/Discovery/servicesTweedle	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-Dee
-Dum
--- a/langtools/test/tools/apt/Misc/Marked.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-class Marked {
-
-    @Marker
-        class marked1 {};
-
-
-    class Unmarked1 {};
-
-    @Marker
-        class marked2 {};
-
-
-    class Unmarked2 {};
-
-    @Marker
-        class marked3 {};
-
-
-    class Unmarked3 {};
-
-    @Marker
-        class marked4 {};
-
-
-    class Unmarked4 {};
-
-}
--- a/langtools/test/tools/apt/Misc/Marker.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-public @interface Marker {}
--- a/langtools/test/tools/apt/Misc/Misc.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import com.sun.mirror.apt.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-import java.util.Collection;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Arrays;
-import java.util.Collections;
-
-public class Misc implements AnnotationProcessorFactory {
-    static class MiscCheck implements AnnotationProcessor {
-        AnnotationProcessorEnvironment ape;
-        MiscCheck(AnnotationProcessorEnvironment ape) {
-            this.ape = ape;
-        }
-
-        public void process() {
-            Collection<Declaration> decls = ape.
-                getDeclarationsAnnotatedWith((AnnotationTypeDeclaration)
-                                             ape.getTypeDeclaration("Marker"));
-
-            // Should write more robust test that examines the
-            // annotation mirrors for the declaration in question.
-            for(Declaration decl: decls) {
-                if (!decl.getSimpleName().startsWith("marked") )
-                    throw new RuntimeException();
-            }
-        }
-    }
-
-
-    static Collection<String> supportedTypes;
-    static {
-        String types[] = {"*"};
-        supportedTypes = Collections.unmodifiableCollection(Arrays.asList(types));
-    }
-
-    Collection<String> supportedOptions =
-        Collections.unmodifiableCollection(new HashSet<String>());
-
-    public Collection<String> supportedOptions() {
-        return supportedOptions;
-    }
-
-    public Collection<String> supportedAnnotationTypes() {
-        return supportedTypes;
-    }
-
-    /*
-     * Return the same processor independent of what annotations are
-     * present, if any.
-     */
-    public AnnotationProcessor getProcessorFor(Set<AnnotationTypeDeclaration> atds,
-                                               AnnotationProcessorEnvironment ape) {
-        return new MiscCheck(ape);
-    }
-}
--- a/langtools/test/tools/apt/Misc/misc.sh	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright (c) 2004, 2007, 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 5007250
-# @run shell ../verifyVariables.sh
-# @run shell misc.sh
-# @summary Miscelleneous tests
-# @author Joseph D. Darcy
-
-OS=`uname -s`;
-case "${OS}" in
-        Windows* | CYGWIN* )
-                SEP=";"
-        ;;
-
-	* )
-	SEP=":"
-	;;
-esac
-
-JARCP=misc.jar
-SOURCEP=${TESTSRC}
-
-# Construct path to apt executable
-APT="${TESTJAVA}/bin/apt ${TESTTOOLVMOPTS} -nocompile "
-
-printf "%s\n" "APT = ${APT}"
-
-# Construct path to javac executable
-JAVAC="${TESTJAVA}/bin/javac ${TESTTOOLVMOPTS} -source 1.5 -sourcepath ${TESTSRC} -classpath ${TESTJAVA}/lib/tools.jar -d . "
-JAR="${TESTJAVA}/bin/jar "
-
-${JAVAC} ${TESTSRC}/Misc.java ${TESTSRC}/Marked.java 
-RESULT=$?
-
-case "${RESULT}" in
-        0  )
-        ;;
-
-        * )
-        echo "Compilation failed."
-        exit 1
-esac
-
-
-echo "Making services directory and copying services information."
-mkdir -p META-INF/services
-
-cp ${TESTSRC}/servicesMisc META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory
-
-${JAR} cf0 misc.jar Misc*.class META-INF
-
-# Jar files created; verify options properly present on both initial
-# and recursive apt runs
-
-#---------------------------------------------------------
-
-unset CLASSPATH
-
-printf "%s\n" "-classpath ${JARCP}"     > options
-printf "%s\n" "-sourcepath ${SOURCEP}" >> options
-printf "%s\n" "${TESTSRC}/Marked.java" >> options
-
-${APT} @options
-
-RESULT=$?
-case "${RESULT}" in
-        0  )
-	;;	
-	
-	* )
-	echo "Problem with result"
-	exit 1
-        ;;
-esac
-
-exit 0;
--- a/langtools/test/tools/apt/Misc/servicesMisc	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-Misc
-
--- a/langtools/test/tools/apt/Options/Marked.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-@Marker
-class Marked {
-}
--- a/langtools/test/tools/apt/Options/Marker.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-public @interface Marker {}
--- a/langtools/test/tools/apt/Options/OptionChecker.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import com.sun.mirror.apt.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-import java.util.Collection;
-import java.util.Set;
-import java.util.Map;
-import java.util.Arrays;
-import java.util.Collections;
-
-public class OptionChecker implements AnnotationProcessorFactory {
-    static class OptionCheck implements AnnotationProcessor {
-        AnnotationProcessorEnvironment ape;
-        OptionCheck(AnnotationProcessorEnvironment ape) {
-            this.ape = ape;
-        }
-
-        public void process() {
-            Map<String, String> options = ape.getOptions();
-            if (options.containsKey("-Afoo") &&
-                options.containsKey("-Abar") &&
-                options.containsKey("-classpath") ) {
-                System.out.println("Expected options found.");
-                return;  // All is well
-            } else {
-                System.err.println("Unexpected options values: " + options);
-                throw new RuntimeException();
-            }
-        }
-    }
-
-    static class HelloWorld implements AnnotationProcessor {
-        AnnotationProcessorEnvironment ape;
-        HelloWorld(AnnotationProcessorEnvironment ape) {
-            this.ape = ape;
-        }
-
-        public void process() {
-            java.io.PrintWriter pw;
-            try {
-                pw = ape.getFiler().createSourceFile("HelloWorld");
-            } catch (Exception e) {
-                throw new RuntimeException(e);
-            }
-
-            pw.println("public class HelloWorld {");
-            pw.println("  public static void main (String argv[]) {");
-            pw.println("    System.out.println(\"Hello apt world.\");");
-            pw.println("  }");
-            pw.println("}");
-        }
-    }
-
-
-    static Collection<String> supportedTypes;
-    static {
-        String types[] = {"*"};
-        supportedTypes = Collections.unmodifiableCollection(Arrays.asList(types));
-    }
-
-    static Collection<String> supportedOptions;
-    static {
-        String options[] = {"-Afoo", "-Abar"};
-        supportedOptions = Collections.unmodifiableCollection(Arrays.asList(options));
-    }
-
-    public Collection<String> supportedOptions() {
-        return supportedOptions;
-    }
-
-    public Collection<String> supportedAnnotationTypes() {
-        return supportedTypes;
-    }
-
-    /*
-     * Return the same processor independent of what annotations are
-     * present, if any.
-     */
-    public AnnotationProcessor getProcessorFor(Set<AnnotationTypeDeclaration> atds,
-                                               AnnotationProcessorEnvironment ape) {
-
-        if (atds.contains(ape.getTypeDeclaration("Marker"))) {
-            System.out.println("Returning composite processor.");
-            return AnnotationProcessors.getCompositeAnnotationProcessor(new OptionCheck(ape),
-                                                                        new HelloWorld(ape));
-        }
-        else {
-            System.out.println("Returning single processor.");
-            return new OptionCheck(ape);
-        }
-    }
-}
--- a/langtools/test/tools/apt/Options/options.sh	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright (c) 2004, 2007, 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 4993950 4993277
-# @run shell ../verifyVariables.sh
-# @run shell options.sh
-# @summary Test availabilty of command line options in processors
-# @author Joseph D. Darcy
-
-OS=`uname -s`;
-case "${OS}" in
-        Windows* | CYGWIN* )
-                SEP=";"
-        ;;
-
-	* )
-	SEP=":"
-	;;
-esac
-
-JARCP=option.jar
-SOURCEP=${TESTSRC}
-
-
-# Construct path to apt executable
-APT="${TESTJAVA}/bin/apt ${TESTTOOLVMOPTS} -nocompile "
-
-printf "%s\n" "APT = ${APT}"
-
-# Construct path to javac executable
-JAVAC="${TESTJAVA}/bin/javac ${TESTTOOLVMOPTS} -source 1.5 -sourcepath ${TESTSRC} -classpath ${TESTJAVA}/lib/tools.jar -d . "
-JAR="${TESTJAVA}/bin/jar "
-
-${JAVAC} ${TESTSRC}/OptionChecker.java
-RESULT=$?
-
-case "${RESULT}" in
-        0  )
-        ;;
-
-        * )
-        echo "Compilation failed."
-        exit 1
-esac
-
-
-echo "Making services directory and copying services information."
-mkdir -p META-INF/services
-
-cp ${TESTSRC}/servicesOptions META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory
-
-${JAR} cf0 option.jar OptionChecker*.class META-INF
-
-# Jar files created; verify options properly present on both initial
-# and recursive apt runs
-
-#---------------------------------------------------------
-
-unset CLASSPATH
-
-printf "%s\n" "-classpath ${JARCP}"     > options
-printf "%s\n" "-sourcepath ${SOURCEP}" >> options
-printf "%s\n" "${TESTSRC}/Marked.java" >> options
-
-${APT} @options
-
-RESULT=$?
-case "${RESULT}" in
-        0  )
-	echo "Failed to indentify missing options"
-	exit 1
-	;;	
-	
-	* )
-        ;;
-esac
-
-printf "%s\n" "-Afoo -Abar" >> options
-
-${APT} @options
-
-RESULT=$?
-case "${RESULT}" in
-        0  )
-	;;	
-	
-	* )
-	echo "Options not found properly."
-	exit 1
-        ;;
-esac
-
-exit 0;
--- a/langtools/test/tools/apt/Options/servicesOptions	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-OptionChecker
--- a/langtools/test/tools/apt/Scanners/Counter.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import com.sun.mirror.apt.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-import java.util.Collection;
-import java.util.Set;
-import java.util.Arrays;
-
-import static java.util.Collections.*;
-import static com.sun.mirror.util.DeclarationVisitors.*;
-
-/*
- * Used to verify counts from different kinds of declaration scanners.
- */
-public class Counter implements AnnotationProcessorFactory {
-    static class CounterProc implements AnnotationProcessor {
-        static class CountingVisitor extends SimpleDeclarationVisitor {
-            int count;
-            int count() {
-                return count;
-            }
-
-            CountingVisitor() {
-                count = 0;
-            }
-
-            public void visitDeclaration(Declaration d) {
-                count++;
-                System.out.println(d.getSimpleName());
-            }
-        }
-
-        AnnotationProcessorEnvironment env;
-        CounterProc(AnnotationProcessorEnvironment env) {
-            this.env = env;
-        }
-
-        public void process() {
-            for(TypeDeclaration td: env.getSpecifiedTypeDeclarations() ) {
-                CountingVisitor sourceOrder = new CountingVisitor();
-                CountingVisitor someOrder = new CountingVisitor();
-
-                System.out.println("Source Order Scanner");
-                td.accept(getSourceOrderDeclarationScanner(sourceOrder,
-                                                           NO_OP));
-
-                System.out.println("\nSome Order Scanner");
-                td.accept(getDeclarationScanner(someOrder,
-                                                NO_OP));
-
-                if (sourceOrder.count() != someOrder.count() )
-                    throw new RuntimeException("Counts from different scanners don't agree");
-            }
-
-        }
-    }
-
-    static Collection<String> supportedTypes;
-    static {
-        String types[] = {"*"};
-        supportedTypes = unmodifiableCollection(Arrays.asList(types));
-    }
-
-    static Collection<String> supportedOptions;
-    static {
-        String options[] = {""};
-        supportedOptions = unmodifiableCollection(Arrays.asList(options));
-    }
-
-    public Collection<String> supportedOptions() {
-        return supportedOptions;
-    }
-
-    public Collection<String> supportedAnnotationTypes() {
-        return supportedTypes;
-    }
-
-    public AnnotationProcessor getProcessorFor(Set<AnnotationTypeDeclaration> atds,
-                                               AnnotationProcessorEnvironment env) {
-        return new CounterProc(env);
-    }
-
-}
--- a/langtools/test/tools/apt/Scanners/MemberOrderApf.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import com.sun.mirror.apt.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-import java.util.Collection;
-import java.util.Set;
-import java.util.Arrays;
-
-import static java.util.Collections.*;
-import static com.sun.mirror.util.DeclarationVisitors.*;
-
-/*
- * The processor of this factory verifies class members are returned
- * in source-code order.
- */
-public class MemberOrderApf implements AnnotationProcessorFactory {
-    // Process any set of annotations
-    private static final Collection<String> supportedAnnotations
-        = unmodifiableCollection(Arrays.asList("*"));
-
-    // No supported options
-    private static final Collection<String> supportedOptions = emptySet();
-
-    public Collection<String> supportedAnnotationTypes() {
-        return supportedAnnotations;
-    }
-
-    public Collection<String> supportedOptions() {
-        return supportedOptions;
-    }
-
-    public AnnotationProcessor getProcessorFor(
-            Set<AnnotationTypeDeclaration> atds,
-            AnnotationProcessorEnvironment env) {
-        return new MemberOrderAp(env);
-    }
-
-    private static class MemberOrderAp implements AnnotationProcessor {
-        private final AnnotationProcessorEnvironment env;
-        MemberOrderAp(AnnotationProcessorEnvironment env) {
-            this.env = env;
-        }
-
-        private void verifyOrder(Collection<? extends Declaration> decls) {
-            int count = 0;
-            for(Declaration decl: decls) {
-                VisitOrder order = decl.getAnnotation(VisitOrder.class);
-                if (order.value() <= count)
-                    throw new RuntimeException("Out of order declarations");
-                count = order.value();
-            }
-        }
-
-        public void process() {
-            for(TypeDeclaration td: env.getSpecifiedTypeDeclarations()) {
-                verifyOrder(td.getFields());
-                verifyOrder(td.getMethods());
-            }
-        }
-    }
-}
--- a/langtools/test/tools/apt/Scanners/Order.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-
-@VisitOrder(1)
-public class Order {
-    @VisitOrder(2)
-    static double d;
-
-    @VisitOrder(3)
-    private Order() {}
-
-    @VisitOrder(4)
-    int i;
-
-    @VisitOrder(5)
-    static class InnerOrder {
-        @VisitOrder(6)
-        InnerOrder(){}
-
-        @VisitOrder(7)
-        String toString() {return "";}
-    }
-
-    @VisitOrder(8)
-    String toString() {return "";}
-
-    @VisitOrder(9)
-    InnerOrder io;
-
-    @VisitOrder(10)
-    String foo() {return toString();}
-}
--- a/langtools/test/tools/apt/Scanners/Scanner.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import com.sun.mirror.apt.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-import java.util.Collection;
-import java.util.Set;
-import java.util.Map;
-import java.util.Arrays;
-import java.util.Collections;
-
-
-public class Scanner implements AnnotationProcessorFactory {
-    static class ScannerProc implements AnnotationProcessor {
-        AnnotationProcessorEnvironment env;
-        ScannerProc(AnnotationProcessorEnvironment env) {
-            this.env = env;
-        }
-
-        static class CountingVisitor extends SimpleDeclarationVisitor {
-            int count;
-            CountingVisitor() {
-                count = 0;
-            }
-
-            public void visitDeclaration(Declaration d) {
-                count++;
-
-                Collection<AnnotationMirror> ams = d.getAnnotationMirrors();
-                if (ams == null)
-                    throw new RuntimeException("Declaration " + d +
-                                               " not annotated with visit order.");
-                else {
-                    if (ams.size() != 1)
-                        throw new RuntimeException("Declaration " + d +
-                                                   " has wrong number of declarations.");
-                    else {
-                        for(AnnotationMirror am: ams) {
-                            Map<AnnotationTypeElementDeclaration,AnnotationValue> elementValues = am.getElementValues();
-                            for(AnnotationTypeElementDeclaration atmd: elementValues.keySet()) {
-                                if (!atmd.getDeclaringType().toString().equals("VisitOrder"))
-                                    throw new RuntimeException("Annotation " + atmd +
-                                                               " is the wrong type.");
-                                else {
-                                    AnnotationValue av =
-                                        elementValues.get(atmd);
-                                    Integer value = (Integer) av.getValue();
-                                    if (value.intValue() != count)
-                                        throw new RuntimeException("Expected declaration " + d +
-                                                                   " to be in position " + count +
-                                                                   " instead of " + value.intValue());
-
-                                    System.out.println("Declaration " + d +
-                                                       ": visit order " + value.intValue());
-                                }
-                            }
-
-                        }
-                    }
-                }
-
-            }
-        }
-
-        public void process() {
-            for(TypeDeclaration td: env.getSpecifiedTypeDeclarations() ) {
-                td.accept(DeclarationVisitors.getSourceOrderDeclarationScanner(new CountingVisitor(),
-                                                                               DeclarationVisitors.NO_OP));
-            }
-        }
-    }
-
-
-    static Collection<String> supportedTypes;
-    static {
-        String types[] = {"*"};
-        supportedTypes = Collections.unmodifiableCollection(Arrays.asList(types));
-    }
-
-    static Collection<String> supportedOptions;
-    static {
-        String options[] = {""};
-        supportedOptions = Collections.unmodifiableCollection(Arrays.asList(options));
-    }
-
-    public Collection<String> supportedOptions() {
-        return supportedOptions;
-    }
-
-    public Collection<String> supportedAnnotationTypes() {
-        return supportedTypes;
-    }
-
-    public AnnotationProcessor getProcessorFor(Set<AnnotationTypeDeclaration> atds,
-                                        AnnotationProcessorEnvironment env) {
-        return new ScannerProc(env);
-    }
-
-}
--- a/langtools/test/tools/apt/Scanners/TestEnum.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-public enum TestEnum {
-    QUIZ,
-    EXAM,
-    MIDTERM,
-    FINAL,
-    QUALIFIER;
-}
--- a/langtools/test/tools/apt/Scanners/VisitOrder.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-/*
- * Integer to indicate what order a declaration is expected to be
- * visited in by a DeclarationScanner.
- */
-
-@interface VisitOrder {
-    int value();
-}
--- a/langtools/test/tools/apt/Scanners/scanner.sh	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,146 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright (c) 2004, 2007, 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 4989093 5009164 5023880 5029482 6206786
-# @run shell ../verifyVariables.sh
-# @run shell scanner.sh
-# @summary Test source order scanner
-# @author Joseph D. Darcy
-
-OS=`uname -s`;
-case "${OS}" in
-        Windows* | CYGWIN* )
-                SEP=";"
-        ;;
-
-	* )
-	SEP=":"
-	;;
-esac
-
-JARCP=scanner.jar
-
-# Construct path to apt executable
-APT="${TESTJAVA}/bin/apt ${TESTTOOLVMOPTS} -nocompile "
-
-printf "%s\n" "APT = ${APT}"
-
-# Construct path to javac executable
-JAVAC="${TESTJAVA}/bin/javac ${TESTTOOLVMOPTS} -source 1.5 -sourcepath ${TESTSRC} -classpath ${TESTJAVA}/lib/tools.jar -d . "
-JAR="${TESTJAVA}/bin/jar "
-
-${JAVAC} ${TESTSRC}/Scanner.java ${TESTSRC}/VisitOrder.java ${TESTSRC}/Counter.java ${TESTSRC}/MemberOrderApf.java
-RESULT=$?
-
-case "${RESULT}" in
-        0  )
-        ;;
-
-        * )
-        echo "Compilation failed."
-        exit 1
-esac
-
-
-echo "Making services directory and copying services information."
-mkdir -p META-INF/services
-
-cp ${TESTSRC}/servicesScanner META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory
-
-${JAR} cf0 scanner.jar Scanner*.class META-INF
-
-# Jar files created; verify options properly present on both initial
-# and recursive apt runs
-
-#---------------------------------------------------------
-
-unset CLASSPATH
-
-printf "%s\n" "-classpath ${JARCP}"     > options
-printf "%s\n" "-sourcepath ${TESTSRC}" >> options
-printf "%s\n" "${TESTSRC}/Order.java"  >> options
-
-${APT} @options
-
-RESULT=$?
-case "${RESULT}" in
-        0  )
-	;;	
-	
-	* )
-	echo "Program elements visited in wrong order"
-	exit 1
-        ;;
-esac
-
-#---------------------------------------------------------
-
-# Verify that plain decl' scanner and source order decl' scanner
-# record the same number of elements for an enum
-
-printf "%s\n" "-factorypath ."            > options2
-printf "%s\n" "-factory Counter"         >> options2
-printf "%s\n" "-sourcepath ${TESTSRC}"   >> options2
-printf "%s\n" "${TESTSRC}/TestEnum.java" >> options2
-
-
-$APT @options2
-
-RESULT=$?
-case "${RESULT}" in
-        0  )
-	;;	
-	
-	* )
-	echo "Improper counts"
-	exit 1
-        ;;
-esac
-
-#---------------------------------------------------------
-
-# Verify that members happen to be returned in source order
-
-printf "%s\n" "-factorypath ."            > options3
-printf "%s\n" "-factory MemberOrderApf"  >> options3
-printf "%s\n" "-sourcepath ${TESTSRC}"   >> options3
-printf "%s\n" "${TESTSRC}/Order.java"    >> options3
-
-$APT @options3
-
-RESULT=$?
-case "${RESULT}" in
-        0  )
-	;;	
-	
-	* )
-	echo "Improper counts"
-	exit 1
-        ;;
-esac
-
-
-exit 0;
--- a/langtools/test/tools/apt/Scanners/servicesScanner	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-Scanner
--- a/langtools/test/tools/apt/lib/Ignore.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import java.lang.annotation.*;
-
-/**
- * An annotation used to indicate that a test -- a method annotated
- * with @Test -- should not be executed.
- *
- * @author Scott Seligman
- */
-@Target(ElementType.METHOD)
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Ignore {
-
-    /**
-     * Reason for ignoring this test.
-     */
-    String value() default "";
-}
--- a/langtools/test/tools/apt/lib/Test.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import java.lang.annotation.*;
-
-/**
- * An annotation used to indicate that a method constitutes a test,
- * and which provides the expected result.  The method must take no parameters.
- *
- * @author Scott Seligman
- */
-@Target(ElementType.METHOD)
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Test {
-
-    /**
-     * An array containing the method's expected result (or
-     * elements of the result if the return type is a Collection).
-     * Value is ignored if return type is void.
-     * Entries are converted to strings via {@link String#valueOf(Object)}.
-     */
-    String[] result() default {};
-
-    /**
-     * True if the order of the elements in result() is significant.
-     */
-    boolean ordered() default false;
-}
--- a/langtools/test/tools/apt/lib/TestProcessor.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import java.lang.reflect.Method;
-import java.util.*;
-import com.sun.mirror.apt.*;
-
-
-/**
- * Annotation processor for the @Test annotation.
- * Invokes each method so annotated, and verifies the result.
- * Throws an Error on failure.
- *
- * @author Scott Seligman
- */
-public class TestProcessor implements AnnotationProcessor {
-
-    AnnotationProcessorEnvironment env;
-
-    // The tester that's running.
-    Tester tester = Tester.activeTester;
-
-    TestProcessor(AnnotationProcessorEnvironment env,
-                  Tester tester) {
-        this.env = env;
-        this.tester = tester;
-    }
-
-
-    /**
-     * Reflectively invoke the @Test-annotated methods of the live
-     * tester.  Those methods perform the actual exercising of the
-     * mirror API.  Then back here to verify the results by
-     * reading the live annotations.  Convoluted, you say?
-     */
-    public void process() {
-        System.out.printf("\n> Processing %s\n", tester.getClass());
-
-        boolean failed = false;         // true if a test returns wrong result
-
-        for (Method m : tester.getClass().getDeclaredMethods()) {
-            Test anno = m.getAnnotation(Test.class);
-            Ignore ignore = m.getAnnotation(Ignore.class);
-            if (anno != null) {
-                if (ignore == null) {
-                    System.out.println(">> Invoking test " + m.getName());
-                    Object result;
-                    try {
-                        result = m.invoke(tester);
-                    } catch (Exception e) {
-                        throw new Error("Test invocation failed", e);
-                    }
-                    boolean ok = true;  // result of this test
-                    if (Collection.class.isAssignableFrom(m.getReturnType())) {
-                        ok = verifyResults((Collection) result,
-                                           anno.result(), anno.ordered());
-                    } else if (m.getReturnType() != void.class) {
-                        ok = verifyResult(result, anno.result());
-                    }
-                    if (!ok) {
-                        System.out.println(">>> Expected: " + anno);
-                        System.out.println(">>> Got: " + result);
-                        failed = true;
-                    }
-                } else {
-                    System.out.println(">> Ignoring test " + m.getName());
-                    if (ignore.value().length() > 0) {
-                        System.out.println(">>> Reason: " + ignore.value());
-                    }
-                }
-            }
-        }
-        if (failed) {
-            throw new Error("Test(s) returned unexpected result");
-        }
-    }
-
-    /**
-     * Verify that a single-valued (non-Collection) result matches
-     * its expected value.
-     */
-    private boolean verifyResult(Object result, String[] expected) {
-        assert expected.length == 1 :
-            "Single-valued test expecting " + expected.length + " results";
-        return expected[0].equals(String.valueOf(result));
-    }
-
-    /**
-     * Verify that a multi-valued result (a Collection) matches
-     * its expected values.
-     */
-    private boolean verifyResults(Collection result,
-                                  String[] expected, boolean ordered) {
-        if (result.size() != expected.length) {
-            return false;
-        }
-
-        // Convert result to an array of strings.
-        String[] res = new String[result.size()];
-        int i = 0;
-        for (Object e : result) {
-            res[i++] = String.valueOf(e);
-        }
-
-        if (!ordered) {
-            Arrays.sort(res);
-            Arrays.sort(expected);
-        }
-        return Arrays.equals(res, expected);
-    }
-}
--- a/langtools/test/tools/apt/lib/TestProcessorFactory.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-import java.util.*;
-import com.sun.mirror.apt.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.util.*;
-
-
-/**
- * A factory for generating the TestProcessor annotation processor, which
- * processes the @Test annotation.
- *
- * @author Scott Seligman
- */
-public class TestProcessorFactory implements AnnotationProcessorFactory {
-
-    public Collection<String> supportedOptions() {
-        return new ArrayList<String>();
-    }
-
-    public Collection<String> supportedAnnotationTypes() {
-        ArrayList<String> res = new ArrayList<String>();
-        res.add("Test");
-        res.add("Ignore");
-        return res;
-    }
-
-    public AnnotationProcessor getProcessorFor(
-                                        Set<AnnotationTypeDeclaration> as,
-                                        AnnotationProcessorEnvironment env) {
-        // The tester that's running.
-        Tester tester = Tester.activeTester;
-
-        try {
-            // Find the tester's class declaration.
-            ClassDeclaration testerDecl = null;
-            for (TypeDeclaration decl : env.getSpecifiedTypeDeclarations()) {
-                if (decl.getQualifiedName().equals(
-                                               tester.getClass().getName())) {
-                    testerDecl = (ClassDeclaration) decl;
-                    break;
-                }
-            }
-
-            // Give the tester access to its own declaration and to the env.
-            tester.thisClassDecl = testerDecl;
-            tester.env = env;
-
-            // Initializer the tester.
-            tester.init();
-
-            return new TestProcessor(env, tester);
-
-        } catch (Exception e) {
-            throw new Error("Couldn't create test annotation processor", e);
-        }
-    }
-}
--- a/langtools/test/tools/apt/lib/Tester.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-/*
- * A utility used to invoke and test the apt tool.
- * Tests should subclass Tester, and invoke run().
- *
- * @author Scott Seligman
- */
-
-import java.io.*;
-import java.util.*;
-import com.sun.mirror.apt.*;
-import com.sun.mirror.declaration.*;
-
-
-public abstract class Tester {
-
-    /**
-     * The declaration corresponding to this tester's class.  Set by
-     * TestProcessorFactory after the constructor completes, and
-     * before init() is invoked.
-     */
-    ClassDeclaration thisClassDecl;
-
-    /**
-     * The environment for this apt run.  Set by TestProcessorFactory
-     * after the constructor completes, and before init() is invoked.
-     */
-    AnnotationProcessorEnvironment env;
-
-
-    // TestProcessorFactory looks here to find the tester that's running
-    // when it's invoked.
-    static Tester activeTester;
-
-    private static final String[] DEFAULT_ARGS = {
-        "-nocompile",
-        "-XPrintAptRounds",
-        "-XListDeclarations",
-    };
-    private static final String[] NO_STRINGS = {};
-
-    // Force processor and factory to be compiled
-    private static Class dummy = TestProcessorFactory.class;
-
-    private final String testSrc =     System.getProperty("test.src",     ".");
-    private final String testClasses = System.getProperty("test.classes", ".");
-
-    // apt command-line args
-    private String[] args;
-
-
-    static {
-        // Enable assertions in the unnamed package.
-        ClassLoader loader = Tester.class.getClassLoader();
-        if (loader != null) {
-            loader.setPackageAssertionStatus(null, true);
-        }
-    }
-
-
-    protected Tester(String... additionalArgs) {
-        String sourceFile = testSrc + File.separator +
-                            getClass().getName() + ".java";
-
-        ArrayList<String> as = new ArrayList<String>();
-        Collections.addAll(as, DEFAULT_ARGS);
-        as.add("-sourcepath");  as.add(testSrc);
-        as.add("-factory");     as.add(TestProcessorFactory.class.getName());
-        Collections.addAll(as, additionalArgs);
-        as.add(sourceFile);
-        args = as.toArray(NO_STRINGS);
-    }
-
-    /**
-     * Run apt.
-     */
-    protected void run() {
-        activeTester = this;
-        if (com.sun.tools.apt.Main.process(args) != 0) {
-            throw new Error("apt errors encountered.");
-        }
-    }
-
-    /**
-     * Called after thisClassDecl and env have been set, but before any
-     * tests are run, to allow the tester subclass to perform any
-     * needed initialization.
-     */
-    protected void init() {
-    }
-
-    /**
-     * Returns the declaration of a named method in this class.  If this
-     * method name is overloaded, one method is chosen arbitrarily.
-     * Returns null if no method is found.
-     */
-    protected MethodDeclaration getMethod(String methodName) {
-        for (MethodDeclaration m : thisClassDecl.getMethods()) {
-            if (methodName.equals(m.getSimpleName())) {
-                return m;
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Returns the declaration of a named field in this class.
-     * Returns null if no field is found.
-     */
-    protected FieldDeclaration getField(String fieldName) {
-        for (FieldDeclaration f : thisClassDecl.getFields()) {
-            if (fieldName.equals(f.getSimpleName())) {
-                return f;
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Returns the annotation mirror of a given type on a named method
-     * in this class.  If this method name is overloaded, one method is
-     * chosen arbitrarily.  Returns null if no appropriate annotation
-     * is found.
-     */
-    protected AnnotationMirror getAnno(String methodName, String annoType) {
-        MethodDeclaration m = getMethod(methodName);
-        if (m != null) {
-            TypeDeclaration at = env.getTypeDeclaration(annoType);
-            for (AnnotationMirror a : m.getAnnotationMirrors()) {
-                if (at == a.getAnnotationType().getDeclaration()) {
-                    return a;
-                }
-            }
-        }
-        return null;
-    }
-}
--- a/langtools/test/tools/apt/mirror/declaration/AnnoMirror.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +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 5014539
- * @summary Tests AnnotationMirror and AnnotationValue methods.
- * @library ../../lib
- * @compile -source 1.5 AnnoMirror.java
- * @run main/othervm AnnoMirror
- */
-
-
-import java.util.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-
-
-public class AnnoMirror extends Tester {
-
-    public static void main(String[] args) {
-        (new AnnoMirror()).run();
-    }
-
-
-    @Test(result={"AT1"})
-    @AT1
-    AnnotationType getAnnotationType() {
-        AnnotationMirror anno = getAnno("getAnnotationType", "AT1");
-        return anno.getAnnotationType();
-    }
-
-    @Test(result={})
-    @AT1
-    Set getElementValuesNone() {
-        AnnotationMirror anno = getAnno("getElementValuesNone", "AT1");
-        return anno.getElementValues().entrySet();
-    }
-
-
-    // The seemingly out-of-place parens in the following "result"
-    // entry are needed due to the shortcut of having the test return
-    // the entry set directly.
-    @Test(result={"i()=2",
-                  "b()=true",
-                  "k()=java.lang.Boolean.class",
-                  "a()=@AT1"})
-    @AT2(i = 1+1,
-         b = true,
-         k = Boolean.class,
-         a = @AT1)
-    Set getElementValues() {
-        AnnotationMirror anno = getAnno("getElementValues", "AT2");
-        return anno.getElementValues().entrySet();
-    }
-
-    @Test(result={"@AT1(\"zax\")",
-                  "@AT2(i=2, b=true, k=java.lang.Boolean.class, a=@AT1)",
-                  "@AT3(arr={1})",
-                  "@AT4({2, 3, 4})"})
-    Collection<AnnotationMirror> toStringTests() {
-        for (MethodDeclaration m : thisClassDecl.getMethods()) {
-            if (m.getSimpleName().equals("toStringTestsHelper")) {
-                return m.getAnnotationMirrors();
-            }
-        }
-        throw new AssertionError();
-    }
-
-    @AT1("zax")
-    @AT2(i = 1+1,
-         b = true,
-         k = Boolean.class,
-         a = @AT1)
-    @AT3(arr={1})
-    @AT4({2,3,4})
-    private void toStringTestsHelper() {
-    }
-}
-
-
-/*
- * Annotations used for testing.
- */
-
-@interface AT1 {
-    String value() default "";
-}
-
-@interface AT2 {
-    int i();
-    boolean b();
-    Class k();
-    AT1 a();
-}
-
-@interface AT3 {
-    int[] arr();
-}
-
-@interface AT4 {
-    int[] value();
-}
--- a/langtools/test/tools/apt/mirror/declaration/AnnoTypeDecl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +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 5014539
- * @summary AnnotationTypeDeclaration tests
- * @library ../../lib
- * @compile -source 1.5 AnnoTypeDecl.java
- * @run main/othervm AnnoTypeDecl
- */
-
-
-import java.util.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-
-public class AnnoTypeDecl extends Tester {
-
-    public static void main(String[] args) {
-        (new AnnoTypeDecl()).run();
-    }
-
-
-    private AnnotationTypeDeclaration at;
-
-    protected void init() {
-        at = (AnnotationTypeDeclaration) env.getTypeDeclaration("AT");
-    }
-
-
-    // Declaration methods
-
-    @Test(result="annotation type")
-    Collection<String> accept() {
-        final Collection<String> res = new ArrayList<String>();
-
-        at.accept(new SimpleDeclarationVisitor() {
-            public void visitTypeDeclaration(TypeDeclaration t) {
-                res.add("type");
-            }
-            public void visitClassDeclaration(ClassDeclaration c) {
-                res.add("class");
-            }
-            public void visitInterfaceDeclaration(InterfaceDeclaration i) {
-                res.add("interface");
-            }
-            public void visitAnnotationTypeDeclaration(
-                                                AnnotationTypeDeclaration a) {
-                res.add("annotation type");
-            }
-        });
-        return res;
-    }
-
-
-    // AnnotationTypeDeclaration methods
-
-    @Test(result={"s()"})
-    Collection<AnnotationTypeElementDeclaration> getMethods() {
-        return at.getMethods();
-    }
-}
-
-
-// An annotation type to use for testing.
-
-@interface AT {
-    String s();
-}
--- a/langtools/test/tools/apt/mirror/declaration/AnnoTypeElemDecl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,194 +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 4993299 5010385 5014539
- * @summary AnnotationTypeElementDeclaration tests
- * @library ../../lib
- * @compile -source 1.5 AnnoTypeElemDecl.java
- * @run main/othervm AnnoTypeElemDecl
- */
-
-
-import java.util.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-
-public class AnnoTypeElemDecl extends Tester {
-
-    public static void main(String[] args) {
-        (new AnnoTypeElemDecl()).run();
-    }
-
-
-    // Some annotation type elements to use.
-    private AnnotationTypeElementDeclaration elem1 = null;      // s()
-    private AnnotationTypeElementDeclaration elem2 = null;      // i()
-    private AnnotationTypeElementDeclaration elem3 = null;      // b()
-
-    protected void init() {
-        for (TypeDeclaration at : thisClassDecl.getNestedTypes()) {
-            for (MethodDeclaration meth : at.getMethods()) {
-                AnnotationTypeElementDeclaration elem =
-                    (AnnotationTypeElementDeclaration) meth;
-                if (elem.getSimpleName().equals("s")) {
-                    elem1 = elem;       // s()
-                } else if (elem.getSimpleName().equals("i")) {
-                    elem2 = elem;       // i()
-                } else {
-                    elem3 = elem;       // b()
-                }
-            }
-        }
-    }
-
-
-    // Declaration methods
-
-    @Test(result="anno type element")
-    Collection<String> accept() {
-        final Collection<String> res = new ArrayList<String>();
-
-        elem1.accept(new SimpleDeclarationVisitor() {
-            public void visitTypeDeclaration(TypeDeclaration t) {
-                res.add("type");
-            }
-            public void visitExecutableDeclaration(ExecutableDeclaration e) {
-                res.add("executable");
-            }
-            public void visitMethodDeclaration(MethodDeclaration m) {
-                res.add("method");
-            }
-            public void visitAnnotationTypeElementDeclaration(
-                                        AnnotationTypeElementDeclaration a) {
-                res.add("anno type element");
-            }
-        });
-        return res;
-    }
-
-    @Test(result={"@AnnoTypeElemDecl.AT2"})
-    Collection<AnnotationMirror> getAnnotationMirrors() {
-        return elem1.getAnnotationMirrors();
-    }
-
-    @Test(result=" Sed Quis custodiet ipsos custodes?\n")
-    String getDocComment() {
-        return elem1.getDocComment();
-    }
-
-    @Test(result={"public", "abstract"})
-    Collection<Modifier> getModifiers() {
-        return elem1.getModifiers();
-    }
-
-    @Test(result="AnnoTypeElemDecl.java")
-    String getPosition() {
-        return elem1.getPosition().file().getName();
-    }
-
-    @Test(result="s")
-    String getSimpleName() {
-        return elem1.getSimpleName();
-    }
-
-
-    // MemberDeclaration method
-
-    @Test(result="AnnoTypeElemDecl.AT1")
-    TypeDeclaration getDeclaringType() {
-        return elem1.getDeclaringType();
-    }
-
-
-    // ExecutableDeclaration methods
-
-    @Test(result={})
-    Collection<TypeParameterDeclaration> getFormalTypeParameters() {
-        return elem1.getFormalTypeParameters();
-    }
-
-    @Test(result={})
-    Collection<ParameterDeclaration> getParameters() {
-        return elem1.getParameters();
-    }
-
-    @Test(result={})
-    Collection<ReferenceType> getThrownTypes() {
-        return elem1.getThrownTypes();
-    }
-
-    @Test(result="false")
-    Boolean isVarArgs() {
-        return elem1.isVarArgs();
-    }
-
-
-    // AnnotationTypeElementDeclaration method
-
-    @Test(result="\"default\"")
-    AnnotationValue getDefaultValue1() {
-        return elem1.getDefaultValue();
-    }
-
-    @Test(result="null")
-    AnnotationValue getDefaultValue2() {
-        return elem2.getDefaultValue();
-    }
-
-    // 5010385: getValue() returns null for boolean type elements
-    @Test(result="false")
-    Boolean getDefaultValue3() {
-        return (Boolean) elem3.getDefaultValue().getValue();
-    }
-
-
-    // toString
-
-    @Test(result="s()")
-    String toStringTest() {
-        return elem1.toString();
-    }
-
-
-    // Declarations used by tests.
-
-    @interface AT1 {
-        /**
-         * Sed Quis custodiet ipsos custodes?
-         */
-        @AT2
-        String s() default "default";
-
-        int i();
-
-        boolean b() default false;
-    }
-
-    @interface AT2 {
-    }
-}
--- a/langtools/test/tools/apt/mirror/declaration/AnnoVal.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,200 +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 5014539 5034991
- * @summary Tests AnnotationValue methods.
- * @library ../../lib
- * @compile -source 1.5 AnnoVal.java
- * @run main/othervm AnnoVal
- */
-
-
-import java.util.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-
-
-public class AnnoVal extends Tester {
-
-    public static void main(String[] args) {
-        (new AnnoVal()).run();
-    }
-
-    @Test(result={
-        "i Integer 2",
-        "l Long 4294967296",
-        "d Double 3.14",
-        "b Boolean true",
-        "c Character @",
-        "s String sigh",
-        // The following results reflect some implementation details.
-        "k ClassTypeImpl java.lang.Boolean",
-        "kb PrimitiveTypeImpl boolean",
-        "ka ArrayTypeImpl java.lang.Boolean[]",
-        "kab ArrayTypeImpl int[][]",
-        "w ClassTypeImpl java.lang.Long",
-        "e EnumConstantDeclarationImpl TYPE",
-        "sa ArrayList [\"up\", \"down\"]",
-        "a AnnotationMirrorImpl @AT1"})
-    @AT2(i = 1 + 1,
-         l = 1024 * 1024 * 1024 * 4L,
-         d = 3.14,
-         b = true,
-         c = '@',
-         s = "sigh",
-         k = Boolean.class,
-         kb = boolean.class,
-         ka = Boolean[].class,          // bugid 5020899
-         kab = int[][].class,           //      "
-         w = Long.class,
-         e = java.lang.annotation.ElementType.TYPE,
-         sa = {"up", "down"},
-         a = @AT1)
-    Collection<String> getValue() {
-        Collection<String> res = new ArrayList<String>();
-        AnnotationMirror anno = getAnno("getValue", "AT2");
-
-        for (Map.Entry<AnnotationTypeElementDeclaration, AnnotationValue> e :
-                 anno.getElementValues().entrySet()) {
-            Object val = e.getValue().getValue();
-            res.add(String.format("%s %s %s",
-                                  e.getKey().getSimpleName(),
-                                  simpleClassName(val),
-                                  val));
-        }
-        return res;
-    }
-
-    @Test(result={
-        "int i 2",
-        "long l 4294967296L",
-        "double d 3.14",
-        "boolean b true",
-        "char c '@'",
-        "java.lang.String s \"sigh\"",
-        "java.lang.Class k java.lang.Boolean.class",
-        "java.lang.Class kb boolean.class",
-        "java.lang.Class ka java.lang.Boolean[].class",
-        "java.lang.Class kab int[][].class",
-        "java.lang.Class<? extends java.lang.Number> w java.lang.Long.class",
-        "java.lang.annotation.ElementType e java.lang.annotation.ElementType.TYPE",
-        "java.lang.String[] sa {\"up\", \"down\"}",
-        "AT1 a @AT1"})
-    Collection<String> toStringTests() {
-        Collection<String> res = new ArrayList<String>();
-        AnnotationMirror anno = getAnno("getValue", "AT2");
-
-        for (Map.Entry<AnnotationTypeElementDeclaration,AnnotationValue> e :
-                 anno.getElementValues().entrySet()) {
-            res.add(String.format("%s %s %s",
-                                  e.getKey().getReturnType(),
-                                  e.getKey().getSimpleName(),
-                                  e.getValue().toString()));
-        }
-        return res;
-    }
-
-    @Test(result={
-        "byte b 0x0b",
-        "float f 3.0f",
-        "double nan 0.0/0.0",
-        "double hi 1.0/0.0",
-        "float lo -1.0f/0.0f",
-        "char newline '\\n'",
-        "char ff '\\u00ff'",
-        "java.lang.String s \"\\\"high\\tlow\\\"\"",
-        "java.lang.String smiley \"\\u263a\""})
-    @AT3(b = 11,
-         f = 3,
-         nan = 0.0/0.0,
-         hi = 1.0/0.0,
-         lo = -1.0f/0.0f,
-         newline = '\n',
-         ff = '\u00FF',
-         s = "\"high\tlow\"",
-         smiley = "\u263A")
-    Collection<String> toStringFancy() {
-        Collection<String> res = new ArrayList<String>();
-        AnnotationMirror anno = getAnno("toStringFancy", "AT3");
-
-        for (Map.Entry<AnnotationTypeElementDeclaration,AnnotationValue> e :
-                 anno.getElementValues().entrySet()) {
-            res.add(String.format("%s %s %s",
-                                  e.getKey().getReturnType(),
-                                  e.getKey().getSimpleName(),
-                                  e.getValue().toString()));
-        }
-        return res;
-    }
-
-
-    /**
-     * Returns the simple name of an object's class.
-     */
-    private String simpleClassName(Object o) {
-        return (o == null)
-            ? "null"
-            : o.getClass().getName().replaceFirst(".*\\.", "");
-    }
-}
-
-
-/*
- * Annotations used for testing.
- */
-
-@interface AT1 {
-    String value() default "";
-}
-
-@interface AT2 {
-    int i();
-    long l();
-    double d();
-    boolean b();
-    char c();
-    String s();
-    Class k();
-    Class kb();
-    Class ka();
-    Class kab();
-    Class<? extends Number> w();
-    java.lang.annotation.ElementType e();
-    String[] sa();
-    AT1 a();
-}
-
-@interface AT3 {
-    byte b();
-    float f();
-    double nan();
-    double hi();
-    float lo();
-    char newline();
-    char ff();
-    String s();
-    String smiley();
-}
--- a/langtools/test/tools/apt/mirror/declaration/ClassDecl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -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<T> 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<String> accept() {
-        final Collection<String> res = new ArrayList<String>();
-
-        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<AnnotationMirror> getAnnotationMirrors() {
-        return thisClassDecl.getAnnotationMirrors();
-    }
-
-    @Test(result=" Sed Quis custodiet ipsos custodes?\n")
-    String getDocComment() {
-        return thisClassDecl.getDocComment();
-    }
-
-    @Test(result={"public"})
-    Collection<Modifier> 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<Modifier> 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<FieldDeclaration> getFields() {
-        return thisClassDecl.getFields();
-    }
-
-    @Test(result={})
-    Collection<TypeParameterDeclaration> getFormalTypeParameters1() {
-        return thisClassDecl.getFormalTypeParameters();
-    }
-
-    @Test(result="T")
-    Collection<TypeParameterDeclaration> getFormalTypeParameters2() {
-        return nested.getFormalTypeParameters();
-    }
-
-    @Test(result="ClassDecl.NestedClass<T>")
-    Collection<TypeDeclaration> 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<InterfaceType> getSuperinterfaces() {
-        return nested.getSuperinterfaces();
-    }
-
-
-    // ClassDeclaration methods
-
-    @Test(result={"ClassDecl()", "ClassDecl(int)"})
-    Collection<ConstructorDeclaration> getConstructors1() {
-        return thisClassDecl.getConstructors();
-    }
-
-    // Check for default constructor.
-    // 4997614: visitConstructionDeclaration reports info when there is no ctor
-    @Test(result={"NestedClass()"})
-    Collection<ConstructorDeclaration> getConstructors2() {
-        return nested.getConstructors();
-    }
-
-    @Test(result={"m1()", "m2()", "m2(int)"})
-    Collection<MethodDeclaration> 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 {
-}
--- a/langtools/test/tools/apt/mirror/declaration/ConstExpr.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +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 5027675 5048535
- * @summary Tests FieldDeclaration.getConstantExpression method
- * @library ../../lib
- * @compile -source 1.5 ConstExpr.java
- * @run main/othervm ConstExpr
- */
-
-
-import java.math.RoundingMode;
-import java.util.*;
-
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-import static java.math.RoundingMode.UP;
-
-import static com.sun.mirror.util.DeclarationVisitors.*;
-
-
-public class ConstExpr extends Tester {
-
-    public static void main(String[] args) {
-        (new ConstExpr()).run();
-    }
-
-
-    // Declarations used by tests
-
-    public static final byte B = (byte) 0xBE;
-    public static final short S = (short) 32767;
-    public static final int I = -4;
-    public static final long l = 4294967296L;
-    public static final float f = 3.5f;
-    public static final double PI = Math.PI;
-    public static final char C = 'C';
-    public static final String STR = "cheese";
-
-    public static final char SMILEY = '\u263A';
-    public static final String TWOLINES = "ab\ncd";
-
-    public static final double D1 = Double.POSITIVE_INFINITY;
-    public static final double D2 = Double.NEGATIVE_INFINITY;
-    public static final double D3 = Double.NaN;
-    public static final float  F1 = Float.POSITIVE_INFINITY;
-    public static final float  F2 = Float.NEGATIVE_INFINITY;
-    public static final float  F3 = Float.NaN;
-
-    public static final String NOSTR = null;    // not a compile-time constant
-    public static final RoundingMode R = UP;    // not a compile-time constant
-
-
-    @Test(result={
-              "0xbe",
-              "32767",
-              "-4",
-              "4294967296L",
-              "3.5f",
-              "3.141592653589793",
-              "'C'",
-              "\"cheese\"",
-
-              "'\\u263a'",
-              "\"ab\\ncd\"",
-
-              "1.0/0.0",
-              "-1.0/0.0",
-              "0.0/0.0",
-              "1.0f/0.0f",
-              "-1.0f/0.0f",
-              "0.0f/0.0f",
-
-              "null",
-              "null"
-          },
-          ordered=true)
-    Collection<String> getConstantExpression() {
-        final Collection<String> res = new ArrayList<String>();
-
-        thisClassDecl.accept(
-            DeclarationVisitors.getSourceOrderDeclarationScanner(
-                NO_OP,
-                new SimpleDeclarationVisitor() {
-                    public void visitFieldDeclaration(FieldDeclaration f) {
-                        res.add(f.getConstantExpression());
-                    }
-                }));
-        return res;
-    }
-}
--- a/langtools/test/tools/apt/mirror/declaration/ConstructorDecl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,199 +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 4993299
- * @summary ConstructorDeclaration tests
- * @library ../../lib
- * @compile -source 1.5 ConstructorDecl.java
- * @run main/othervm ConstructorDecl
- */
-
-
-import java.util.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-
-public class ConstructorDecl extends Tester {
-
-    /**
-     * Sed Quis custodiet ipsos custodes?
-     */
-    @AT1
-    public ConstructorDecl() {
-    }
-
-
-    public static void main(String[] args) {
-        (new ConstructorDecl()).run();
-    }
-
-
-    private ConstructorDeclaration ctor = null;         // a constructor
-    private ConstructorDeclaration ctorDef = null;      // a default c'tor
-    private ConstructorDeclaration ctorInner = null;    // an inner class c'tor
-
-    protected void init() {
-        ctor = getAConstructor(thisClassDecl);
-        ctorDef = getAConstructor((ClassDeclaration)
-                                  env.getTypeDeclaration("C1"));
-        ctorInner = getAConstructor((ClassDeclaration)
-                                    env.getTypeDeclaration("C1.C2"));
-    }
-
-    // Return a constructor of a class.
-    private ConstructorDeclaration getAConstructor(ClassDeclaration c) {
-        return c.getConstructors().iterator().next();
-    }
-
-
-    // Declaration methods
-
-    @Test(result="constructor")
-    Collection<String> accept() {
-        final Collection<String> res = new ArrayList<String>();
-
-        ctor.accept(new SimpleDeclarationVisitor() {
-            public void visitTypeDeclaration(TypeDeclaration t) {
-                res.add("type");
-            }
-            public void visitExecutableDeclaration(ExecutableDeclaration e) {
-                res.add("executable");
-            }
-            public void visitConstructorDeclaration(ConstructorDeclaration c) {
-                res.add("constructor");
-            }
-        });
-        return res;
-    }
-
-    @Test(result={"@AT1"})
-    Collection<AnnotationMirror> getAnnotationMirrors() {
-        return ctor.getAnnotationMirrors();
-    }
-
-    @Test(result=" Sed Quis custodiet ipsos custodes?\n")
-    String getDocComment() {
-        return ctor.getDocComment();
-    }
-
-    @Test(result={"public"})
-    Collection<Modifier> getModifiers() {
-        return ctor.getModifiers();
-    }
-
-    @Test(result="ConstructorDecl.java")
-    String getPosition() {
-        return ctor.getPosition().file().getName();
-    }
-
-    @Test(result="ConstructorDecl.java")
-    String getPositionDefault() {
-        return ctorDef.getPosition().file().getName();
-    }
-
-    @Test(result="ConstructorDecl")
-    String getSimpleName() {
-        return ctor.getSimpleName();
-    }
-
-    @Test(result="C2")
-    String getSimpleNameInner() {
-        return ctorInner.getSimpleName();
-    }
-
-
-    // MemberDeclaration method
-
-    @Test(result="ConstructorDecl")
-    TypeDeclaration getDeclaringType() {
-        return ctor.getDeclaringType();
-    }
-
-
-    // ExecutableDeclaration methods
-
-    @Test(result={})
-    Collection<TypeParameterDeclaration> getFormalTypeParameters1() {
-        return ctor.getFormalTypeParameters();
-    }
-
-    @Test(result={"N extends java.lang.Number"})
-    Collection<TypeParameterDeclaration> getFormalTypeParameters2() {
-        return ctorInner.getFormalTypeParameters();
-    }
-
-    @Test(result={})
-    Collection<ParameterDeclaration> getParameters1() {
-        return ctor.getParameters();
-    }
-
-    // 4993299: verify synthetic parameters to inner class constructors
-    //          aren't visible
-    @Test(result={"N n1", "N n2", "java.lang.String[] ss"},
-          ordered=true)
-    Collection<ParameterDeclaration> getParameters2() {
-        return ctorInner.getParameters();
-    }
-
-    @Test(result={"java.lang.Throwable"})
-    Collection<ReferenceType> getThrownTypes() {
-        return ctorInner.getThrownTypes();
-    }
-
-    @Test(result="false")
-    Boolean isVarArgs1() {
-        return ctor.isVarArgs();
-    }
-
-    @Test(result="true")
-    Boolean isVarArgs2() {
-        return ctorInner.isVarArgs();
-    }
-
-
-    // toString
-
-    @Test(result="<N extends java.lang.Number> C2(N, N, String...)")
-    @Ignore("This is what it would be nice to see.")
-    String toStringTest() {
-        return ctorInner.toString();
-    }
-}
-
-
-// Classes and interfaces used for testing.
-
-class C1 {
-    class C2 {
-        <N extends Number> C2(N n1, N n2, String... ss) throws Throwable {
-        }
-    }
-}
-
-@interface AT1 {
-}
--- a/langtools/test/tools/apt/mirror/declaration/EnumDecl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +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 4989987 5010050
- * @summary EnumDeclaration tests
- * @library ../../lib
- * @compile -source 1.5 EnumDecl.java
- * @run main/othervm EnumDecl
- */
-
-
-import java.util.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-
-public class EnumDecl extends Tester {
-
-    public static void main(String[] args) {
-        (new EnumDecl()).run();
-    }
-
-
-    private EnumDeclaration eDecl;
-
-    protected void init() {
-        eDecl = (EnumDeclaration) env.getTypeDeclaration("E");
-    }
-
-
-    // Declaration methods
-
-    @Test(result="enum")
-    Collection<String> accept() {
-        final Collection<String> res = new ArrayList<String>();
-
-        eDecl.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;
-    }
-
-
-    // ClassDeclaration methods
-
-    // 4989987: Verify synthetic enum constructor parameters are not visible
-    @Test(result={"E(java.lang.String)"})
-    Collection<ConstructorDeclaration> getConstructors() {
-        return eDecl.getConstructors();
-    }
-
-    // 4989987: Verify synthetic enum constructor parameters are not visible
-    @Test(result={"java.lang.String color"})
-    Collection<ParameterDeclaration> getConstructorParams() {
-        return eDecl.getConstructors().iterator().next().getParameters();
-    }
-
-    @Test(result={"values()", "valueOf(java.lang.String)"})
-    Collection<MethodDeclaration> getMethods() {
-        return eDecl.getMethods();
-    }
-
-    // 5010050: Cannot find parameter names for valueOf(String name) method...
-    @Test(result={"java.lang.String name"})
-    Collection<ParameterDeclaration> getMethodParams() {
-        for (MethodDeclaration m : eDecl.getMethods()) {
-            if (m.getSimpleName().equals("valueOf")) {
-                return m.getParameters();
-            }
-        }
-        throw new AssertionError();
-    }
-
-
-    // EnumDeclaration methods
-
-    @Test(result={"stop", "slow", "go"})
-    Collection<EnumConstantDeclaration> getEnumConstants() {
-        return eDecl.getEnumConstants();
-    }
-}
-
-
-// An enum to use for testing.
-
-enum E {
-    stop("red"),
-    slow("amber"),
-    go("green");
-
-    private String color;
-    E(String color) {
-        this.color = color;
-    }
-}
--- a/langtools/test/tools/apt/mirror/declaration/FieldDecl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +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 5008309
- * @summary FieldDeclaration tests
- * @library ../../lib
- * @compile -source 1.5 FieldDecl.java
- * @run main/othervm FieldDecl
- */
-
-
-import java.util.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-
-public class FieldDecl extends Tester {
-
-    public static void main(String[] args) {
-        (new FieldDecl()).run();
-    }
-
-
-    private FieldDeclaration f1 = null;         // a field
-    private FieldDeclaration f2 = null;         // a static field
-    private FieldDeclaration f3 = null;         // a constant field
-
-    protected void init() {
-        f1 = getField("aField");
-        f2 = getField("aStaticField");
-        f3 = getField("aConstantField");
-    }
-
-
-    // Declaration methods
-
-    @Test(result="field")
-    Collection<String> accept() {
-        final Collection<String> res = new ArrayList<String>();
-
-        f1.accept(new SimpleDeclarationVisitor() {
-            public void visitTypeDeclaration(TypeDeclaration t) {
-                res.add("type");
-            }
-            public void visitFieldDeclaration(FieldDeclaration f) {
-                res.add("field");
-            }
-            public void visitEnumConstantDeclaration(
-                                                EnumConstantDeclaration e) {
-                res.add("enum const");
-            }
-        });
-        return res;
-    }
-
-    @Test(result={"@FieldDecl.AT1"})
-    Collection<AnnotationMirror> getAnnotationMirrors() {
-        return f1.getAnnotationMirrors();
-    }
-
-    @Test(result=" Sed Quis custodiet ipsos custodes?\n")
-    String getDocComment() {
-        return f1.getDocComment();
-    }
-
-    @Test(result={"public"})
-    Collection<Modifier> getModifiers() {
-        return f1.getModifiers();
-    }
-
-    @Test(result="FieldDecl.java")
-    String getPosition() {
-        return f1.getPosition().file().getName();
-    }
-
-    @Test(result="aField")
-    String getSimpleName() {
-        return f1.getSimpleName();
-    }
-
-
-    // MemberDeclaration method
-
-    @Test(result="FieldDecl")
-    TypeDeclaration getDeclaringType() {
-        return f1.getDeclaringType();
-    }
-
-
-    // FieldDeclaration methods
-
-    @Test(result="java.util.List<java.lang.String>")
-    TypeMirror getType1() {
-        return f1.getType();
-    }
-
-    @Test(result="int")
-    TypeMirror getType2() {
-        return f2.getType();
-    }
-
-    @Test(result="null")
-    Object getConstantValue1() {
-        return f1.getConstantValue();
-    }
-
-    // 5008309: FieldDeclaration.getConstantValue() doesn't return anything
-    @Test(result="true")
-    Object getConstantValue2() {
-        return f3.getConstantValue();
-    }
-
-
-    // toString
-
-    @Test(result="aField")
-    String toStringTest() {
-        return f1.toString();
-    }
-
-
-    // Declarations used by tests.
-
-    /**
-     * Sed Quis custodiet ipsos custodes?
-     */
-    @AT1
-    public List<String> aField = new ArrayList<String>();
-
-    static int aStaticField;
-
-    public static final boolean aConstantField = true;
-
-
-    @interface AT1 {
-    }
-}
--- a/langtools/test/tools/apt/mirror/declaration/GetAnno.java	Thu Feb 16 13:01:46 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();
-    }
-}
--- a/langtools/test/tools/apt/mirror/declaration/InterfaceDecl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,243 +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 4993303 5004618 5010746
- * @summary InterfaceDeclaration tests
- * @library ../../lib
- * @compile -source 1.5 InterfaceDecl.java
- * @run main/othervm InterfaceDecl
- */
-
-
-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 InterfaceDecl extends Tester {
-
-    public static void main(String[] args) {
-        (new InterfaceDecl()).run();
-    }
-
-
-    private InterfaceDeclaration iDecl = null;          // an interface
-    private InterfaceDeclaration nested = null;         // a nested interface
-
-    protected void init() {
-        iDecl = (InterfaceDeclaration) env.getTypeDeclaration("I");
-        nested = (InterfaceDeclaration)
-            iDecl.getNestedTypes().iterator().next();
-    }
-
-
-    // Declaration methods
-
-    @Test(result="interface")
-    Collection<String> accept() {
-        final Collection<String> res = new ArrayList<String>();
-
-        iDecl.accept(new SimpleDeclarationVisitor() {
-            public void visitTypeDeclaration(TypeDeclaration t) {
-                res.add("type");
-            }
-            public void visitClassDeclaration(ClassDeclaration c) {
-                res.add("class");
-            }
-            public void visitInterfaceDeclaration(InterfaceDeclaration e) {
-                res.add("interface");
-            }
-            public void visitAnnotationTypeDeclaration(
-                                        AnnotationTypeDeclaration e) {
-                res.add("annotation type");
-            }
-        });
-        return res;
-    }
-
-    @Test(result="true")
-    boolean equals1() {
-        return iDecl.equals(iDecl);
-    }
-
-    @Test(result="false")
-    boolean equals2() {
-        return iDecl.equals(nested);
-    }
-
-    @Test(result="true")
-    boolean equals3() {
-        return iDecl.equals(env.getTypeDeclaration("I"));
-    }
-
-
-    @Test(result={"@AT1", "@AT2"})
-    Collection<AnnotationMirror> getAnnotationMirrors() {
-        return iDecl.getAnnotationMirrors();
-    }
-
-    @Test(result=" Sed Quis custodiet ipsos custodes?\n")
-    String getDocComment() {
-        return iDecl.getDocComment();
-    }
-
-    // Check that interface has "abstract" modifier, even though it's implict
-    // in the source code.
-    @Test(result={"abstract"})
-    Collection<Modifier> getModifiers1() {
-        return iDecl.getModifiers();
-    }
-
-    // Check that nested interface has "static" modifier, even though
-    // it's implicit in the source code and the VM doesn't set that bit.
-    @Test(result={"public", "abstract", "static"})
-    Collection<Modifier> getModifiers2() {
-        return nested.getModifiers();
-    }
-
-    @Test(result="InterfaceDecl.java")
-    String getPosition() {
-        return iDecl.getPosition().file().getName();
-    }
-
-    @Test(result="I")
-    String getSimpleName1() {
-        return iDecl.getSimpleName();
-    }
-
-    @Test(result="Nested")
-    String getSimpleName2() {
-        return nested.getSimpleName();
-    }
-
-
-    // MemberDeclaration method
-
-    @Test(result="null")
-    TypeDeclaration getDeclaringType1() {
-        return iDecl.getDeclaringType();
-    }
-
-    @Test(result="I<T extends java.lang.Number>")
-    TypeDeclaration getDeclaringType2() {
-        return nested.getDeclaringType();
-    }
-
-
-    // TypeDeclaration methods
-
-    @Test(result={"i"})
-    Collection<FieldDeclaration> getFields() {
-        return iDecl.getFields();
-    }
-
-    @Test(result={"T extends java.lang.Number"})
-    Collection<TypeParameterDeclaration> getFormalTypeParameters1() {
-        return iDecl.getFormalTypeParameters();
-    }
-
-    @Test(result={})
-    Collection<TypeParameterDeclaration> getFormalTypeParameters2() {
-        return nested.getFormalTypeParameters();
-    }
-
-    // 4993303: verify policy on Object methods being visible
-    @Test(result={"m()", "toString()"})
-    Collection<? extends MethodDeclaration> getMethods() {
-        return nested.getMethods();
-    }
-
-    @Test(result="I.Nested")
-    Collection<TypeDeclaration> getNestedTypes() {
-        return iDecl.getNestedTypes();
-    }
-
-    @Test(result="")
-    PackageDeclaration getPackage1() {
-        return iDecl.getPackage();
-    }
-
-    @Test(result="java.util")
-    PackageDeclaration getPackage2() {
-        InterfaceDeclaration set =
-            (InterfaceDeclaration) env.getTypeDeclaration("java.util.Set");
-        return set.getPackage();
-    }
-
-    @Test(result="I")
-    String getQualifiedName1() {
-        return iDecl.getQualifiedName();
-    }
-
-    @Test(result="I.Nested")
-    String getQualifiedName2() {
-        return nested.getQualifiedName();
-    }
-
-    @Test(result="java.util.Set")
-    String getQualifiedName3() {
-        InterfaceDeclaration set =
-            (InterfaceDeclaration) env.getTypeDeclaration("java.util.Set");
-        return set.getQualifiedName();
-    }
-
-    @Test(result="java.lang.Runnable")
-    Collection<InterfaceType> getSuperinterfaces() {
-        return iDecl.getSuperinterfaces();
-    }
-}
-
-
-// Interfaces used for testing.
-
-/**
- * Sed Quis custodiet ipsos custodes?
- */
-@AT1
-@AT2
-interface I<T extends Number> extends Runnable {
-    int i = 6;
-    void m1();
-    void m2();
-    void m2(int j);
-
-    interface Nested {
-        void m();
-        String toString();
-    }
-}
-
-@interface AT1 {
-}
-
-@interface AT2 {
-}
--- a/langtools/test/tools/apt/mirror/declaration/MethodDecl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,244 +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 5010746
- * @summary MethodDeclaration tests
- * @library ../../lib
- * @compile -source 1.5 MethodDecl.java
- * @run main/othervm MethodDecl
- */
-
-
-import java.util.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-
-public class MethodDecl extends Tester {
-
-    public static void main(String[] args) {
-        (new MethodDecl()).run();
-    }
-
-
-    private MethodDeclaration meth1 = null;             // a method
-    private MethodDeclaration meth2 = null;             // another method
-
-    protected void init() {
-        meth1 = getMethod("m1");
-        meth2 = getMethod("m2");
-    }
-
-
-    // Declaration methods
-
-    @Test(result="method")
-    Collection<String> accept() {
-        final Collection<String> res = new ArrayList<String>();
-
-        meth1.accept(new SimpleDeclarationVisitor() {
-            public void visitTypeDeclaration(TypeDeclaration t) {
-                res.add("type");
-            }
-            public void visitExecutableDeclaration(ExecutableDeclaration e) {
-                res.add("executable");
-            }
-            public void visitMethodDeclaration(MethodDeclaration m) {
-                res.add("method");
-            }
-            public void visitAnnotationTypeElementDeclaration(
-                                        AnnotationTypeElementDeclaration a) {
-                res.add("anno type element");
-            }
-        });
-        return res;
-    }
-
-    @Test(result={"@AT1"})
-    Collection<AnnotationMirror> getAnnotationMirrors() {
-        return meth1.getAnnotationMirrors();
-    }
-
-    @Test(result=" Sed Quis custodiet ipsos custodes?\n")
-    String getDocComment() {
-        return meth1.getDocComment();
-    }
-
-    @Test(result={"private", "static", "strictfp"})
-    Collection<Modifier> getModifiers() {
-        return meth1.getModifiers();
-    }
-
-    // Interface methods are implicitly public and abstract.
-    @Test(result={"public", "abstract"})
-    Collection<Modifier> getModifiersInterface() {
-        for (TypeDeclaration t : thisClassDecl.getNestedTypes()) {
-            for (MethodDeclaration m : t.getMethods()) {
-                return m.getModifiers();
-            }
-        }
-        throw new AssertionError();
-    }
-
-    @Test(result="MethodDecl.java")
-    String getPosition() {
-        return meth1.getPosition().file().getName();
-    }
-
-    @Test(result="m2")
-    String getSimpleName() {
-        return meth2.getSimpleName();
-    }
-
-
-    // MemberDeclaration method
-
-    @Test(result="MethodDecl")
-    TypeDeclaration getDeclaringType() {
-        return meth1.getDeclaringType();
-    }
-
-
-    // ExecutableDeclaration methods
-
-    @Test(result={})
-    Collection<TypeParameterDeclaration> getFormalTypeParameters1() {
-        return meth1.getFormalTypeParameters();
-    }
-
-    @Test(result={"T", "N extends java.lang.Number"},
-          ordered=true)
-    Collection<TypeParameterDeclaration> getFormalTypeParameters2() {
-        return meth2.getFormalTypeParameters();
-    }
-
-    @Test(result={})
-    Collection<ParameterDeclaration> getParameters1() {
-        return meth1.getParameters();
-    }
-
-    @Test(result={"N n", "java.lang.String[] ss"},
-          ordered=true)
-    Collection<ParameterDeclaration> getParameters2() {
-        return meth2.getParameters();
-    }
-
-    @Test(result="true")
-    boolean parameterEquals1() {
-        ParameterDeclaration p1 =
-            getMethod("m3").getParameters().iterator().next();
-        ParameterDeclaration p2 =
-            getMethod("m3").getParameters().iterator().next();
-        return p1.equals(p2);
-    }
-
-    @Test(result="false")
-    boolean parameterEquals2() {
-        ParameterDeclaration p1 =
-            getMethod("m3").getParameters().iterator().next();
-        ParameterDeclaration p2 =
-            getMethod("m4").getParameters().iterator().next();
-        return p1.equals(p2);
-    }
-
-    @Test(result="true")
-    boolean parameterHashCode() {
-        ParameterDeclaration p1 =
-            getMethod("m3").getParameters().iterator().next();
-        ParameterDeclaration p2 =
-            getMethod("m3").getParameters().iterator().next();
-        return p1.hashCode() == p2.hashCode();
-    }
-
-    @Test(result={"java.lang.Throwable"})
-    Collection<ReferenceType> getThrownTypes() {
-        return meth2.getThrownTypes();
-    }
-
-    @Test(result="false")
-    Boolean isVarArgs1() {
-        return meth1.isVarArgs();
-    }
-
-    @Test(result="true")
-    Boolean isVarArgs2() {
-        return meth2.isVarArgs();
-    }
-
-
-    // MethodDeclaration methods
-
-    @Test(result="void")
-    TypeMirror getReturnType1() {
-        return meth1.getReturnType();
-    }
-
-    @Test(result="N")
-    TypeMirror getReturnType2() {
-        return meth2.getReturnType();
-    }
-
-
-    // toString
-
-    @Test(result="<T, N extends java.lang.Number> m2(N, java.lang.String...)")
-    @Ignore("This is what it would be nice to see.")
-    String toStringTest() {
-        return meth2.toString();
-    }
-
-
-    // Declarations used by tests.
-
-    /**
-     * Sed Quis custodiet ipsos custodes?
-     */
-    @AT1
-    private static strictfp void m1() {
-    }
-
-    private <T, N extends Number> N m2(N n, String... ss) throws Throwable {
-        return null;
-    }
-
-    private void m3(String s) {
-    }
-
-    private void m4(String s) {
-    }
-
-    // A nested interface
-    interface I {
-        void m();
-    }
-}
-
-
-// Annotation type used by tests.
-
-@interface AT1 {
-}
--- a/langtools/test/tools/apt/mirror/declaration/PackageDecl.java	Thu Feb 16 13:01:46 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 4853450 5031168
- * @summary PackageDeclaration tests
- * @library ../../lib
- * @compile -source 1.5 PackageDecl.java
- * @run main/othervm PackageDecl
- */
-
-
-import java.io.File;
-import java.util.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-import pkg1.pkg2.*;
-
-
-/**
- * Sed Quis custodiet ipsos custodes?
- */
-public class PackageDecl extends Tester {
-
-    public PackageDecl() {
-        super(System.getProperty("test.src", ".") + File.separator +
-              "pkg1" + File.separator + "package-info.java");
-    }
-
-    public static void main(String[] args) {
-        (new PackageDecl()).run();
-    }
-
-
-    private PackageDeclaration pkg1 = null;             // a package
-    private PackageDeclaration pkg2 = null;             // a subpackage
-
-    protected void init() {
-        pkg1 = env.getPackage("pkg1");
-        pkg2 = env.getPackage("pkg1.pkg2");
-    }
-
-
-    // Declaration methods
-
-    @Test(result="package")
-    Collection<String> accept() {
-        final Collection<String> res = new ArrayList<String>();
-
-        pkg1.accept(new SimpleDeclarationVisitor() {
-            public void visitTypeDeclaration(TypeDeclaration t) {
-                res.add("type");
-            }
-            public void visitPackageDeclaration(PackageDeclaration p) {
-                res.add("package");
-            }
-        });
-        return res;
-    }
-
-    @Test(result={"@pkg1.AnAnnoType"})
-    Collection<AnnotationMirror> getAnnotationMirrors() {
-        return pkg1.getAnnotationMirrors();
-    }
-
-    @Test(result=" Herein lieth the package comment.\n" +
-                 " A doc comment it be, and wonderous to behold.\n")
-    String getDocCommentFromPackageInfoFile() {
-        return pkg1.getDocComment();
-    }
-
-    @Test(result="\nHerein lieth the package comment.\n" +
-                 "An HTML file it be, and wonderous to behold.\n\n")
-    @Ignore("Not yet supported")
-    String getDocCommentFromHtmlFile() {
-        return pkg2.getDocComment();
-    }
-
-    @Test(result={})
-    Collection<Modifier> getModifiers() {
-        return pkg1.getModifiers();
-    }
-
-    @Test(result="null")
-    SourcePosition getPosition() {
-        return thisClassDecl.getPackage().getPosition();
-    }
-
-    @Test(result="package-info.java")
-    String getPositionFromPackageInfoFile() {
-        return pkg1.getPosition().file().getName();
-    }
-
-    @Test(result="pkg1/pkg2/package.html")
-    @Ignore("Not yet supported")
-    String getPositionFromHtmlFile() {
-        return pkg2.getPosition().file().getName()
-                                            .replace(File.separatorChar, '/');
-    }
-
-    @Test(result="pkg1")
-    String getSimpleName1() {
-        return pkg1.getSimpleName();
-    }
-
-    @Test(result="pkg2")
-    String getSimpleName2() {
-        return pkg2.getSimpleName();
-    }
-
-
-    // PackageDeclaration methods
-
-    @Test(result="pkg1.AnAnnoType")
-    Collection<AnnotationTypeDeclaration> getAnnotationTypes() {
-        return pkg1.getAnnotationTypes();
-    }
-
-    @Test(result={"pkg1.AClass", "pkg1.AnEnum"})
-    Collection<ClassDeclaration> getClasses() {
-        return pkg1.getClasses();
-    }
-
-    @Test(result="pkg1.AnEnum")
-    Collection<EnumDeclaration> getEnums() {
-        return pkg1.getEnums();
-    }
-
-    @Test(result={"pkg1.AnInterface", "pkg1.AnAnnoType"})
-    Collection<InterfaceDeclaration> getInterfaces() {
-        return pkg1.getInterfaces();
-    }
-
-    @Test(result="pkg1")
-    String getQualifiedName1() {
-        return pkg1.getQualifiedName();
-    }
-
-    @Test(result="pkg1.pkg2")
-    String getQualifiedName2() {
-        return pkg2.getQualifiedName();
-    }
-}
--- a/langtools/test/tools/apt/mirror/declaration/ParameterDecl.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +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 5031171
- * @summary ParameterDeclaration tests
- * @library ../../lib
- * @run main/othervm ParameterDecl
- */
-
-
-import java.util.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-
-public class ParameterDecl extends Tester {
-
-    public static void main(String[] args) {
-        (new ParameterDecl()).run();
-    }
-
-
-    // Declarations used by tests
-
-    @interface AT1 {
-    }
-
-    @interface AT2 {
-        boolean value();
-    }
-
-    private void m1(@AT1 @AT2(true) final int p1) {
-    }
-
-    private void m2(int p1) {
-    }
-
-
-    private ParameterDeclaration p1 = null;     // a parameter
-
-    protected void init() {
-        p1 = getMethod("m1").getParameters().iterator().next();
-    }
-
-
-    // Declaration methods
-
-    @Test(result="param")
-    Collection<String> accept() {
-        final Collection<String> res = new ArrayList<String>();
-
-        p1.accept(new SimpleDeclarationVisitor() {
-            public void visitFieldDeclaration(FieldDeclaration f) {
-                res.add("field");
-            }
-            public void visitParameterDeclaration(ParameterDeclaration p) {
-                res.add("param");
-            }
-        });
-        return res;
-    }
-
-    @Test(result={"@ParameterDecl.AT1", "@ParameterDecl.AT2(true)"})
-    Collection<AnnotationMirror> getAnnotationMirrors() {
-        return p1.getAnnotationMirrors();
-    }
-
-    @Test(result={"final"})
-    Collection<Modifier> getModifiers() {
-        return p1.getModifiers();
-    }
-
-    @Test(result="ParameterDecl.java")
-    String getPosition() {
-        return p1.getPosition().file().getName();
-    }
-
-    @Test(result="p1")
-    String getSimpleName() {
-        return p1.getSimpleName();
-    }
-
-
-    // ParameterDeclaration methods
-
-    @Test(result="int")
-    TypeMirror getType() {
-        return p1.getType();
-    }
-
-
-    // toString, equals
-
-    @Test(result="int p1")
-    String toStringTest() {
-        return p1.toString();
-    }
-
-    @Test(result="true")
-    boolean equalsTest1() {
-        ParameterDeclaration p =
-            getMethod("m1").getParameters().iterator().next();
-        return p1.equals(p);
-    }
-
-    // Not all p1's are equal.
-    @Test(result="false")
-    boolean equalsTest2() {
-        ParameterDeclaration p2 =
-            getMethod("m2").getParameters().iterator().next();
-        return p1.equals(p2);
-    }
-}
--- a/langtools/test/tools/apt/mirror/declaration/pkg1/AClass.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-package pkg1;
-
-public class AClass {
-}
--- a/langtools/test/tools/apt/mirror/declaration/pkg1/AnAnnoType.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-
-package pkg1;
-
-public @interface AnAnnoType {
-}
--- a/langtools/test/tools/apt/mirror/declaration/pkg1/AnEnum.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-package pkg1;
-
-enum AnEnum {
-}
--- a/langtools/test/tools/apt/mirror/declaration/pkg1/AnInterface.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-
-package pkg1;
-
-public interface AnInterface {
-}
--- a/langtools/test/tools/apt/mirror/declaration/pkg1/package-info.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-
-/**
- * Herein lieth the package comment.
- * A doc comment it be, and wonderous to behold.
- */
-@AnAnnoType
-package pkg1;
--- a/langtools/test/tools/apt/mirror/declaration/pkg1/pkg2/AnInterface.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2004, 2007, 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.
- */
-
-package pkg1.pkg2;
-
-public interface AnInterface {
-}
--- a/langtools/test/tools/apt/mirror/declaration/pkg1/pkg2/package.html	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-<!--
-Copyright (c) 2004, 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.  Oracle designates this
-particular file as subject to the "Classpath" exception as provided
-by Oracle in the LICENSE file that accompanied this code.
-
-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.
--->
-
-</head>
-<body bgcolor="white">
-
-Herein lieth the package comment.
-An HTML file it be, and wonderous to behold.
-
-</body>
-</html>
--- a/langtools/test/tools/apt/mirror/type/AnnoTyp.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +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
- * @summary AnnotationType tests
- * @library ../../lib
- * @compile -source 1.5 AnnoTyp.java
- * @run main/othervm AnnoTyp
- */
-
-
-import java.util.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-
-public class AnnoTyp extends Tester {
-
-    public static void main(String[] args) {
-        (new AnnoTyp()).run();
-    }
-
-
-    // Declaration used by tests
-
-    @interface AT {
-    }
-
-
-    private AnnotationType at;  // an annotation type
-
-    @AT
-    protected void init() {
-        at = getAnno("init", "AnnoTyp.AT").getAnnotationType();
-    }
-
-
-    // TypeMirror methods
-
-    @Test(result="anno type")
-    Collection<String> accept() {
-        final Collection<String> res = new ArrayList<String>();
-
-        at.accept(new SimpleTypeVisitor() {
-            public void visitReferenceType(ReferenceType t) {
-                res.add("ref type");
-            }
-            public void visitClassType(ClassType t) {
-                res.add("class");
-            }
-            public void visitInterfaceType(InterfaceType t) {
-                res.add("interface");
-            }
-            public void visitAnnotationType(AnnotationType t) {
-                res.add("anno type");
-            }
-        });
-        return res;
-    }
-
-
-    // AnnotationType method
-
-    @Test(result="AnnoTyp.AT")
-    AnnotationTypeDeclaration getDeclaration() {
-        return at.getDeclaration();
-    }
-}
--- a/langtools/test/tools/apt/mirror/type/ArrayTyp.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +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 5009357
- * @summary ArrayType tests
- * @library ../../lib
- * @compile -source 1.5 ArrayTyp.java
- * @run main/othervm ArrayTyp
- */
-
-
-import java.util.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-
-public class ArrayTyp extends Tester {
-
-    public static void main(String[] args) {
-        (new ArrayTyp()).run();
-    }
-
-
-    // Declaration used by tests
-
-    private boolean[] bs;
-    private String[][] bss;
-
-
-    private ArrayType arr;              // an array type
-    private ArrayType arrarr;           // a multi-dimensional array type
-
-    protected void init() {
-        arr = (ArrayType) getField("bs").getType();
-        arrarr = (ArrayType) getField("bss").getType();
-    }
-
-
-    // TypeMirror methods
-
-    @Test(result="array")
-    Collection<String> accept() {
-        final Collection<String> res = new ArrayList<String>();
-
-        arr.accept(new SimpleTypeVisitor() {
-            public void visitTypeMirror(TypeMirror t) {
-                res.add("type");
-            }
-            public void visitArrayType(ArrayType t) {
-                res.add("array");
-            }
-            public void visitReferenceType(ReferenceType t) {
-                res.add("ref type");
-            }
-        });
-        return res;
-    }
-
-    @Test(result="boolean[]")
-    String toStringTest() {
-        return arr.toString();
-    }
-
-    @Test(result="java.lang.String[][]")
-    String toStringTestMulti() {
-        return arrarr.toString();
-    }
-
-
-    // ArrayType method
-
-    @Test(result="boolean")
-    TypeMirror getComponentType() {
-        return (PrimitiveType) arr.getComponentType();
-    }
-
-    @Test(result="java.lang.String[]")
-    TypeMirror getComponentTypeMulti() {
-        return (ArrayType) arrarr.getComponentType();
-    }
-}
--- a/langtools/test/tools/apt/mirror/type/ClassTyp.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,240 +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 5009360 5055963
- * @summary ClassType tests
- * @library ../../lib
- * @run main/othervm ClassTyp
- */
-
-
-import java.util.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-
-public class ClassTyp<T1,T2> extends Tester {
-
-    public static void main(String[] args) {
-        (new ClassTyp()).run();
-    }
-
-
-    // Declarations used by tests
-
-    static class C1<S> extends AbstractSet<S> implements Set<S> {
-        class C2<R> {
-        }
-
-        static class C3<R> {
-            class C4<Q> {
-            }
-        }
-
-        public Iterator<S> iterator() {
-            return null;
-        }
-
-        public int size() {
-            return 0;
-        }
-    }
-
-
-    // Generate some class types to test.
-    private C1<T1> f0;
-    private C1<String> f1;
-    private C1 f2;
-    private C1.C3<T2> f3;
-    private C1<T1>.C2<T2> f4;
-    private C1.C2 f5;
-    private C1<T1> f6;
-    private C1.C3<T2>.C4<T1> f7;
-    private static final int NUMTYPES = 8;
-
-    // Type mirrors corresponding to the types of the above fields
-    private ClassType[] t = new ClassType[NUMTYPES];
-
-    // One more type:  our own.
-    private ClassTyp<T1,T2> me = this;
-
-
-    protected void init() {
-        for (int i = 0; i < t.length; i++) {
-            t[i] = (ClassType) getField("f"+i).getType();
-        }
-    }
-
-
-    // TypeMirror methods
-
-    @Test(result="class")
-    Collection<String> accept() {
-        final Collection<String> res = new ArrayList<String>();
-
-        t[0].accept(new SimpleTypeVisitor() {
-            public void visitReferenceType(ReferenceType t) {
-                res.add("ref type");
-            }
-            public void visitClassType(ClassType t) {
-                res.add("class");
-            }
-            public void visitInterfaceType(InterfaceType t) {
-                res.add("interface");
-            }
-        });
-        return res;
-    }
-
-    @Test(result="true")
-    boolean equals1() {
-        return t[0].equals(t[0]);
-    }
-
-    @Test(result="false")
-    boolean equals2() {
-        return t[0].equals(t[1]);
-    }
-
-    // Raw type is not same as type instantiated with unbounded type var.
-    @Test(result="false")
-    boolean equals3() {
-        return t[0].equals(t[2]);
-    }
-
-    // C1<T1> is same type as C1<T1>
-    @Test(result="true")
-    boolean equals4() {
-        return t[0].equals(t[6]);
-    }
-
-    @Test(result={
-              "ClassTyp.C1<T1>",
-              "ClassTyp.C1<java.lang.String>",
-              "ClassTyp.C1",
-              "ClassTyp.C1.C3<T2>",
-              "ClassTyp.C1<T1>.C2<T2>",
-              "ClassTyp.C1.C2",
-              "ClassTyp.C1<T1>",
-              "ClassTyp.C1.C3<T2>.C4<T1>"
-          },
-          ordered=true)
-    Collection<String> toStringTests() {
-        Collection<String> res = new ArrayList<String>();
-        for (ClassType c : t) {
-            res.add(c.toString());
-        }
-        return res;
-    }
-
-
-    // DeclaredType methods
-
-    @Test(result={"T1"})
-    Collection<TypeMirror> getActualTypeArguments1() {
-        return t[0].getActualTypeArguments();
-    }
-
-    @Test(result={})
-    Collection<TypeMirror> getActualTypeArguments2() {
-        return t[2].getActualTypeArguments();
-    }
-
-    @Test(result={"T2"})
-    Collection<TypeMirror> getActualTypeArguments3() {
-        return t[3].getActualTypeArguments();
-    }
-
-    @Test(result="null")
-    DeclaredType getContainingType1() {
-        ClassType thisType = (ClassType) getField("me").getType();
-        return thisType.getContainingType();
-    }
-
-    @Test(result="ClassTyp")
-    DeclaredType getContainingType2() {
-        return t[0].getContainingType();
-    }
-
-    @Test(result="ClassTyp.C1")
-    DeclaredType getContainingType3() {
-        return t[3].getContainingType();
-    }
-
-    @Test(result="ClassTyp.C1<T1>")
-    DeclaredType getContainingType4() {
-        return t[4].getContainingType();
-    }
-
-    @Test(result={"java.util.Set<T1>"})
-    Collection<InterfaceType> getSuperinterfaces() {
-        return t[0].getSuperinterfaces();
-    }
-
-
-    // ClassType methods
-
-    @Test(result="ClassTyp.C1<S>")
-    ClassDeclaration getDeclaration1() {
-        return t[0].getDeclaration();
-    }
-
-    @Test(result="ClassTyp.C1.C3<R>")
-    ClassDeclaration getDeclaration2() {
-        return t[3].getDeclaration();
-    }
-
-    @Test(result="ClassTyp.C1<S>.C2<R>")
-    ClassDeclaration getDeclaration3a() {
-        return t[4].getDeclaration();
-    }
-
-    @Test(result="ClassTyp.C1<S>.C2<R>")
-    ClassDeclaration getDeclaration3b() {
-        return t[5].getDeclaration();
-    }
-
-    @Test(result="true")
-    boolean getDeclarationEq() {
-        return t[0].getDeclaration() == t[6].getDeclaration();
-    }
-
-    @Test(result="java.util.AbstractSet<T1>")
-    ClassType getSuperclass1() {
-        return t[0].getSuperclass();
-    }
-
-    @Test(result="java.lang.Object")
-    ClassType getSuperclass2() {
-        return t[4].getSuperclass();
-    }
-
-    @Test(result="null")
-    ClassType getSuperclassOfObject() {
-        return t[4].getSuperclass().getSuperclass();
-    }
-}
--- a/langtools/test/tools/apt/mirror/type/EnumTyp.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +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
- * @summary EnumType tests
- * @library ../../lib
- * @compile -source 1.5 EnumTyp.java
- * @run main/othervm EnumTyp
- */
-
-
-import java.util.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-
-public class EnumTyp extends Tester {
-
-    public static void main(String[] args) {
-        (new EnumTyp()).run();
-    }
-
-
-    // Declarations used by tests
-
-    enum Suit {
-        CIVIL,
-        CRIMINAL
-    }
-
-    private Suit s;
-
-
-    private EnumType e;         // an enum type
-
-    protected void init() {
-        e = (EnumType) getField("s").getType();
-    }
-
-
-    // TypeMirror methods
-
-    @Test(result="enum")
-    Collection<String> accept() {
-        final Collection<String> res = new ArrayList<String>();
-
-        e.accept(new SimpleTypeVisitor() {
-            public void visitTypeMirror(TypeMirror t) {
-                res.add("type");
-            }
-            public void visitReferenceType(ReferenceType t) {
-                res.add("ref type");
-            }
-            public void visitClassType(ClassType t) {
-                res.add("class");
-            }
-            public void visitEnumType(EnumType t) {
-                res.add("enum");
-            }
-            public void visitInterfaceType(InterfaceType t) {
-                res.add("interface");
-            }
-        });
-        return res;
-    }
-
-
-    // EnumType method
-
-    @Test(result="EnumTyp.Suit")
-    EnumDeclaration getDeclaration() {
-        return e.getDeclaration();
-    }
-}
--- a/langtools/test/tools/apt/mirror/type/InterfaceTyp.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,202 +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 5055963
- * @summary InterfaceType tests
- * @library ../../lib
- * @run main/othervm InterfaceTyp
- */
-
-
-import java.util.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-
-public class InterfaceTyp<T1,T2> extends Tester {
-
-    public static void main(String[] args) {
-        (new InterfaceTyp()).run();
-    }
-
-
-    // Declarations used by tests
-
-    interface I1<S> extends Set<String> {
-        interface I2<R> {
-        }
-    }
-
-
-    // Generate some interface types to test
-    private I1<T1> f0;
-    private I1<String> f1;
-    private I1 f2;
-    private I1.I2<String> f3;
-    private I1.I2 f4;
-    private I1<T1> f5;
-    private I3<T1> f6;
-    private static final int NUMTYPES = 7;
-
-    // Type mirrors corresponding to the types of the above fields
-    private InterfaceType[] t = new InterfaceType[NUMTYPES];
-
-    protected void init() {
-        for (int i = 0; i < t.length; i++) {
-            t[i] = (InterfaceType) getField("f"+i).getType();
-        }
-    }
-
-
-    // TypeMirror methods
-
-    @Test(result="interface")
-    Collection<String> accept() {
-        final Collection<String> res = new ArrayList<String>();
-
-        t[0].accept(new SimpleTypeVisitor() {
-            public void visitReferenceType(ReferenceType t) {
-                res.add("ref type");
-            }
-            public void visitClassType(ClassType t) {
-                res.add("class");
-            }
-            public void visitInterfaceType(InterfaceType t) {
-                res.add("interface");
-            }
-        });
-        return res;
-    }
-
-    @Test(result="true")
-    boolean equals1() {
-        return t[0].equals(t[0]);
-    }
-
-    @Test(result="false")
-    boolean equals2() {
-        return t[0].equals(t[1]);
-    }
-
-    // Raw type is not same as type instantiated with unbounded type var.
-    @Test(result="false")
-    boolean equals3() {
-        return t[0].equals(t[2]);
-    }
-
-    // I1<T1> is same type as I1<T1>
-    @Test(result="true")
-    boolean equals4() {
-        return t[0].equals(t[5]);
-    }
-
-    @Test(result={
-              "InterfaceTyp.I1<T1>",
-              "InterfaceTyp.I1<java.lang.String>",
-              "InterfaceTyp.I1",
-              "InterfaceTyp.I1.I2<java.lang.String>",
-              "InterfaceTyp.I1.I2",
-              "InterfaceTyp.I1<T1>",
-              "I3<T1>"
-          },
-          ordered=true)
-    Collection<String> toStringTests() {
-        Collection<String> res = new ArrayList<String>();
-        for (InterfaceType i : t) {
-            res.add(i.toString());
-        }
-        return res;
-    }
-
-
-    // DeclaredType methods
-
-    @Test(result={"T1"})
-    Collection<TypeMirror> getActualTypeArguments1() {
-        return t[0].getActualTypeArguments();
-    }
-
-    @Test(result={})
-    Collection<TypeMirror> getActualTypeArguments2() {
-        return t[2].getActualTypeArguments();
-    }
-
-    @Test(result={"java.lang.String"})
-    Collection<TypeMirror> getActualTypeArguments3() {
-        return t[3].getActualTypeArguments();
-    }
-
-    @Test(result="InterfaceTyp")
-    DeclaredType getContainingType1() {
-        return t[0].getContainingType();
-    }
-
-    @Test(result="InterfaceTyp.I1")
-    DeclaredType getContainingType2() {
-        return t[3].getContainingType();
-    }
-
-    @Test(result="null")
-    DeclaredType getContainingTypeTopLevel() {
-        return t[6].getContainingType();
-    }
-
-    @Test(result={"java.util.Set<java.lang.String>"})
-    Collection<InterfaceType> getSuperinterfaces() {
-        return t[0].getSuperinterfaces();
-    }
-
-
-
-    // InterfaceType method
-
-    @Test(result="InterfaceTyp.I1<S>")
-    InterfaceDeclaration getDeclaration1() {
-        return t[0].getDeclaration();
-    }
-
-    @Test(result="InterfaceTyp.I1.I2<R>")
-    InterfaceDeclaration getDeclaration2a() {
-        return t[3].getDeclaration();
-    }
-
-    @Test(result="InterfaceTyp.I1.I2<R>")
-    InterfaceDeclaration getDeclaration2b() {
-        return t[4].getDeclaration();
-    }
-
-    @Test(result="true")
-    boolean getDeclarationCaching() {
-        return t[0].getDeclaration() == t[5].getDeclaration();
-    }
-}
-
-
-// A top-level interface used by tests.
-
-interface I3<T> {
-}
--- a/langtools/test/tools/apt/mirror/type/PrimitiveTyp.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +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
- * @summary PrimitiveType tests
- * @library ../../lib
- * @compile -source 1.5 PrimitiveTyp.java
- * @run main/othervm PrimitiveTyp
- */
-
-
-import java.util.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-
-public class PrimitiveTyp extends Tester {
-
-    public static void main(String[] args) {
-        (new PrimitiveTyp()).run();
-    }
-
-
-    // Declaration used by tests
-
-    private boolean b;
-
-
-    private PrimitiveType prim;         // a primitive type
-
-    protected void init() {
-        prim = (PrimitiveType) getField("b").getType();
-    }
-
-
-    // TypeMirror methods
-
-    @Test(result="primitive")
-    Collection<String> accept() {
-        final Collection<String> res = new ArrayList<String>();
-
-        prim.accept(new SimpleTypeVisitor() {
-            public void visitTypeMirror(TypeMirror t) {
-                res.add("type");
-            }
-            public void visitPrimitiveType(PrimitiveType t) {
-                res.add("primitive");
-            }
-            public void visitReferenceType(ReferenceType t) {
-                res.add("ref type");
-            }
-        });
-        return res;
-    }
-
-    @Test(result="boolean")
-    String toStringTest() {
-        return prim.toString();
-    }
-
-
-    // PrimitiveType method
-
-    @Test(result="BOOLEAN")
-    PrimitiveType.Kind getKind() {
-        return prim.getKind();
-    }
-}
--- a/langtools/test/tools/apt/mirror/type/TypeVar.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +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
- * @summary TypeVariable tests
- * @library ../../lib
- * @compile -source 1.5 TypeVar.java
- * @run main/othervm TypeVar
- */
-
-
-import java.util.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-
-public class TypeVar<T, S extends Number & Runnable> extends Tester {
-
-    public static void main(String[] args) {
-        (new TypeVar()).run();
-    }
-
-
-    // Declarations used by tests
-
-    private T t;
-    private S s;
-
-
-    private TypeVariable tvT;   // type variable T
-    private TypeVariable tvS;   // type variable S
-
-    protected void init() {
-        tvT = (TypeVariable) getField("t").getType();
-        tvS = (TypeVariable) getField("s").getType();
-    }
-
-
-    // TypeMirror methods
-
-    @Test(result="type var")
-    Collection<String> accept() {
-        final Collection<String> res = new ArrayList<String>();
-
-        tvT.accept(new SimpleTypeVisitor() {
-            public void visitTypeMirror(TypeMirror t) {
-                res.add("type");
-            }
-            public void visitReferenceType(ReferenceType t) {
-                res.add("ref type");
-            }
-            public void visitTypeVariable(TypeVariable t) {
-                res.add("type var");
-            }
-        });
-        return res;
-    }
-
-    @Test(result="T")
-    String toStringTest1() {
-        return tvT.toString();
-    }
-
-    @Test(result="S")
-    String toStringTest2() {
-        return tvS.toString();
-    }
-
-
-    // TypeVariable method
-
-    @Test(result="S extends java.lang.Number & java.lang.Runnable")
-    TypeParameterDeclaration getDeclaration() {
-        return tvS.getDeclaration();
-    }
-}
--- a/langtools/test/tools/apt/mirror/type/WildcardTyp.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +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 5009396 5010636 5031156
- * @summary WildcardType tests
- * @library ../../lib
- * @compile -source 1.5 WildcardTyp.java
- * @run main/othervm WildcardTyp
- */
-
-
-import java.util.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-
-public class WildcardTyp extends Tester {
-
-    public static void main(String[] args) {
-        (new WildcardTyp()).run();
-    }
-
-
-    // Declarations to use for testing
-
-    interface G<T> {
-    }
-
-    interface G1<N extends Number & Runnable> {
-    }
-
-    interface G2<T extends G2<T>> {
-    }
-
-    // Some wildcard types to test.
-    private G<?> f0;                    // unbound
-    private G<? extends Number> f1;     // covariant
-    private G<? super Number> f2;       // contravariant
-    private G<? extends Object> f3;     // <sigh>
-    private G1<?> f4;   // "true" upper bound is an intersection type
-    private G2<?> f5;   // 'true" upper bound is a recursive F-bound and
-                        // not expressible
-    private static final int NUMTYPES = 6;
-
-    // Type mirrors corresponding to the wildcard types of the above fields
-    private WildcardType[] t = new WildcardType[NUMTYPES];
-
-
-    protected void init() {
-        for (int i = 0; i < t.length; i++) {
-            DeclaredType type = (DeclaredType) getField("f"+i).getType();
-            t[i] = (WildcardType)
-                type.getActualTypeArguments().iterator().next();
-        }
-    }
-
-    private WildcardType wildcardFor(String field) {
-        DeclaredType d = (DeclaredType) getField(field).getType();
-        return (WildcardType) d.getActualTypeArguments().iterator().next();
-    }
-
-
-    // TypeMirror methods
-
-    @Test(result="wild thing")
-    Collection<String> accept() {
-        final Collection<String> res = new ArrayList<String>();
-
-        t[0].accept(new SimpleTypeVisitor() {
-            public void visitTypeMirror(TypeMirror t) {
-                res.add("type");
-            }
-            public void visitReferenceType(ReferenceType t) {
-                res.add("ref type");
-            }
-            public void visitWildcardType(WildcardType t) {
-                res.add("wild thing");
-            }
-        });
-        return res;
-    }
-
-    @Test(result={
-                "?",
-                "? extends java.lang.Number",
-                "? super java.lang.Number",
-                "? extends java.lang.Object",
-                "?",
-                "?"
-          },
-          ordered=true)
-    Collection<String> toStringTests() {
-        Collection<String> res = new ArrayList<String>();
-        for (WildcardType w : t) {
-            res.add(w.toString());
-        }
-        return res;
-    }
-
-
-    // WildcardType methods
-
-    @Test(result={
-                "null",
-                "null",
-                "java.lang.Number",
-                "null",
-                "null",
-                "null"
-          },
-          ordered=true)
-    Collection<ReferenceType> getLowerBounds() {
-        Collection<ReferenceType> res = new ArrayList<ReferenceType>();
-        for (WildcardType w : t) {
-            Collection<ReferenceType> bounds = w.getLowerBounds();
-            int num = bounds.size();
-            if (num > 1) {
-                throw new AssertionError("Bounds abound");
-            }
-            res.add((num > 0) ? bounds.iterator().next() : null);
-        }
-        return res;
-    }
-
-    @Test(result={
-                "null",
-                "java.lang.Number",
-                "null",
-                "java.lang.Object",
-                "null",
-                "null"
-          },
-          ordered=true)
-    Collection<ReferenceType> getUpperBounds() {
-        Collection<ReferenceType> res = new ArrayList<ReferenceType>();
-        for (WildcardType w : t) {
-            Collection<ReferenceType> bounds = w.getUpperBounds();
-            int num = bounds.size();
-            if (num > 1) {
-                throw new AssertionError("Bounds abound");
-            }
-            res.add((num > 0) ? bounds.iterator().next() : null);
-        }
-        return res;
-    }
-}
--- a/langtools/test/tools/apt/mirror/util/Overrides.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,152 +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 5037165
- * @summary Test the Declarations.overrides method
- * @library ../../lib
- * @run main/othervm Overrides
- */
-
-
-import java.util.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-
-public class Overrides extends Tester {
-
-    public static void main(String[] args) {
-        (new Overrides()).run();
-    }
-
-
-    // Declarations used by tests
-
-    static class A {
-        void m1(int i) {};              // does not override itself
-        void m2(int i) {};
-        static void m3(int i) {};
-    }
-
-        static class B extends A {
-            void m1(int j) {};          // overrides A.m1
-            void m1(String i) {};       // does not override A.m1
-            void m4(int i) {};          // does not override A.m1
-        }
-
-            static class C extends B {
-                void m1(int i) {};      // overrides A.m1 and B.m1
-                void m2(int i) {};      // overrides A.m2
-            }
-
-        static class D extends A {
-            static void m3(int i) {};   // does not override A.m3
-        }
-
-    static class E {
-        void m1(int i) {};              // does not override A.m1
-    }
-
-
-
-    private Declarations decls;
-
-    private TypeDeclaration A;
-    private TypeDeclaration B;
-    private TypeDeclaration C;
-    private TypeDeclaration D;
-    private TypeDeclaration E;
-    private MethodDeclaration Am1;
-    private MethodDeclaration Am2;
-    private MethodDeclaration Am3;
-    private MethodDeclaration Bm1;
-    private MethodDeclaration Bm1b;
-    private MethodDeclaration Bm4;
-    private MethodDeclaration Cm1;
-    private MethodDeclaration Cm2;
-    private MethodDeclaration Dm3;
-    private MethodDeclaration Em1;
-
-    protected void init() {
-        decls = env.getDeclarationUtils();
-
-        A = env.getTypeDeclaration("Overrides.A");
-        B = env.getTypeDeclaration("Overrides.B");
-        C = env.getTypeDeclaration("Overrides.C");
-        D = env.getTypeDeclaration("Overrides.D");
-        E = env.getTypeDeclaration("Overrides.E");
-
-        Am1  = getMethod(A, "m1", "i");
-        Am2  = getMethod(A, "m2", "i");
-        Am3  = getMethod(A, "m3", "i");
-        Bm1  = getMethod(B, "m1", "j");
-        Bm1b = getMethod(B, "m1", "i");
-        Bm4  = getMethod(B, "m4", "i");
-        Cm1  = getMethod(C, "m1", "i");
-        Cm2  = getMethod(C, "m2", "i");
-        Dm3  = getMethod(D, "m3", "i");
-        Em1  = getMethod(E, "m1", "i");
-    }
-
-    private MethodDeclaration getMethod(TypeDeclaration t,
-                                        String methodName, String paramName) {
-        for (MethodDeclaration m : t.getMethods()) {
-            if (methodName.equals(m.getSimpleName()) &&
-                    paramName.equals(m.getParameters().iterator().next()
-                                                        .getSimpleName())) {
-                return m;
-            }
-        }
-        throw new AssertionError();
-    }
-
-
-    // Declarations methods
-
-    @Test(result={"false",
-                  "true",
-                  "false",
-                  "false",
-                  "true",
-                  "true",
-                  "true",
-                  "false",
-                  "false"},
-          ordered=true)
-    List<Boolean> overrides() {
-        return Arrays.asList(
-                decls.overrides(Am1, Am1),
-                decls.overrides(Bm1, Am1),
-                decls.overrides(Bm1b,Am1),
-                decls.overrides(Bm4, Am1),
-                decls.overrides(Cm1, Am1),
-                decls.overrides(Cm1, Bm1),
-                decls.overrides(Cm2, Am2),
-                decls.overrides(Dm3, Am3),
-                decls.overrides(Em1, Am1));
-    }
-}
--- a/langtools/test/tools/apt/mirror/util/TypeCreation.java	Thu Feb 16 13:01:46 2012 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +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 5033381
- * @summary Test the type creation methods in Types.
- * @library ../../lib
- * @run main/othervm TypeCreation
- */
-
-
-import java.util.*;
-import com.sun.mirror.declaration.*;
-import com.sun.mirror.type.*;
-import com.sun.mirror.util.*;
-
-import static com.sun.mirror.type.PrimitiveType.Kind.*;
-
-
-public class TypeCreation extends Tester {
-
-    public static void main(String[] args) {
-        (new TypeCreation()).run();
-    }
-
-
-    // Declarations used by tests
-
-    class A {
-    }
-
-    class O<T> {
-        class I<S> {
-        }
-    }
-
-
-    private Types types;
-
-    private TypeDeclaration A;
-    private TypeDeclaration O;
-    private TypeDeclaration I;
-
-    private DeclaredType AType;
-
-    protected void init() {
-        types = env.getTypeUtils();
-        A = env.getTypeDeclaration("TypeCreation.A");
-        O = env.getTypeDeclaration("TypeCreation.O");
-        I = env.getTypeDeclaration("TypeCreation.O.I");
-
-        AType = types.getDeclaredType(A);
-    }
-
-
-    @Test(result="boolean")
-    PrimitiveType getPrimitiveType() {
-        return types.getPrimitiveType(BOOLEAN);
-    }
-
-    @Test(result="void")
-    VoidType getVoidType() {
-        return types.getVoidType();
-    }
-
-    @Test(result="boolean[]")
-    ArrayType getArrayType1() {
-        return types.getArrayType(
-                types.getPrimitiveType(BOOLEAN));
-    }
-
-    @Test(result="TypeCreation.A[]")
-    ArrayType getArrayType2() {
-        return types.getArrayType(AType);
-    }
-
-    @Test(result="? extends TypeCreation.A")
-    WildcardType getWildcardType() {
-        Collection<ReferenceType> uppers = new ArrayList<ReferenceType>();
-        Collection<ReferenceType> downers = new ArrayList<ReferenceType>();
-        uppers.add(AType);
-        return types.getWildcardType(uppers, downers);
-    }
-
-    @Test(result="TypeCreation.O<java.lang.String>")
-    DeclaredType getDeclaredType1() {
-        TypeDeclaration stringDecl = env.getTypeDeclaration("java.lang.String");
-        DeclaredType stringType = types.getDeclaredType(stringDecl);
-        return types.getDeclaredType(O, stringType);
-    }
-
-    @Test(result="TypeCreation.O<java.lang.String>.I<java.lang.Number>")
-    DeclaredType getDeclaredType2() {
-        TypeDeclaration numDecl = env.getTypeDeclaration("java.lang.Number");
-        DeclaredType numType = types.getDeclaredType(numDecl);
-        DeclaredType OType = getDeclaredType1();
-        return types.getDeclaredType(OType, I, numType);
-    }
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/7142086/T7142086.java	Sat Feb 18 16:12:28 2012 -0800
@@ -0,0 +1,115 @@
+/*
+ * Copyright (c) 2012, 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 7142086
+ * @summary performance problem in Check.checkOverrideClashes(...)
+ * @run main/timeout=10 T7142086
+ */
+
+import com.sun.source.util.JavacTask;
+import java.net.URI;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Locale;
+import javax.tools.Diagnostic;
+import javax.tools.JavaCompiler;
+import javax.tools.JavaFileObject;
+import javax.tools.SimpleJavaFileObject;
+import javax.tools.StandardJavaFileManager;
+import javax.tools.ToolProvider;
+
+public class T7142086 {
+
+    final static int N_METHODS = 1000;
+
+    static class TestClass extends SimpleJavaFileObject {
+
+        String methTemplate = "abstract void m(A#N p);";
+        String classTemplate = "abstract class Test { #M }";
+
+        String source;
+
+        public TestClass() {
+            super(URI.create("myfo:/Test.java"), JavaFileObject.Kind.SOURCE);
+            StringBuilder buf = new StringBuilder();
+            for (int i = 0 ; i < N_METHODS ; i++) {
+                buf.append(methTemplate.replace("#N", String.valueOf(i)));
+                buf.append("\n");
+            }
+            source = classTemplate.replace("#M", buf.toString());
+        }
+
+        @Override
+        public CharSequence getCharContent(boolean ignoreEncodingErrors) {
+            return source;
+        }
+    }
+
+    static class AnSource extends SimpleJavaFileObject {
+
+        String classTemplate = "abstract class A#N { }";
+
+        String source;
+
+        public AnSource(int n) {
+            super(URI.create("myfo:/Test.java"), JavaFileObject.Kind.SOURCE);
+            source = classTemplate.replace("#N", String.valueOf(n));
+        }
+
+        @Override
+        public CharSequence getCharContent(boolean ignoreEncodingErrors) {
+            return source;
+        }
+    }
+
+    public static void main(String... args) throws Exception {
+        ArrayList<JavaFileObject> sources = new ArrayList<>();
+        for (int i = 0 ; i < N_METHODS ; i++) {
+            sources.add(new AnSource(i));
+        }
+        sources.add(new TestClass());
+        new T7142086().run(sources);
+    }
+
+    void run(List<JavaFileObject> sources) throws Exception {
+        DiagnosticChecker dc = new DiagnosticChecker();
+        JavaCompiler comp = ToolProvider.getSystemJavaCompiler();
+        StandardJavaFileManager fm = comp.getStandardFileManager(null, null, null);
+        JavacTask ct = (JavacTask)comp.getTask(null, fm, dc,
+                null, null, sources);
+        ct.analyze();
+    }
+
+    static class DiagnosticChecker implements javax.tools.DiagnosticListener<JavaFileObject> {
+
+        boolean errorFound;
+
+        public void report(Diagnostic<? extends JavaFileObject> diagnostic) {
+            if (diagnostic.getKind() == Diagnostic.Kind.ERROR) {
+                throw new AssertionError("unexpected diagnostic: " + diagnostic.getMessage(Locale.getDefault()));
+            }
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/T7142672/AnnoProcessor.java	Sat Feb 18 16:12:28 2012 -0800
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2012, 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.
+ */
+
+import java.util.Set;
+import javax.annotation.processing.*;
+import javax.lang.model.SourceVersion;
+import javax.lang.model.element.TypeElement;
+
+@SupportedAnnotationTypes("Anno")
+public class AnnoProcessor extends AbstractProcessor {
+    @Override
+    public SourceVersion getSupportedSourceVersion() {
+        return SourceVersion.latest();
+    }
+
+    @Override
+    public boolean process(Set<? extends TypeElement> set, RoundEnvironment re) {
+        System.out.println("RUNNING...");
+        if(set.isEmpty()) {
+            return false;
+        }
+        return false;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/T7142672/Bug.java	Sat Feb 18 16:12:28 2012 -0800
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2012, 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 7142672
+ * @summary Problems with the value passed to the 'classes' param of JavaCompiler.CompilationTask.getTask(...)
+ * @author holmlund
+ * @compile AnnoProcessor.java Bug.java Test3.java
+ * @run main Bug Test2.java
+ * @run main Bug Test2.foo
+ * @run main Bug Test3.java
+ */
+import java.io.*;
+import java.util.*;
+import javax.tools.*;
+
+// Each run should output the 'could not find class file' message, and not throw an AssertError.
+public class Bug {
+    public static void main(String... arg) throws Throwable {
+        String name = arg[0];
+        final String expectedMsg = "error: Could not find class file for '" + name + "'.";
+        JavaCompiler javac = ToolProvider.getSystemJavaCompiler();
+        JavaCompiler.CompilationTask task2;
+        StringWriter sw = new StringWriter();
+        final PrintWriter pw = new PrintWriter(sw);
+
+
+        DiagnosticListener<? super javax.tools.JavaFileObject> dl =
+            new DiagnosticListener<javax.tools.JavaFileObject>() {
+            public void report(Diagnostic message) {
+                pw.print("Diagnostic:\n"+ message.toString()+"\n");
+                if (!message.toString().equals(expectedMsg)){
+                    System.err.println("Diagnostic:\n"+ message.toString()+"\n");
+                    System.err.println("--Failed: Unexpected diagnostic");
+                    System.exit(1);
+                }
+            }
+        };
+
+        StandardJavaFileManager sjfm = javac.getStandardFileManager(dl,null,null);
+
+        List<String> opts = new ArrayList<String>();
+        opts.add("-proc:only");
+        opts.add("-processor");
+        opts.add("AnnoProcessor");
+
+        boolean xxx;
+
+        System.err.println("\n-- " + name);
+        task2 = javac.getTask(pw, sjfm, dl, opts, Arrays.asList(name), null);
+        xxx = task2.call();
+
+        String out = sw.toString();
+        System.err.println(out);
+        if (out.contains("Assert")) {
+            System.err.println("--Failed: Assertion failure");
+            System.exit(1);
+        }
+        if (!out.contains(expectedMsg)) {
+            System.err.println("--Failed: Expected diagnostic not found");
+            System.exit(1);
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/T7142672/Test2.java	Sat Feb 18 16:12:28 2012 -0800
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2012, 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.
+ */
+
+class Test2 {
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/T7142672/Test3.java	Sat Feb 18 16:12:28 2012 -0800
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2012, 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.
+ */
+
+class Test3 {
+}