changeset 1349:be456f9c64e8 jdk8-b27

Merge
author lana
date Sat, 18 Feb 2012 16:12:28 -0800
parents fba3cbee0fa3 e127334a64fe
children 8503479162bd a696a8610b2a 3ad851a7e884
files make/test/lib/apt.sh src/share/classes/com/sun/mirror/apt/AnnotationProcessor.java src/share/classes/com/sun/mirror/apt/AnnotationProcessorEnvironment.java src/share/classes/com/sun/mirror/apt/AnnotationProcessorFactory.java src/share/classes/com/sun/mirror/apt/AnnotationProcessorListener.java src/share/classes/com/sun/mirror/apt/AnnotationProcessors.java src/share/classes/com/sun/mirror/apt/Filer.java src/share/classes/com/sun/mirror/apt/Messager.java src/share/classes/com/sun/mirror/apt/RoundCompleteEvent.java src/share/classes/com/sun/mirror/apt/RoundCompleteListener.java src/share/classes/com/sun/mirror/apt/RoundState.java src/share/classes/com/sun/mirror/apt/package-info.java src/share/classes/com/sun/mirror/declaration/AnnotationMirror.java src/share/classes/com/sun/mirror/declaration/AnnotationTypeDeclaration.java src/share/classes/com/sun/mirror/declaration/AnnotationTypeElementDeclaration.java src/share/classes/com/sun/mirror/declaration/AnnotationValue.java src/share/classes/com/sun/mirror/declaration/ClassDeclaration.java src/share/classes/com/sun/mirror/declaration/ConstructorDeclaration.java src/share/classes/com/sun/mirror/declaration/Declaration.java src/share/classes/com/sun/mirror/declaration/EnumConstantDeclaration.java src/share/classes/com/sun/mirror/declaration/EnumDeclaration.java src/share/classes/com/sun/mirror/declaration/ExecutableDeclaration.java src/share/classes/com/sun/mirror/declaration/FieldDeclaration.java src/share/classes/com/sun/mirror/declaration/InterfaceDeclaration.java src/share/classes/com/sun/mirror/declaration/MemberDeclaration.java src/share/classes/com/sun/mirror/declaration/MethodDeclaration.java src/share/classes/com/sun/mirror/declaration/Modifier.java src/share/classes/com/sun/mirror/declaration/PackageDeclaration.java src/share/classes/com/sun/mirror/declaration/ParameterDeclaration.java src/share/classes/com/sun/mirror/declaration/TypeDeclaration.java src/share/classes/com/sun/mirror/declaration/TypeParameterDeclaration.java src/share/classes/com/sun/mirror/declaration/package-info.java src/share/classes/com/sun/mirror/overview.html src/share/classes/com/sun/mirror/type/AnnotationType.java src/share/classes/com/sun/mirror/type/ArrayType.java src/share/classes/com/sun/mirror/type/ClassType.java src/share/classes/com/sun/mirror/type/DeclaredType.java src/share/classes/com/sun/mirror/type/EnumType.java src/share/classes/com/sun/mirror/type/InterfaceType.java src/share/classes/com/sun/mirror/type/MirroredTypeException.java src/share/classes/com/sun/mirror/type/MirroredTypesException.java src/share/classes/com/sun/mirror/type/PrimitiveType.java src/share/classes/com/sun/mirror/type/ReferenceType.java src/share/classes/com/sun/mirror/type/TypeMirror.java src/share/classes/com/sun/mirror/type/TypeVariable.java src/share/classes/com/sun/mirror/type/VoidType.java src/share/classes/com/sun/mirror/type/WildcardType.java src/share/classes/com/sun/mirror/type/package-info.java src/share/classes/com/sun/mirror/util/DeclarationFilter.java src/share/classes/com/sun/mirror/util/DeclarationScanner.java src/share/classes/com/sun/mirror/util/DeclarationVisitor.java src/share/classes/com/sun/mirror/util/DeclarationVisitors.java src/share/classes/com/sun/mirror/util/Declarations.java src/share/classes/com/sun/mirror/util/SimpleDeclarationVisitor.java src/share/classes/com/sun/mirror/util/SimpleTypeVisitor.java src/share/classes/com/sun/mirror/util/SourceOrderDeclScanner.java src/share/classes/com/sun/mirror/util/SourcePosition.java src/share/classes/com/sun/mirror/util/TypeVisitor.java src/share/classes/com/sun/mirror/util/Types.java src/share/classes/com/sun/mirror/util/package-info.java src/share/classes/com/sun/tools/apt/Main.java src/share/classes/com/sun/tools/apt/comp/AnnotationProcessingError.java src/share/classes/com/sun/tools/apt/comp/Apt.java src/share/classes/com/sun/tools/apt/comp/BootstrapAPF.java src/share/classes/com/sun/tools/apt/comp/PrintAP.java src/share/classes/com/sun/tools/apt/comp/UsageMessageNeededException.java src/share/classes/com/sun/tools/apt/main/AptJavaCompiler.java src/share/classes/com/sun/tools/apt/main/CommandLine.java src/share/classes/com/sun/tools/apt/main/Main.java src/share/classes/com/sun/tools/apt/mirror/AptEnv.java src/share/classes/com/sun/tools/apt/mirror/apt/AnnotationProcessorEnvironmentImpl.java src/share/classes/com/sun/tools/apt/mirror/apt/FilerImpl.java src/share/classes/com/sun/tools/apt/mirror/apt/MessagerImpl.java src/share/classes/com/sun/tools/apt/mirror/apt/RoundCompleteEventImpl.java src/share/classes/com/sun/tools/apt/mirror/apt/RoundStateImpl.java src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationMirrorImpl.java src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationProxyMaker.java src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationTypeDeclarationImpl.java src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationTypeElementDeclarationImpl.java src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationValueImpl.java src/share/classes/com/sun/tools/apt/mirror/declaration/ClassDeclarationImpl.java src/share/classes/com/sun/tools/apt/mirror/declaration/Constants.java src/share/classes/com/sun/tools/apt/mirror/declaration/ConstructorDeclarationImpl.java src/share/classes/com/sun/tools/apt/mirror/declaration/DeclarationImpl.java src/share/classes/com/sun/tools/apt/mirror/declaration/DeclarationMaker.java src/share/classes/com/sun/tools/apt/mirror/declaration/EnumConstantDeclarationImpl.java src/share/classes/com/sun/tools/apt/mirror/declaration/EnumDeclarationImpl.java src/share/classes/com/sun/tools/apt/mirror/declaration/ExecutableDeclarationImpl.java src/share/classes/com/sun/tools/apt/mirror/declaration/FieldDeclarationImpl.java src/share/classes/com/sun/tools/apt/mirror/declaration/InterfaceDeclarationImpl.java src/share/classes/com/sun/tools/apt/mirror/declaration/MemberDeclarationImpl.java src/share/classes/com/sun/tools/apt/mirror/declaration/MethodDeclarationImpl.java src/share/classes/com/sun/tools/apt/mirror/declaration/PackageDeclarationImpl.java src/share/classes/com/sun/tools/apt/mirror/declaration/ParameterDeclarationImpl.java src/share/classes/com/sun/tools/apt/mirror/declaration/TypeDeclarationImpl.java src/share/classes/com/sun/tools/apt/mirror/declaration/TypeParameterDeclarationImpl.java src/share/classes/com/sun/tools/apt/mirror/type/AnnotationTypeImpl.java src/share/classes/com/sun/tools/apt/mirror/type/ArrayTypeImpl.java src/share/classes/com/sun/tools/apt/mirror/type/ClassTypeImpl.java src/share/classes/com/sun/tools/apt/mirror/type/DeclaredTypeImpl.java src/share/classes/com/sun/tools/apt/mirror/type/EnumTypeImpl.java src/share/classes/com/sun/tools/apt/mirror/type/InterfaceTypeImpl.java src/share/classes/com/sun/tools/apt/mirror/type/PrimitiveTypeImpl.java src/share/classes/com/sun/tools/apt/mirror/type/TypeMaker.java src/share/classes/com/sun/tools/apt/mirror/type/TypeMirrorImpl.java src/share/classes/com/sun/tools/apt/mirror/type/TypeVariableImpl.java src/share/classes/com/sun/tools/apt/mirror/type/VoidTypeImpl.java src/share/classes/com/sun/tools/apt/mirror/type/WildcardTypeImpl.java src/share/classes/com/sun/tools/apt/mirror/util/DeclarationsImpl.java src/share/classes/com/sun/tools/apt/mirror/util/SourcePositionImpl.java src/share/classes/com/sun/tools/apt/mirror/util/TypesImpl.java src/share/classes/com/sun/tools/apt/resources/apt.properties src/share/classes/com/sun/tools/apt/resources/apt_ja.properties src/share/classes/com/sun/tools/apt/resources/apt_zh_CN.properties src/share/classes/com/sun/tools/apt/util/Bark.java test/tools/apt/Basics/Aggregate.java test/tools/apt/Basics/ClassAnnotations.java test/tools/apt/Basics/FreshnessApf.java test/tools/apt/Basics/GenClass.java test/tools/apt/Basics/Indirect.java test/tools/apt/Basics/Lacuna.java test/tools/apt/Basics/MethodAnnotations.java test/tools/apt/Basics/Milk.java test/tools/apt/Basics/MisMatch.java test/tools/apt/Basics/Misc.java test/tools/apt/Basics/MyMarker.java test/tools/apt/Basics/MySimple.java test/tools/apt/Basics/NestedClassAnnotations.java test/tools/apt/Basics/ParameterAnnotations.java test/tools/apt/Basics/StaticFieldAnnotations.java test/tools/apt/Basics/StaticMethodAnnotations.java test/tools/apt/Basics/TestGetPackageApf.java test/tools/apt/Basics/TestGetTypeDeclarationApf.java test/tools/apt/Basics/annot/AnnotMarker.java test/tools/apt/Basics/annot/AnnotShangri_la.java test/tools/apt/Basics/annot/AnnotSimple.java test/tools/apt/Basics/annot/annot2/AnnotMarker2.java test/tools/apt/Basics/annot/annot2/AnnotSimple2.java test/tools/apt/Basics/com.sun.mirror.apt.AnnotationProcessorFactory test/tools/apt/Basics/foo/bar/Baz.java test/tools/apt/Basics/foo/bar/Quux.java test/tools/apt/Basics/golden.txt test/tools/apt/Basics/goldenAggregate.txt test/tools/apt/Basics/p1/p2.java test/tools/apt/Basics/p1/p2/C1.java test/tools/apt/Basics/print.sh test/tools/apt/Compile/ClassDeclApf.java test/tools/apt/Compile/ClassDeclApf2.java test/tools/apt/Compile/Dummy1.java test/tools/apt/Compile/ErrorAPF.java test/tools/apt/Compile/HelloAnnotation.java test/tools/apt/Compile/HelloWorld.java test/tools/apt/Compile/Round1Apf.java test/tools/apt/Compile/Round2Apf.java test/tools/apt/Compile/Round3Apf.java test/tools/apt/Compile/Round4Apf.java test/tools/apt/Compile/Rounds.java test/tools/apt/Compile/StaticApf.java test/tools/apt/Compile/WarnAPF.java test/tools/apt/Compile/WrappedStaticApf.java test/tools/apt/Compile/compile.sh test/tools/apt/Compile/golden.txt test/tools/apt/Compile/goldenFactory.txt test/tools/apt/Compile/goldenWarn.txt test/tools/apt/Compile/servicesRound1 test/tools/apt/Compile/servicesRound2 test/tools/apt/Compile/servicesRound3 test/tools/apt/Compile/servicesRound4 test/tools/apt/Compile/servicesStaticApf test/tools/apt/Compile/src/AhOneClass.java test/tools/apt/Compile/src/AndAhTwoClass.java test/tools/apt/Compile/src/Round1Class.java test/tools/apt/Discovery/Dee.java test/tools/apt/Discovery/Dum.java test/tools/apt/Discovery/Empty.java test/tools/apt/Discovery/PhantomTouch.java test/tools/apt/Discovery/PhantomUpdate.java test/tools/apt/Discovery/Touch.java test/tools/apt/Discovery/discovery.sh test/tools/apt/Discovery/servicesBadTouch test/tools/apt/Discovery/servicesPhantomTouch test/tools/apt/Discovery/servicesTouch test/tools/apt/Discovery/servicesTweedle test/tools/apt/Misc/Marked.java test/tools/apt/Misc/Marker.java test/tools/apt/Misc/Misc.java test/tools/apt/Misc/misc.sh test/tools/apt/Misc/servicesMisc test/tools/apt/Options/Marked.java test/tools/apt/Options/Marker.java test/tools/apt/Options/OptionChecker.java test/tools/apt/Options/options.sh test/tools/apt/Options/servicesOptions test/tools/apt/Scanners/Counter.java test/tools/apt/Scanners/MemberOrderApf.java test/tools/apt/Scanners/Order.java test/tools/apt/Scanners/Scanner.java test/tools/apt/Scanners/TestEnum.java test/tools/apt/Scanners/VisitOrder.java test/tools/apt/Scanners/scanner.sh test/tools/apt/Scanners/servicesScanner test/tools/apt/lib/Ignore.java test/tools/apt/lib/Test.java test/tools/apt/lib/TestProcessor.java test/tools/apt/lib/TestProcessorFactory.java test/tools/apt/lib/Tester.java test/tools/apt/mirror/declaration/AnnoMirror.java test/tools/apt/mirror/declaration/AnnoTypeDecl.java test/tools/apt/mirror/declaration/AnnoTypeElemDecl.java test/tools/apt/mirror/declaration/AnnoVal.java test/tools/apt/mirror/declaration/ClassDecl.java test/tools/apt/mirror/declaration/ConstExpr.java test/tools/apt/mirror/declaration/ConstructorDecl.java test/tools/apt/mirror/declaration/EnumDecl.java test/tools/apt/mirror/declaration/FieldDecl.java test/tools/apt/mirror/declaration/GetAnno.java test/tools/apt/mirror/declaration/InterfaceDecl.java test/tools/apt/mirror/declaration/MethodDecl.java test/tools/apt/mirror/declaration/PackageDecl.java test/tools/apt/mirror/declaration/ParameterDecl.java test/tools/apt/mirror/declaration/pkg1/AClass.java test/tools/apt/mirror/declaration/pkg1/AnAnnoType.java test/tools/apt/mirror/declaration/pkg1/AnEnum.java test/tools/apt/mirror/declaration/pkg1/AnInterface.java test/tools/apt/mirror/declaration/pkg1/package-info.java test/tools/apt/mirror/declaration/pkg1/pkg2/AnInterface.java test/tools/apt/mirror/declaration/pkg1/pkg2/package.html test/tools/apt/mirror/type/AnnoTyp.java test/tools/apt/mirror/type/ArrayTyp.java test/tools/apt/mirror/type/ClassTyp.java test/tools/apt/mirror/type/EnumTyp.java test/tools/apt/mirror/type/InterfaceTyp.java test/tools/apt/mirror/type/PrimitiveTyp.java test/tools/apt/mirror/type/TypeVar.java test/tools/apt/mirror/type/WildcardTyp.java test/tools/apt/mirror/util/Overrides.java test/tools/apt/mirror/util/TypeCreation.java
diffstat 250 files changed, 332 insertions(+), 24058 deletions(-) [+]
line wrap: on
line diff
--- a/make/Makefile-classic	Thu Feb 16 13:01:46 2012 -0800
+++ b/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/make/build.properties	Thu Feb 16 13:01:46 2012 -0800
+++ b/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/make/build.xml	Thu Feb 16 13:01:46 2012 -0800
+++ b/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/make/netbeans/README	Thu Feb 16 13:01:46 2012 -0800
+++ b/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/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/make/test/lib/src.gold.txt	Thu Feb 16 13:01:46 2012 -0800
+++ b/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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.
-     */