Merge

Mon, 21 Jun 2010 22:09:18 -0700

author
lana
date
Mon, 21 Jun 2010 22:09:18 -0700
changeset 590
4cca8d7ce6c1
parent 570
ab1356297c67
parent 589
4177f5bdd189
child 591
d1d7595fa824

Merge

     1.1 --- a/make/Makefile	Thu Jun 17 16:28:21 2010 -0700
     1.2 +++ b/make/Makefile	Mon Jun 21 22:09:18 2010 -0700
     1.3 @@ -26,9 +26,9 @@
     1.4  # Makefile for langtools: wrapper around Ant build.xml file
     1.5  
     1.6  #
     1.7 -# On Solaris, the 'make' utility from Sun will not work with these makefiles.
     1.8 -#    This little rule is only understood by Sun's make, and is harmless
     1.9 -#    when seen by the GNU make tool. If using Sun's make, this causes the
    1.10 +# On Solaris, the standard 'make' utility will not work with these makefiles.
    1.11 +#    This little rule is only understood by Solaris make, and is harmless
    1.12 +#    when seen by the GNU make tool. If using Solaris make, this causes the
    1.13  #    make command to fail.
    1.14  #
    1.15  SUN_MAKE_TEST:sh = @echo "ERROR: PLEASE USE GNU VERSION OF MAKE"; exit 33
    1.16 @@ -40,15 +40,16 @@
    1.17  
    1.18  SYSTEM_UNAME := $(shell uname)
    1.19  
    1.20 +# Where is unwanted output to be delivered?
    1.21 +# On Windows, MKS uses the special file "NUL", cygwin uses the customary unix file.
    1.22  ifeq ($(SYSTEM_UNAME), Windows_NT)
    1.23  DEV_NULL = NUL
    1.24  else
    1.25 +DEV_NULL = /dev/null 
    1.26 +endif
    1.27 +
    1.28  ifneq (,$(findstring CYGWIN,$(SYSTEM_UNAME)))
    1.29 -DEV_NULL = NUL
    1.30  USING_CYGWIN = true
    1.31 -else
    1.32 -DEV_NULL = /dev/null
    1.33 -endif 
    1.34  endif
    1.35  
    1.36  ifdef USING_CYGWIN
    1.37 @@ -202,7 +203,7 @@
    1.38  
    1.39  #-------------------------------------------------------------------
    1.40  #
    1.41 -# Targets for Sun's internal JPRT build system
    1.42 +# Targets for Oracle's internal JPRT build system
    1.43  
    1.44  CD = cd
    1.45  ZIP = zip
     2.1 --- a/make/Makefile-classic	Thu Jun 17 16:28:21 2010 -0700
     2.2 +++ b/make/Makefile-classic	Mon Jun 21 22:09:18 2010 -0700
     2.3 @@ -28,9 +28,9 @@
     2.4  #
     2.5  
     2.6  #
     2.7 -# On Solaris, the 'make' utility from Sun will not work with these makefiles.
     2.8 -#    This little rule is only understood by Sun's make, and is harmless
     2.9 -#    when seen by the GNU make tool. If using Sun's make, this causes the
    2.10 +# On Solaris, the standard 'make' utility will not work with these makefiles.
    2.11 +#    This little rule is only understood by Solaris make, and is harmless
    2.12 +#    when seen by the GNU make tool. If using Solaris make, this causes the
    2.13  #    make command to fail.
    2.14  #
    2.15  SUN_MAKE_TEST:sh = @echo "ERROR: PLEASE USE GNU VERSION OF MAKE"; exit 33
     3.1 --- a/make/build.properties	Thu Jun 17 16:28:21 2010 -0700
     3.2 +++ b/make/build.properties	Mon Jun 21 22:09:18 2010 -0700
     3.3 @@ -76,17 +76,27 @@
     3.4  javadoc.jls3.option=-tag "jls3:a:See <cite>${javadoc.jls3.cite}</cite>:"
     3.5  
     3.6  # jtreg, used to run the JDK regression tests
     3.7 +# See http://openjdk.java.net/jtreg/
     3.8  # Override this path as needed, either on the command line or in
     3.9  # one of the standard user build.properties files (see build.xml)
    3.10  
    3.11 -# jtreg.home = /opt/jtreg/3.2.2_02
    3.12 +# jtreg.home = /opt/jtreg/4.1
    3.13  
    3.14  # findbugs
    3.15 +# See http://findbugs.sourceforge.net/
    3.16  # Override this path as needed, either on the command line or in
    3.17  # one of the standard user build.properties files (see build.xml)
    3.18  
    3.19  # findbugs.home = /opt/findbugs/1.2.1
    3.20  
    3.21 +# vizant (graph visualization tool for Ant)
    3.22 +# See http://vizant.sourceforge.net/
    3.23 +# Override this path as needed, either on the command line or in
    3.24 +# one of the standard user build.properties files (see build.xml)
    3.25 +
    3.26 +# vizant.jar = /opt/vizant/0.1.2/vizant-0.1.2.jar
    3.27 +# dot = dot
    3.28 +
    3.29  #------------------------------------------------------------
    3.30  
    3.31  # The following properties define the packages for each of the tools.
    3.32 @@ -148,12 +158,14 @@
    3.33  
    3.34  #
    3.35  
    3.36 -# The following files require the import JDK to be available
    3.37 -require.import.jdk.files = \
    3.38 +# The following files require the latest JDK to be available.
    3.39 +# The API can be provided by using a suitable boot.java.home
    3.40 +# or by setting import.jdk
    3.41 +require.latest.jdk.files = \
    3.42      com/sun/tools/javac/nio/*.java
    3.43  
    3.44  # The following files in the import jdk source directory are required
    3.45 -# in order to compile the files defined in ${require.import.jdk.files}
    3.46 +# in order to compile the files defined in ${require.latest.jdk.files}
    3.47  #
    3.48  # For NIO, the list of stub files is defined by the contents of the primary
    3.49  # API packages, together with such types that may be required in order to
     4.1 --- a/make/build.xml	Thu Jun 17 16:28:21 2010 -0700
     4.2 +++ b/make/build.xml	Mon Jun 21 22:09:18 2010 -0700
     4.3 @@ -25,12 +25,79 @@
     4.4  -->
     4.5  
     4.6  <!--
     4.7 - This is the main build file for the complete langtools workspace.
     4.8 - It is used both when working on the tools in NetBeans, and when building
     4.9 - JDK itself, in which case it is invoked from the wrapper Makefile.
    4.10 + This is the main build file for the complete langtools repository.
    4.11 + It is used when building JDK (in which case it is invoked from the
    4.12 + Makefile), and it can be used when working on the tools themselves,
    4.13 + in an IDE such as NetBeans.
    4.14 +
    4.15 + External dependencies are specified via properties. These can be given
    4.16 + on the command line, or by providing a local build.properties file.
    4.17 + (They can also be edited into make/build.properties, although that is not
    4.18 + recommended.)  At a minimum, boot.java.home must be set to the installed
    4.19 + location of the version of JDK used to build this repository. Additional
    4.20 + properties may be required, depending on the targets that are built.
    4.21 + For example, to run any of the jtreg tests you must set jtreg.home,
    4.22 + to run findbugs on the code you must set findbugs.home, and so on.
    4.23 +
    4.24 + For the most part, javac can be built using the previous version of JDK.
    4.25 + However, a small number of javac files require access to the latest JDK,
    4.26 + which may not yet have been compiled. To compile these files, you can do
    4.27 + one of the following:
    4.28 + - Set boot.java.home to a recent build of the latest version of JDK.
    4.29 + - Set import.jdk to either a recent build (containing jre/lib/rt.jar)
    4.30 +   or to jdk source repository.  In the latter case, stub files will
    4.31 +   automatically be generated and used for the required API, to avoid
    4.32 +   unnecessary compilation of the source repository.
    4.33 + If you do neither, the relevant files will not be built.
    4.34 +
    4.35 + The main build happens in two phases:
    4.36 + - First, javac and other tools as needed are built using ${boot.java.home}.
    4.37 +   (This implies a constraint on the source code that they can be compiled
    4.38 +   with the previous version of JDK.
    4.39 + - Second, all required classes are compiled with the latest javac, created
    4.40 +   in the previous step.
    4.41 + The first phase is called the bootstrap phase. All targets, properties and
    4.42 + tasks that are specific to that phase have "bootstrap" in their name.
    4.43 +
    4.44 + For more details on the JDK build, see
    4.45 +    http://blogs.sun.com/kto/entry/anatomy_of_the_jdk_build
    4.46 +    http://openjdk.java.net/groups/build/
    4.47 + For more details on the stub generator, see
    4.48 +    http://blogs.sun.com/jjg/entry/building_javac_for_jdk7
    4.49 +
    4.50 + Internal details ...
    4.51 +
    4.52 + Interim build products are created in the build/ directory.
    4.53 + Final build products are created in the dist/ directory.
    4.54 + When building JDK, the dist/directory will contain:
    4.55 + - A bootstrap compiler suitable for running with ${boot.java.home}
    4.56 +   suitable for compiling downstream parts of JDK
    4.57 + - Source files and class files for inclusion in the JDK being built
    4.58 + When building standalone, the dist/directory will contain:
    4.59 + - Separate jar files for each of the separate langtools components
    4.60 + - Simple scripts to invoke the tools by executing the corresponding
    4.61 +   jar files.
    4.62 + These jar files and scripts are "for developer use only".
    4.63 +
    4.64 + This file is organized into sections as follows:
    4.65 + - global property definitions
    4.66 + - general top level targets
    4.67 + - general diagnostic/debugging targets
    4.68 + - groups of targets for each tool: javac, javadoc, doclets, javah, javap, apt
    4.69 +    Within each group, the following targets are provided, where applicable
    4.70 +      build-bootstrap-TOOL      build the bootstrap version of the tool
    4.71 +      build-classes-TOOL        build the classes for the tool
    4.72 +      build-TOOL                build the jar file and script for the tool
    4.73 +      jtreg-TOOL                build the tool and run the appropriate tests
    4.74 +      findbugs-TOOL             run findbugs on the tool's source oode
    4.75 +      TOOL                      build the tool, run the tests, and run findbugs
    4.76 + - utility definitions
    4.77   -->
    4.78  
    4.79  <project name="langtools" default="build" basedir="..">
    4.80 +    <!--
    4.81 +    **** Global property definitions.
    4.82 +    -->
    4.83  
    4.84      <!-- Force full debuginfo for javac if the debug.classfiles
    4.85      property is set.  This must be BEFORE the include of
    4.86 @@ -107,35 +174,55 @@
    4.87          ignoresystemclasses="true"
    4.88          classpath="${import.jdk}/jre/lib/rt.jar" classname="java.nio.file.Path"/>
    4.89  
    4.90 -    <!-- Set the default value of the sourcepath used for javac. -->
    4.91 -    <condition property="javac.sourcepath" value="${build.genstubs.dir}" else="">
    4.92 -        <isset property="import.jdk.src.dir"/>
    4.93 -    </condition>
    4.94 -
    4.95 -    <!-- Set the default value of the classpath used for javac. -->
    4.96 -    <property name="javac.classpath" value=""/>
    4.97 -
    4.98 -    <!-- Set the default bootclasspath option used for javac. 
    4.99 -	Note that different variants of the option are used, meaning we can't just 
   4.100 -	define the value for the option.
   4.101 -	Note the explicit use of the standard property ${path.separator} in the following.
   4.102 -	This is because Ant is not clever enough to handle direct use of : or ; -->
   4.103 +    <!-- Set the default bootclasspath option used for javac.
   4.104 +        Note that different variants of the option are used, meaning we can't just
   4.105 +        define the value for the option.
   4.106 +        Note the explicit use of the standard property ${path.separator} in the following.
   4.107 +        This is because Ant is not clever enough to handle direct use of : or ; -->
   4.108      <condition property="javac.bootclasspath.opt"
   4.109              value="-Xbootclasspath:${build.classes.dir}${path.separator}${import.jdk.jar}"
   4.110              else="-Xbootclasspath/p:${build.classes.dir}">
   4.111          <isset property="import.jdk.jar"/>
   4.112      </condition>
   4.113  
   4.114 -    <condition property="exclude.files" value="" else="${require.import.jdk.files}">
   4.115 -        <isset property="import.jdk"/>
   4.116 +    <condition property="boot.java.provides.latest.jdk">
   4.117 +        <available
   4.118 +            ignoresystemclasses="true"
   4.119 +            classpath="${boot.java.home}/jre/lib/rt.jar" classname="java.nio.file.Path"/>
   4.120      </condition>
   4.121  
   4.122 -    <!-- for debugging -->
   4.123 -    <target name="check-import.jdk">
   4.124 -        <echo message="import.jdk: ${import.jdk}"/>
   4.125 -        <echo message="import.jdk.jar: ${import.jdk.jar}"/>
   4.126 -        <echo message="import.jdk.src.dir: ${import.jdk.src.dir}"/>
   4.127 -    </target>
   4.128 +    <condition property="bootstrap.exclude.files" value="" else="${require.latest.jdk.files}">
   4.129 +        <isset property="boot.java.provides.latest.jdk"/>
   4.130 +    </condition>
   4.131 +
   4.132 +    <condition property="exclude.files" value="" else="${require.latest.jdk.files}">
   4.133 +        <or>
   4.134 +            <isset property="boot.java.provides.latest.jdk"/>
   4.135 +            <isset property="import.jdk"/>
   4.136 +        </or>
   4.137 +    </condition>
   4.138 +
   4.139 +    <condition property="require.import.jdk.stubs">
   4.140 +        <and>
   4.141 +            <not>
   4.142 +                <isset property="boot.java.provides.latest.jdk"/>
   4.143 +            </not>
   4.144 +            <isset property="import.jdk.src.dir"/>
   4.145 +        </and>
   4.146 +    </condition>
   4.147 +
   4.148 +    <!-- Set the default value of the sourcepath used for javac. -->
   4.149 +    <condition property="javac.sourcepath" value="${build.genstubs.dir}" else="">
   4.150 +        <isset property="require.import.jdk.stubs"/>
   4.151 +    </condition>
   4.152 +
   4.153 +    <!-- Set the default value of the classpath used for javac. -->
   4.154 +    <property name="javac.classpath" value=""/>
   4.155 +
   4.156 +
   4.157 +    <!--
   4.158 +    **** General top level targets.
   4.159 +    -->
   4.160  
   4.161      <!-- Standard target to build deliverables for JDK build. -->
   4.162  
   4.163 @@ -235,7 +322,61 @@
   4.164              datafile="${build.coverage.dir}/cobertura.ser"/>
   4.165      </target>
   4.166  
   4.167 -    <!-- javac targets -->
   4.168 +
   4.169 +    <!--
   4.170 +    **** Debugging/diagnostic targets.
   4.171 +    -->
   4.172 +
   4.173 +    <!-- standard JDK target -->
   4.174 +    <target name="sanity"
   4.175 +        description="display settings of configuration values">
   4.176 +        <echo level="info">ant.home = ${ant.home}</echo>
   4.177 +        <echo level="info">boot.java.home = ${boot.java.home}</echo>
   4.178 +        <echo level="info">target.java.home = ${target.java.home}</echo>
   4.179 +        <echo level="info">jtreg.home = ${jtreg.home}</echo>
   4.180 +        <echo level="info">findbugs.home = ${findbugs.home}</echo>
   4.181 +    </target>
   4.182 +
   4.183 +    <target name="post-sanity" depends="-def-jtreg,sanity,build"
   4.184 +        description="perform basic validation after a standard build">
   4.185 +        <jtreg
   4.186 +            dir="make/test"
   4.187 +            workDir="${build.jtreg.dir}/post-sanity/work"
   4.188 +            reportDir="${build.jtreg.dir}/post-sanity/report"
   4.189 +            jdk="${target.java.home}"
   4.190 +            verbose="summary"
   4.191 +            failonerror="false" resultproperty="jtreg.post-sanity.result">
   4.192 +        </jtreg>
   4.193 +    </target>
   4.194 +
   4.195 +    <!-- use vizant tool to generate graphical image of this Ant file.-->
   4.196 +    <target name="vizant" depends="-def-vizant">
   4.197 +        <mkdir dir="${build.dir}"/>
   4.198 +        <echo message="Generating ${build.dir}/build.dot"/>
   4.199 +        <vizant antfile="${make.dir}/build.xml" outfile="${build.dir}/build.dot"/>
   4.200 +        <echo message="Generating ${build.dir}/build.png"/>
   4.201 +        <exec executable="${dot}" >
   4.202 +            <arg value="-Tpng"/>
   4.203 +            <arg value="-o"/>
   4.204 +            <arg file="${build.dir}/build.png"/>
   4.205 +            <arg file="${build.dir}/build.dot"/>
   4.206 +        </exec>
   4.207 +    </target>
   4.208 +
   4.209 +    <target name="check-import.jdk">
   4.210 +        <echo message="import.jdk: ${import.jdk}"/>
   4.211 +        <echo message="import.jdk.jar: ${import.jdk.jar}"/>
   4.212 +        <echo message="import.jdk.src.dir: ${import.jdk.src.dir}"/>
   4.213 +    </target>
   4.214 +
   4.215 +    <target name="diagnostics">
   4.216 +        <diagnostics/>
   4.217 +    </target>
   4.218 +
   4.219 +
   4.220 +    <!--
   4.221 +    **** javac targets.
   4.222 +    -->
   4.223  
   4.224      <target name="build-bootstrap-javac"
   4.225              depends="-def-build-bootstrap-classes,-def-build-bootstrap-jar,-def-build-bootstrap-tool">
   4.226 @@ -267,7 +408,10 @@
   4.227  
   4.228      <target name="javac" depends="build-javac,jtreg-javac,findbugs-javac"/>
   4.229  
   4.230 -    <!-- javadoc targets -->
   4.231 +
   4.232 +    <!--
   4.233 +    **** javadoc targets.
   4.234 +    -->
   4.235  
   4.236      <target name="build-bootstrap-javadoc" depends="build-bootstrap-javac">
   4.237          <build-bootstrap-classes includes="${javadoc.includes}"/>
   4.238 @@ -300,7 +444,10 @@
   4.239  
   4.240      <target name="javadoc" depends="build-javadoc,jtreg-javadoc,findbugs-javadoc"/>
   4.241  
   4.242 -    <!-- doclets targets -->
   4.243 +
   4.244 +    <!--
   4.245 +    **** doclets targets.
   4.246 +    -->
   4.247  
   4.248      <target name="build-bootstrap-doclets" depends="build-bootstrap-javadoc,-def-build-bootstrap-jar">
   4.249          <build-bootstrap-classes includes="${doclets.includes}"/>
   4.250 @@ -330,7 +477,10 @@
   4.251  
   4.252      <target name="doclets" depends="build-doclets,jtreg-doclets,findbugs-doclets"/>
   4.253  
   4.254 -    <!-- javah targets -->
   4.255 +
   4.256 +    <!--
   4.257 +    **** javah targets.
   4.258 +    -->
   4.259  
   4.260      <target name="build-bootstrap-javah" depends="build-bootstrap-javadoc">
   4.261          <build-bootstrap-classes includes="${javah.includes}"/>
   4.262 @@ -360,7 +510,10 @@
   4.263  
   4.264      <target name="javah" depends="build-javah,jtreg-javah,findbugs-javah"/>
   4.265  
   4.266 -    <!-- javap targets -->
   4.267 +
   4.268 +    <!--
   4.269 +    **** javap targets.
   4.270 +    -->
   4.271  
   4.272      <target name="build-bootstrap-javap"
   4.273              depends="-def-build-bootstrap-classes,-def-build-bootstrap-jar,-def-build-bootstrap-tool">
   4.274 @@ -393,7 +546,10 @@
   4.275  
   4.276      <target name="javap" depends="build-javap,jtreg-javap,findbugs-javap"/>
   4.277  
   4.278 -    <!-- apt targets -->
   4.279 +
   4.280 +    <!--
   4.281 +    **** apt targets.
   4.282 +    -->
   4.283  
   4.284      <target name="build-bootstrap-apt" depends="build-bootstrap-javac">
   4.285          <build-bootstrap-classes includes="${apt.includes}"/>
   4.286 @@ -426,9 +582,12 @@
   4.287  
   4.288      <target name="apt" depends="build-apt,jtreg-apt,findbugs-apt"/>
   4.289  
   4.290 -    <!-- Create import JDK stubs -->
   4.291  
   4.292 -    <target name="-create-import-jdk-stubs" depends="-def-genstubs" if="import.jdk.src.dir">
   4.293 +    <!--
   4.294 +    **** Create import JDK stubs.
   4.295 +    -->
   4.296 +
   4.297 +    <target name="-create-import-jdk-stubs" depends="-def-genstubs" if="require.import.jdk.stubs">
   4.298          <mkdir dir="${build.genstubs.dir}"/>
   4.299          <genstubs
   4.300              srcdir="${import.jdk.src.dir}" destdir="${build.genstubs.dir}"
   4.301 @@ -437,7 +596,12 @@
   4.302          />
   4.303      </target>
   4.304  
   4.305 -    <!-- Check targets -->
   4.306 +
   4.307 +    <!--
   4.308 +    **** Check targets.
   4.309 +    **** "-check-*" targets check that a required property is set, and set to a reasonable value.
   4.310 +    **** A user friendly message is generated if not, and the build exits.
   4.311 +    -->
   4.312  
   4.313      <target name="-check-boot.java.home" depends="-def-check">
   4.314          <check name="bootstrap java" property="boot.java.home" marker="${java.marker}"/>
   4.315 @@ -459,7 +623,15 @@
   4.316          <check name="jtreg" property="jtreg.home" marker="lib/jtreg.jar"/>
   4.317      </target>
   4.318  
   4.319 -    <!-- Ant macro and preset defs -->
   4.320 +    <target name="-check-vizant" depends="-def-check">
   4.321 +        <check name="vizant" property="vizant.jar"/>
   4.322 +        <check name="dot" property="dot"/>
   4.323 +    </target>
   4.324 +
   4.325 +
   4.326 +    <!--
   4.327 +    **** Targets for Ant macro and task definitions.
   4.328 +    -->
   4.329  
   4.330      <target name="-def-build-tool">
   4.331          <macrodef name="build-tool">
   4.332 @@ -599,7 +771,7 @@
   4.333                  sourcepath=""
   4.334                  release="${bootstrap.release}"
   4.335                  full.version="${bootstrap.full.version}"
   4.336 -                excludes="${require.import.jdk.files} **/package-info.java"/>
   4.337 +                excludes="${bootstrap.exclude.files} **/package-info.java"/>
   4.338          </presetdef>
   4.339      </target>
   4.340  
   4.341 @@ -617,7 +789,7 @@
   4.342                   classpath="${build.toolclasses.dir}/"/>
   4.343      </target>
   4.344  
   4.345 -    <target name="-def-genstubs" depends="build-bootstrap-javac">
   4.346 +    <target name="-def-genstubs" depends="build-bootstrap-javac" if="require.import.jdk.stubs">
   4.347          <mkdir dir="${build.toolclasses.dir}"/>
   4.348          <javac fork="true"
   4.349                 source="${boot.javac.source}"
   4.350 @@ -640,7 +812,7 @@
   4.351              <sequential>
   4.352                  <property name="javadoc.options" value=""/> <!-- default, can be overridden per user or per project -->
   4.353                  <!-- Note: even with this default value, includes
   4.354 -         from src.classes.dir get javadoc'd; see packageset below -->
   4.355 +                from src.classes.dir get javadoc'd; see packageset below -->
   4.356                  <property name="javadoc.packagenames" value="none"/> <!-- default, can be overridden per user or per project -->
   4.357                  <javadoc
   4.358                      executable="${target.java.home}/bin/javadoc"
   4.359 @@ -691,13 +863,15 @@
   4.360              <attribute name="tests"/>
   4.361              <attribute name="jdk" default="${target.java.home}"/>
   4.362              <attribute name="samevm" default="true"/>
   4.363 -            <attribute name="verbose" default="summary"/>
   4.364 -            <attribute name="options" default=""/>
   4.365 +            <attribute name="verbose" default="${default.jtreg.verbose}"/>
   4.366 +            <attribute name="options" default="${other.jtreg.options}"/>
   4.367              <attribute name="keywords" default="-keywords:!ignore"/>
   4.368              <attribute name="jpda.jvmargs" default=""/>
   4.369              <sequential>
   4.370 -                <property name="coverage.options" value=""/>    <!-- default -->
   4.371 -                <property name="coverage.classpath" value=""/>    <!-- default -->
   4.372 +                <property name="coverage.options" value=""/>              <!-- default -->
   4.373 +                <property name="coverage.classpath" value=""/>            <!-- default -->
   4.374 +                <property name="default.jtreg.verbose" value="summary"/>  <!-- default -->
   4.375 +                <property name="other.jtreg.options" value=""/>           <!-- default -->
   4.376                  <jtreg
   4.377                      dir="${test.dir}"
   4.378                      workDir="${build.jtreg.dir}/@{name}/work"
   4.379 @@ -766,11 +940,16 @@
   4.380          <property name="findbugs.defined" value="true"/>
   4.381      </target>
   4.382  
   4.383 +    <target name="-def-vizant" unless="vizant.defined" depends="-check-vizant">
   4.384 +        <taskdef name="vizant" classname="net.sourceforge.vizant.Vizant" classpath="${vizant.jar}"/>
   4.385 +        <property name="vizant.defined" value="true"/>
   4.386 +    </target>
   4.387 +
   4.388      <target name="-def-check">
   4.389          <macrodef name="check">
   4.390              <attribute name="name"/>
   4.391              <attribute name="property"/>
   4.392 -            <attribute name="marker"/>
   4.393 +            <attribute name="marker" default=""/>
   4.394              <sequential>
   4.395                  <fail message="Cannot locate @{name}: please set @{property} to its location">
   4.396                      <condition>
   4.397 @@ -781,41 +960,19 @@
   4.398                  </fail>
   4.399                  <fail message="@{name} is not installed in ${@{property}}">
   4.400                      <condition>
   4.401 -                        <not>
   4.402 -                            <available file="${@{property}}/@{marker}"/>
   4.403 -                        </not>
   4.404 +                        <and>
   4.405 +                            <not>
   4.406 +                                <equals arg1="@{marker}" arg2=""/>
   4.407 +                            </not>
   4.408 +                            <not>
   4.409 +                                <available file="${@{property}}/@{marker}"/>
   4.410 +                            </not>
   4.411 +                        </and>
   4.412                      </condition>
   4.413                  </fail>
   4.414              </sequential>
   4.415          </macrodef>
   4.416      </target>
   4.417  
   4.418 -    <!-- standard JDK target -->
   4.419 -    <target name="sanity"
   4.420 -        description="display settings of configuration values">
   4.421 -        <echo level="info">ant.home = ${ant.home}</echo>
   4.422 -        <echo level="info">boot.java.home = ${boot.java.home}</echo>
   4.423 -        <echo level="info">target.java.home = ${target.java.home}</echo>
   4.424 -        <echo level="info">jtreg.home = ${jtreg.home}</echo>
   4.425 -        <echo level="info">findbugs.home = ${findbugs.home}</echo>
   4.426 -    </target>
   4.427 -
   4.428 -    <!-- useful debugging targets -->
   4.429 -    <target name="diagnostics">
   4.430 -        <diagnostics/>
   4.431 -    </target>
   4.432 -
   4.433 -    <target name="post-sanity" depends="-def-jtreg,sanity,build"
   4.434 -        description="perform basic validation after a standard build">
   4.435 -        <jtreg
   4.436 -            dir="make/test"
   4.437 -            workDir="${build.jtreg.dir}/post-sanity/work"
   4.438 -            reportDir="${build.jtreg.dir}/post-sanity/report"
   4.439 -            jdk="${target.java.home}"
   4.440 -            verbose="summary"
   4.441 -            failonerror="false" resultproperty="jtreg.post-sanity.result">
   4.442 -        </jtreg>
   4.443 -
   4.444 -    </target>
   4.445  </project>
   4.446  
     5.1 --- a/src/share/classes/com/sun/source/tree/Tree.java	Thu Jun 17 16:28:21 2010 -0700
     5.2 +++ b/src/share/classes/com/sun/source/tree/Tree.java	Mon Jun 21 22:09:18 2010 -0700
     5.3 @@ -30,7 +30,7 @@
     5.4   *
     5.5   * <p><b>WARNING:</b> This interface and its sub-interfaces are
     5.6   * subject to change as the Java&trade; programming language evolves.
     5.7 - * These interfaces are implemented by Sun's Java compiler (javac)
     5.8 + * These interfaces are implemented by the JDK Java compiler (javac)
     5.9   * and should not be implemented either directly or indirectly by
    5.10   * other applications.
    5.11   *
     6.1 --- a/src/share/classes/com/sun/source/util/JavacTask.java	Thu Jun 17 16:28:21 2010 -0700
     6.2 +++ b/src/share/classes/com/sun/source/util/JavacTask.java	Mon Jun 21 22:09:18 2010 -0700
     6.3 @@ -36,7 +36,7 @@
     6.4  import javax.tools.JavaFileObject;
     6.5  
     6.6  /**
     6.7 - * Provides access to functionality specific to the Sun Java Compiler, javac.
     6.8 + * Provides access to functionality specific to the JDK Java Compiler, javac.
     6.9   *
    6.10   * @author Peter von der Ah&eacute;
    6.11   * @author Jonathan Gibbons
     7.1 --- a/src/share/classes/com/sun/source/util/TaskEvent.java	Thu Jun 17 16:28:21 2010 -0700
     7.2 +++ b/src/share/classes/com/sun/source/util/TaskEvent.java	Mon Jun 21 22:09:18 2010 -0700
     7.3 @@ -30,7 +30,7 @@
     7.4  import javax.tools.JavaFileObject;
     7.5  
     7.6  /**
     7.7 - * Provides details about work that has been done by the Sun Java Compiler, javac.
     7.8 + * Provides details about work that has been done by the JDK Java Compiler, javac.
     7.9   *
    7.10   * @author Jonathan Gibbons
    7.11   * @since 1.6
     8.1 --- a/src/share/classes/com/sun/source/util/TaskListener.java	Thu Jun 17 16:28:21 2010 -0700
     8.2 +++ b/src/share/classes/com/sun/source/util/TaskListener.java	Mon Jun 21 22:09:18 2010 -0700
     8.3 @@ -27,7 +27,7 @@
     8.4  
     8.5  
     8.6  /**
     8.7 - * Provides a listener to monitor the activity of the Sun Java Compiler, javac.
     8.8 + * Provides a listener to monitor the activity of the JDK Java Compiler, javac.
     8.9   *
    8.10   * @author Jonathan Gibbons
    8.11   * @since 1.6
     9.1 --- a/src/share/classes/com/sun/tools/apt/comp/Apt.java	Thu Jun 17 16:28:21 2010 -0700
     9.2 +++ b/src/share/classes/com/sun/tools/apt/comp/Apt.java	Mon Jun 21 22:09:18 2010 -0700
     9.3 @@ -60,7 +60,7 @@
     9.4  /**
     9.5   * Apt compiler phase.
     9.6   *
     9.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.
     9.8 + *  <p><b>This is NOT part of any supported API.
     9.9   *  If you write code that depends on this, you do so at your own
    9.10   *  risk.  This code and its internal interfaces are subject to change
    9.11   *  or deletion without notice.</b>
    10.1 --- a/src/share/classes/com/sun/tools/apt/main/CommandLine.java	Thu Jun 17 16:28:21 2010 -0700
    10.2 +++ b/src/share/classes/com/sun/tools/apt/main/CommandLine.java	Mon Jun 21 22:09:18 2010 -0700
    10.3 @@ -35,8 +35,8 @@
    10.4  /**
    10.5   * Various utility methods for processing Java tool command line arguments.
    10.6   *
    10.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    10.8 - *  you write code that depends on this, you do so at your own risk.
    10.9 + *  <p><b>This is NOT part of any supported API.
   10.10 + *  If you write code that depends on this, you do so at your own risk.
   10.11   *  This code and its internal interfaces are subject to change or
   10.12   *  deletion without notice.</b>
   10.13   */
    11.1 --- a/src/share/classes/com/sun/tools/apt/main/JavaCompiler.java	Thu Jun 17 16:28:21 2010 -0700
    11.2 +++ b/src/share/classes/com/sun/tools/apt/main/JavaCompiler.java	Mon Jun 21 22:09:18 2010 -0700
    11.3 @@ -45,7 +45,7 @@
    11.4  import com.sun.tools.javac.parser.DocCommentScanner;
    11.5  
    11.6  /**
    11.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.
    11.8 + *  <p><b>This is NOT part of any supported API.
    11.9   *  If you write code that depends on this, you do so at your own
   11.10   *  risk.  This code and its internal interfaces are subject to change
   11.11   *  or deletion without notice.</b>
    12.1 --- a/src/share/classes/com/sun/tools/apt/main/Main.java	Thu Jun 17 16:28:21 2010 -0700
    12.2 +++ b/src/share/classes/com/sun/tools/apt/main/Main.java	Mon Jun 21 22:09:18 2010 -0700
    12.3 @@ -61,7 +61,7 @@
    12.4  /** This class provides a commandline interface to the apt build-time
    12.5   *  tool.
    12.6   *
    12.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.
    12.8 + *  <p><b>This is NOT part of any supported API.
    12.9   *  If you write code that depends on this, you do so at your own
   12.10   *  risk.  This code and its internal interfaces are subject to change
   12.11   *  or deletion without notice.</b>
    13.1 --- a/src/share/classes/com/sun/tools/apt/util/Bark.java	Thu Jun 17 16:28:21 2010 -0700
    13.2 +++ b/src/share/classes/com/sun/tools/apt/util/Bark.java	Mon Jun 21 22:09:18 2010 -0700
    13.3 @@ -34,8 +34,8 @@
    13.4  
    13.5  /** A subtype of Log for use in APT.
    13.6   *
    13.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    13.8 - *  you write code that depends on this, you do so at your own risk.
    13.9 + *  <p><b>This is NOT part of any supported API.
   13.10 + *  If you write code that depends on this, you do so at your own risk.
   13.11   *  This code and its internal interfaces are subject to change or
   13.12   *  deletion without notice.</b>
   13.13   */
    14.1 --- a/src/share/classes/com/sun/tools/classfile/AccessFlags.java	Thu Jun 17 16:28:21 2010 -0700
    14.2 +++ b/src/share/classes/com/sun/tools/classfile/AccessFlags.java	Mon Jun 21 22:09:18 2010 -0700
    14.3 @@ -32,8 +32,8 @@
    14.4  /**
    14.5   * See JVMS3, sections 4.2, 4.6, 4.7.
    14.6   *
    14.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    14.8 - *  you write code that depends on this, you do so at your own risk.
    14.9 + *  <p><b>This is NOT part of any supported API.
   14.10 + *  If you write code that depends on this, you do so at your own risk.
   14.11   *  This code and its internal interfaces are subject to change or
   14.12   *  deletion without notice.</b>
   14.13   */
    15.1 --- a/src/share/classes/com/sun/tools/classfile/Annotation.java	Thu Jun 17 16:28:21 2010 -0700
    15.2 +++ b/src/share/classes/com/sun/tools/classfile/Annotation.java	Mon Jun 21 22:09:18 2010 -0700
    15.3 @@ -30,8 +30,8 @@
    15.4  /**
    15.5   * See JVMS3, section 4.8.16.
    15.6   *
    15.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    15.8 - *  you write code that depends on this, you do so at your own risk.
    15.9 + *  <p><b>This is NOT part of any supported API.
   15.10 + *  If you write code that depends on this, you do so at your own risk.
   15.11   *  This code and its internal interfaces are subject to change or
   15.12   *  deletion without notice.</b>
   15.13   */
    16.1 --- a/src/share/classes/com/sun/tools/classfile/AnnotationDefault_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    16.2 +++ b/src/share/classes/com/sun/tools/classfile/AnnotationDefault_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    16.3 @@ -30,8 +30,8 @@
    16.4  /**
    16.5   * See JVMS3, section 4.8.15.
    16.6   *
    16.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    16.8 - *  you write code that depends on this, you do so at your own risk.
    16.9 + *  <p><b>This is NOT part of any supported API.
   16.10 + *  If you write code that depends on this, you do so at your own risk.
   16.11   *  This code and its internal interfaces are subject to change or
   16.12   *  deletion without notice.</b>
   16.13   */
    17.1 --- a/src/share/classes/com/sun/tools/classfile/Attribute.java	Thu Jun 17 16:28:21 2010 -0700
    17.2 +++ b/src/share/classes/com/sun/tools/classfile/Attribute.java	Mon Jun 21 22:09:18 2010 -0700
    17.3 @@ -31,8 +31,8 @@
    17.4  import java.util.Map;
    17.5  
    17.6  /**
    17.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    17.8 - *  you write code that depends on this, you do so at your own risk.
    17.9 + *  <p><b>This is NOT part of any supported API.
   17.10 + *  If you write code that depends on this, you do so at your own risk.
   17.11   *  This code and its internal interfaces are subject to change or
   17.12   *  deletion without notice.</b>
   17.13   */
    18.1 --- a/src/share/classes/com/sun/tools/classfile/AttributeException.java	Thu Jun 17 16:28:21 2010 -0700
    18.2 +++ b/src/share/classes/com/sun/tools/classfile/AttributeException.java	Mon Jun 21 22:09:18 2010 -0700
    18.3 @@ -26,8 +26,8 @@
    18.4  package com.sun.tools.classfile;
    18.5  
    18.6  /*
    18.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    18.8 - *  you write code that depends on this, you do so at your own risk.
    18.9 + *  <p><b>This is NOT part of any supported API.
   18.10 + *  If you write code that depends on this, you do so at your own risk.
   18.11   *  This code and its internal interfaces are subject to change or
   18.12   *  deletion without notice.</b>
   18.13   */
    19.1 --- a/src/share/classes/com/sun/tools/classfile/Attributes.java	Thu Jun 17 16:28:21 2010 -0700
    19.2 +++ b/src/share/classes/com/sun/tools/classfile/Attributes.java	Mon Jun 21 22:09:18 2010 -0700
    19.3 @@ -32,8 +32,8 @@
    19.4  import java.util.Map;
    19.5  
    19.6  /*
    19.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    19.8 - *  you write code that depends on this, you do so at your own risk.
    19.9 + *  <p><b>This is NOT part of any supported API.
   19.10 + *  If you write code that depends on this, you do so at your own risk.
   19.11   *  This code and its internal interfaces are subject to change or
   19.12   *  deletion without notice.</b>
   19.13   */
    20.1 --- a/src/share/classes/com/sun/tools/classfile/CharacterRangeTable_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    20.2 +++ b/src/share/classes/com/sun/tools/classfile/CharacterRangeTable_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    20.3 @@ -28,8 +28,8 @@
    20.4  import java.io.IOException;
    20.5  
    20.6  /**
    20.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    20.8 - *  you write code that depends on this, you do so at your own risk.
    20.9 + *  <p><b>This is NOT part of any supported API.
   20.10 + *  If you write code that depends on this, you do so at your own risk.
   20.11   *  This code and its internal interfaces are subject to change or
   20.12   *  deletion without notice.</b>
   20.13   */
    21.1 --- a/src/share/classes/com/sun/tools/classfile/ClassFile.java	Thu Jun 17 16:28:21 2010 -0700
    21.2 +++ b/src/share/classes/com/sun/tools/classfile/ClassFile.java	Mon Jun 21 22:09:18 2010 -0700
    21.3 @@ -35,8 +35,8 @@
    21.4  /**
    21.5   * See JVMS3, section 4.2.
    21.6   *
    21.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    21.8 - *  you write code that depends on this, you do so at your own risk.
    21.9 + *  <p><b>This is NOT part of any supported API.
   21.10 + *  If you write code that depends on this, you do so at your own risk.
   21.11   *  This code and its internal interfaces are subject to change or
   21.12   *  deletion without notice.</b>
   21.13   */
    22.1 --- a/src/share/classes/com/sun/tools/classfile/ClassReader.java	Thu Jun 17 16:28:21 2010 -0700
    22.2 +++ b/src/share/classes/com/sun/tools/classfile/ClassReader.java	Mon Jun 21 22:09:18 2010 -0700
    22.3 @@ -32,8 +32,8 @@
    22.4  import java.io.InputStream;
    22.5  
    22.6  /**
    22.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    22.8 - *  you write code that depends on this, you do so at your own risk.
    22.9 + *  <p><b>This is NOT part of any supported API.
   22.10 + *  If you write code that depends on this, you do so at your own risk.
   22.11   *  This code and its internal interfaces are subject to change or
   22.12   *  deletion without notice.</b>
   22.13   */
    23.1 --- a/src/share/classes/com/sun/tools/classfile/ClassTranslator.java	Thu Jun 17 16:28:21 2010 -0700
    23.2 +++ b/src/share/classes/com/sun/tools/classfile/ClassTranslator.java	Mon Jun 21 22:09:18 2010 -0700
    23.3 @@ -42,8 +42,8 @@
    23.4  /**
    23.5   * Rewrites a class file using a map of translations.
    23.6   *
    23.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    23.8 - *  you write code that depends on this, you do so at your own risk.
    23.9 + *  <p><b>This is NOT part of any supported API.
   23.10 + *  If you write code that depends on this, you do so at your own risk.
   23.11   *  This code and its internal interfaces are subject to change or
   23.12   *  deletion without notice.</b>
   23.13   */
    24.1 --- a/src/share/classes/com/sun/tools/classfile/ClassWriter.java	Thu Jun 17 16:28:21 2010 -0700
    24.2 +++ b/src/share/classes/com/sun/tools/classfile/ClassWriter.java	Mon Jun 21 22:09:18 2010 -0700
    24.3 @@ -41,8 +41,8 @@
    24.4  /**
    24.5   * Write a ClassFile data structure to a file or stream.
    24.6   *
    24.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    24.8 - *  you write code that depends on this, you do so at your own risk.
    24.9 + *  <p><b>This is NOT part of any supported API.
   24.10 + *  If you write code that depends on this, you do so at your own risk.
   24.11   *  This code and its internal interfaces are subject to change or
   24.12   *  deletion without notice.</b>
   24.13   */
    25.1 --- a/src/share/classes/com/sun/tools/classfile/Code_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    25.2 +++ b/src/share/classes/com/sun/tools/classfile/Code_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    25.3 @@ -32,8 +32,8 @@
    25.4  /**
    25.5   * See JVMS3, section 4.8.3.
    25.6   *
    25.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    25.8 - *  you write code that depends on this, you do so at your own risk.
    25.9 + *  <p><b>This is NOT part of any supported API.
   25.10 + *  If you write code that depends on this, you do so at your own risk.
   25.11   *  This code and its internal interfaces are subject to change or
   25.12   *  deletion without notice.</b>
   25.13   */
    26.1 --- a/src/share/classes/com/sun/tools/classfile/CompilationID_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    26.2 +++ b/src/share/classes/com/sun/tools/classfile/CompilationID_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    26.3 @@ -27,8 +27,8 @@
    26.4  import java.io.IOException;
    26.5  
    26.6  /**
    26.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    26.8 - *  you write code that depends on this, you do so at your own risk.
    26.9 + *  <p><b>This is NOT part of any supported API.
   26.10 + *  If you write code that depends on this, you do so at your own risk.
   26.11   *  This code and its internal interfaces are subject to change or
   26.12   *  deletion without notice.</b>
   26.13   */
    27.1 --- a/src/share/classes/com/sun/tools/classfile/ConstantPool.java	Thu Jun 17 16:28:21 2010 -0700
    27.2 +++ b/src/share/classes/com/sun/tools/classfile/ConstantPool.java	Mon Jun 21 22:09:18 2010 -0700
    27.3 @@ -33,8 +33,8 @@
    27.4  /**
    27.5   * See JVMS3, section 4.5.
    27.6   *
    27.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    27.8 - *  you write code that depends on this, you do so at your own risk.
    27.9 + *  <p><b>This is NOT part of any supported API.
   27.10 + *  If you write code that depends on this, you do so at your own risk.
   27.11   *  This code and its internal interfaces are subject to change or
   27.12   *  deletion without notice.</b>
   27.13   */
    28.1 --- a/src/share/classes/com/sun/tools/classfile/ConstantPoolException.java	Thu Jun 17 16:28:21 2010 -0700
    28.2 +++ b/src/share/classes/com/sun/tools/classfile/ConstantPoolException.java	Mon Jun 21 22:09:18 2010 -0700
    28.3 @@ -27,8 +27,8 @@
    28.4  package com.sun.tools.classfile;
    28.5  
    28.6  /*
    28.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    28.8 - *  you write code that depends on this, you do so at your own risk.
    28.9 + *  <p><b>This is NOT part of any supported API.
   28.10 + *  If you write code that depends on this, you do so at your own risk.
   28.11   *  This code and its internal interfaces are subject to change or
   28.12   *  deletion without notice.</b>
   28.13   */
    29.1 --- a/src/share/classes/com/sun/tools/classfile/ConstantValue_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    29.2 +++ b/src/share/classes/com/sun/tools/classfile/ConstantValue_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    29.3 @@ -30,8 +30,8 @@
    29.4  /**
    29.5   * See JVMS3, section 4.8.2.
    29.6   *
    29.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    29.8 - *  you write code that depends on this, you do so at your own risk.
    29.9 + *  <p><b>This is NOT part of any supported API.
   29.10 + *  If you write code that depends on this, you do so at your own risk.
   29.11   *  This code and its internal interfaces are subject to change or
   29.12   *  deletion without notice.</b>
   29.13   */
    30.1 --- a/src/share/classes/com/sun/tools/classfile/DefaultAttribute.java	Thu Jun 17 16:28:21 2010 -0700
    30.2 +++ b/src/share/classes/com/sun/tools/classfile/DefaultAttribute.java	Mon Jun 21 22:09:18 2010 -0700
    30.3 @@ -26,8 +26,8 @@
    30.4  package com.sun.tools.classfile;
    30.5  
    30.6  /*
    30.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    30.8 - *  you write code that depends on this, you do so at your own risk.
    30.9 + *  <p><b>This is NOT part of any supported API.
   30.10 + *  If you write code that depends on this, you do so at your own risk.
   30.11   *  This code and its internal interfaces are subject to change or
   30.12   *  deletion without notice.</b>
   30.13   */
    31.1 --- a/src/share/classes/com/sun/tools/classfile/Deprecated_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    31.2 +++ b/src/share/classes/com/sun/tools/classfile/Deprecated_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    31.3 @@ -30,8 +30,8 @@
    31.4  /**
    31.5   * See JVMS3, section 4.8.15.
    31.6   *
    31.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    31.8 - *  you write code that depends on this, you do so at your own risk.
    31.9 + *  <p><b>This is NOT part of any supported API.
   31.10 + *  If you write code that depends on this, you do so at your own risk.
   31.11   *  This code and its internal interfaces are subject to change or
   31.12   *  deletion without notice.</b>
   31.13   */
    32.1 --- a/src/share/classes/com/sun/tools/classfile/Descriptor.java	Thu Jun 17 16:28:21 2010 -0700
    32.2 +++ b/src/share/classes/com/sun/tools/classfile/Descriptor.java	Mon Jun 21 22:09:18 2010 -0700
    32.3 @@ -31,8 +31,8 @@
    32.4  /**
    32.5   * See JVMS3, section 4.4.
    32.6   *
    32.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    32.8 - *  you write code that depends on this, you do so at your own risk.
    32.9 + *  <p><b>This is NOT part of any supported API.
   32.10 + *  If you write code that depends on this, you do so at your own risk.
   32.11   *  This code and its internal interfaces are subject to change or
   32.12   *  deletion without notice.</b>
   32.13   */
    33.1 --- a/src/share/classes/com/sun/tools/classfile/DescriptorException.java	Thu Jun 17 16:28:21 2010 -0700
    33.2 +++ b/src/share/classes/com/sun/tools/classfile/DescriptorException.java	Mon Jun 21 22:09:18 2010 -0700
    33.3 @@ -27,8 +27,8 @@
    33.4  package com.sun.tools.classfile;
    33.5  
    33.6  /*
    33.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    33.8 - *  you write code that depends on this, you do so at your own risk.
    33.9 + *  <p><b>This is NOT part of any supported API.
   33.10 + *  If you write code that depends on this, you do so at your own risk.
   33.11   *  This code and its internal interfaces are subject to change or
   33.12   *  deletion without notice.</b>
   33.13   */
    34.1 --- a/src/share/classes/com/sun/tools/classfile/EnclosingMethod_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    34.2 +++ b/src/share/classes/com/sun/tools/classfile/EnclosingMethod_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    34.3 @@ -31,8 +31,8 @@
    34.4  /**
    34.5   * See JVMS3, section 4.8.7.
    34.6   *
    34.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    34.8 - *  you write code that depends on this, you do so at your own risk.
    34.9 + *  <p><b>This is NOT part of any supported API.
   34.10 + *  If you write code that depends on this, you do so at your own risk.
   34.11   *  This code and its internal interfaces are subject to change or
   34.12   *  deletion without notice.</b>
   34.13   */
    35.1 --- a/src/share/classes/com/sun/tools/classfile/Exceptions_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    35.2 +++ b/src/share/classes/com/sun/tools/classfile/Exceptions_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    35.3 @@ -30,8 +30,8 @@
    35.4  /**
    35.5   * See JVMS3, section 4.8.5.
    35.6   *
    35.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    35.8 - *  you write code that depends on this, you do so at your own risk.
    35.9 + *  <p><b>This is NOT part of any supported API.
   35.10 + *  If you write code that depends on this, you do so at your own risk.
   35.11   *  This code and its internal interfaces are subject to change or
   35.12   *  deletion without notice.</b>
   35.13   */
    36.1 --- a/src/share/classes/com/sun/tools/classfile/ExtendedAnnotation.java	Thu Jun 17 16:28:21 2010 -0700
    36.2 +++ b/src/share/classes/com/sun/tools/classfile/ExtendedAnnotation.java	Mon Jun 21 22:09:18 2010 -0700
    36.3 @@ -36,8 +36,8 @@
    36.4  /**
    36.5   * See JSR 308 specification, section 4.1
    36.6   *
    36.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    36.8 - *  you write code that depends on this, you do so at your own risk.
    36.9 + *  <p><b>This is NOT part of any supported API.
   36.10 + *  If you write code that depends on this, you do so at your own risk.
   36.11   *  This code and its internal interfaces are subject to change or
   36.12   *  deletion without notice.</b>
   36.13   */
    37.1 --- a/src/share/classes/com/sun/tools/classfile/Field.java	Thu Jun 17 16:28:21 2010 -0700
    37.2 +++ b/src/share/classes/com/sun/tools/classfile/Field.java	Mon Jun 21 22:09:18 2010 -0700
    37.3 @@ -28,8 +28,8 @@
    37.4  import java.io.IOException;
    37.5  
    37.6  /*
    37.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    37.8 - *  you write code that depends on this, you do so at your own risk.
    37.9 + *  <p><b>This is NOT part of any supported API.
   37.10 + *  If you write code that depends on this, you do so at your own risk.
   37.11   *  This code and its internal interfaces are subject to change or
   37.12   *  deletion without notice.</b>
   37.13   */
    38.1 --- a/src/share/classes/com/sun/tools/classfile/InnerClasses_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    38.2 +++ b/src/share/classes/com/sun/tools/classfile/InnerClasses_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    38.3 @@ -32,8 +32,8 @@
    38.4  /**
    38.5   * See JVMS3, section 4.8.6.
    38.6   *
    38.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    38.8 - *  you write code that depends on this, you do so at your own risk.
    38.9 + *  <p><b>This is NOT part of any supported API.
   38.10 + *  If you write code that depends on this, you do so at your own risk.
   38.11   *  This code and its internal interfaces are subject to change or
   38.12   *  deletion without notice.</b>
   38.13   */
    39.1 --- a/src/share/classes/com/sun/tools/classfile/Instruction.java	Thu Jun 17 16:28:21 2010 -0700
    39.2 +++ b/src/share/classes/com/sun/tools/classfile/Instruction.java	Mon Jun 21 22:09:18 2010 -0700
    39.3 @@ -28,8 +28,8 @@
    39.4  /**
    39.5   * See JVMS3, chapter 6.
    39.6   *
    39.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    39.8 - *  you write code that depends on this, you do so at your own risk.
    39.9 + *  <p><b>This is NOT part of any supported API.
   39.10 + *  If you write code that depends on this, you do so at your own risk.
   39.11   *  This code and its internal interfaces are subject to change or
   39.12   *  deletion without notice.</b>
   39.13   *
    40.1 --- a/src/share/classes/com/sun/tools/classfile/LineNumberTable_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    40.2 +++ b/src/share/classes/com/sun/tools/classfile/LineNumberTable_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    40.3 @@ -30,8 +30,8 @@
    40.4  /**
    40.5   * See JVMS3, section 4.8.12.
    40.6   *
    40.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    40.8 - *  you write code that depends on this, you do so at your own risk.
    40.9 + *  <p><b>This is NOT part of any supported API.
   40.10 + *  If you write code that depends on this, you do so at your own risk.
   40.11   *  This code and its internal interfaces are subject to change or
   40.12   *  deletion without notice.</b>
   40.13   */
    41.1 --- a/src/share/classes/com/sun/tools/classfile/LocalVariableTable_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    41.2 +++ b/src/share/classes/com/sun/tools/classfile/LocalVariableTable_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    41.3 @@ -30,8 +30,8 @@
    41.4  /**
    41.5   * See JVMS3, section 4.8.13.
    41.6   *
    41.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    41.8 - *  you write code that depends on this, you do so at your own risk.
    41.9 + *  <p><b>This is NOT part of any supported API.
   41.10 + *  If you write code that depends on this, you do so at your own risk.
   41.11   *  This code and its internal interfaces are subject to change or
   41.12   *  deletion without notice.</b>
   41.13   */
    42.1 --- a/src/share/classes/com/sun/tools/classfile/LocalVariableTypeTable_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    42.2 +++ b/src/share/classes/com/sun/tools/classfile/LocalVariableTypeTable_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    42.3 @@ -30,8 +30,8 @@
    42.4  /**
    42.5   * See JVMS3, section 4.8.14.
    42.6   *
    42.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    42.8 - *  you write code that depends on this, you do so at your own risk.
    42.9 + *  <p><b>This is NOT part of any supported API.
   42.10 + *  If you write code that depends on this, you do so at your own risk.
   42.11   *  This code and its internal interfaces are subject to change or
   42.12   *  deletion without notice.</b>
   42.13   */
    43.1 --- a/src/share/classes/com/sun/tools/classfile/Method.java	Thu Jun 17 16:28:21 2010 -0700
    43.2 +++ b/src/share/classes/com/sun/tools/classfile/Method.java	Mon Jun 21 22:09:18 2010 -0700
    43.3 @@ -28,8 +28,8 @@
    43.4  import java.io.IOException;
    43.5  
    43.6  /*
    43.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    43.8 - *  you write code that depends on this, you do so at your own risk.
    43.9 + *  <p><b>This is NOT part of any supported API.
   43.10 + *  If you write code that depends on this, you do so at your own risk.
   43.11   *  This code and its internal interfaces are subject to change or
   43.12   *  deletion without notice.</b>
   43.13   */
    44.1 --- a/src/share/classes/com/sun/tools/classfile/Opcode.java	Thu Jun 17 16:28:21 2010 -0700
    44.2 +++ b/src/share/classes/com/sun/tools/classfile/Opcode.java	Mon Jun 21 22:09:18 2010 -0700
    44.3 @@ -34,8 +34,8 @@
    44.4   * <p>In addition to providing all the standard opcodes defined in JVMS,
    44.5   * this class also provides legacy support for the PicoJava extensions.
    44.6   *
    44.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    44.8 - *  you write code that depends on this, you do so at your own risk.
    44.9 + *  <p><b>This is NOT part of any supported API.
   44.10 + *  If you write code that depends on this, you do so at your own risk.
   44.11   *  This code and its internal interfaces are subject to change or
   44.12   *  deletion without notice.</b>
   44.13   */
    45.1 --- a/src/share/classes/com/sun/tools/classfile/RuntimeAnnotations_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    45.2 +++ b/src/share/classes/com/sun/tools/classfile/RuntimeAnnotations_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    45.3 @@ -30,8 +30,8 @@
    45.4  /**
    45.5   * See JVMS3, section 4.8.16 and 4.8.17.
    45.6   *
    45.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    45.8 - *  you write code that depends on this, you do so at your own risk.
    45.9 + *  <p><b>This is NOT part of any supported API.
   45.10 + *  If you write code that depends on this, you do so at your own risk.
   45.11   *  This code and its internal interfaces are subject to change or
   45.12   *  deletion without notice.</b>
   45.13   */
    46.1 --- a/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleAnnotations_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    46.2 +++ b/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleAnnotations_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    46.3 @@ -30,8 +30,8 @@
    46.4  /**
    46.5   * See JVMS3, section 4.8.17.
    46.6   *
    46.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    46.8 - *  you write code that depends on this, you do so at your own risk.
    46.9 + *  <p><b>This is NOT part of any supported API.
   46.10 + *  If you write code that depends on this, you do so at your own risk.
   46.11   *  This code and its internal interfaces are subject to change or
   46.12   *  deletion without notice.</b>
   46.13   */
    47.1 --- a/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleParameterAnnotations_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    47.2 +++ b/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleParameterAnnotations_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    47.3 @@ -30,8 +30,8 @@
    47.4  /**
    47.5   * See JVMS3, section 4.8.18.
    47.6   *
    47.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    47.8 - *  you write code that depends on this, you do so at your own risk.
    47.9 + *  <p><b>This is NOT part of any supported API.
   47.10 + *  If you write code that depends on this, you do so at your own risk.
   47.11   *  This code and its internal interfaces are subject to change or
   47.12   *  deletion without notice.</b>
   47.13   */
    48.1 --- a/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleTypeAnnotations_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    48.2 +++ b/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleTypeAnnotations_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    48.3 @@ -30,8 +30,8 @@
    48.4  /**
    48.5   * See JSR 308 specification, section 4.1
    48.6   *
    48.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    48.8 - *  you write code that depends on this, you do so at your own risk.
    48.9 + *  <p><b>This is NOT part of any supported API.
   48.10 + *  If you write code that depends on this, you do so at your own risk.
   48.11   *  This code and its internal interfaces are subject to change or
   48.12   *  deletion without notice.</b>
   48.13   */
    49.1 --- a/src/share/classes/com/sun/tools/classfile/RuntimeParameterAnnotations_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    49.2 +++ b/src/share/classes/com/sun/tools/classfile/RuntimeParameterAnnotations_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    49.3 @@ -30,8 +30,8 @@
    49.4  /**
    49.5   * See JVMS3, section 4.8.18 and 4.8.19.
    49.6   *
    49.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    49.8 - *  you write code that depends on this, you do so at your own risk.
    49.9 + *  <p><b>This is NOT part of any supported API.
   49.10 + *  If you write code that depends on this, you do so at your own risk.
   49.11   *  This code and its internal interfaces are subject to change or
   49.12   *  deletion without notice.</b>
   49.13   */
    50.1 --- a/src/share/classes/com/sun/tools/classfile/RuntimeTypeAnnotations_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    50.2 +++ b/src/share/classes/com/sun/tools/classfile/RuntimeTypeAnnotations_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    50.3 @@ -30,8 +30,8 @@
    50.4  /**
    50.5   * See JSR 308 specification, section 4
    50.6   *
    50.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    50.8 - *  you write code that depends on this, you do so at your own risk.
    50.9 + *  <p><b>This is NOT part of any supported API.
   50.10 + *  If you write code that depends on this, you do so at your own risk.
   50.11   *  This code and its internal interfaces are subject to change or
   50.12   *  deletion without notice.</b>
   50.13   */
    51.1 --- a/src/share/classes/com/sun/tools/classfile/RuntimeVisibleAnnotations_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    51.2 +++ b/src/share/classes/com/sun/tools/classfile/RuntimeVisibleAnnotations_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    51.3 @@ -30,8 +30,8 @@
    51.4  /**
    51.5   * See JVMS3, section 4.8.16.
    51.6   *
    51.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    51.8 - *  you write code that depends on this, you do so at your own risk.
    51.9 + *  <p><b>This is NOT part of any supported API.
   51.10 + *  If you write code that depends on this, you do so at your own risk.
   51.11   *  This code and its internal interfaces are subject to change or
   51.12   *  deletion without notice.</b>
   51.13   */
    52.1 --- a/src/share/classes/com/sun/tools/classfile/RuntimeVisibleParameterAnnotations_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    52.2 +++ b/src/share/classes/com/sun/tools/classfile/RuntimeVisibleParameterAnnotations_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    52.3 @@ -30,8 +30,8 @@
    52.4  /**
    52.5   * See JVMS3, section 4.8.18.
    52.6   *
    52.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    52.8 - *  you write code that depends on this, you do so at your own risk.
    52.9 + *  <p><b>This is NOT part of any supported API.
   52.10 + *  If you write code that depends on this, you do so at your own risk.
   52.11   *  This code and its internal interfaces are subject to change or
   52.12   *  deletion without notice.</b>
   52.13   */
    53.1 --- a/src/share/classes/com/sun/tools/classfile/RuntimeVisibleTypeAnnotations_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    53.2 +++ b/src/share/classes/com/sun/tools/classfile/RuntimeVisibleTypeAnnotations_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    53.3 @@ -30,8 +30,8 @@
    53.4  /**
    53.5   * See JSR 308 specification, section 4.1
    53.6   *
    53.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    53.8 - *  you write code that depends on this, you do so at your own risk.
    53.9 + *  <p><b>This is NOT part of any supported API.
   53.10 + *  If you write code that depends on this, you do so at your own risk.
   53.11   *  This code and its internal interfaces are subject to change or
   53.12   *  deletion without notice.</b>
   53.13   */
    54.1 --- a/src/share/classes/com/sun/tools/classfile/Signature.java	Thu Jun 17 16:28:21 2010 -0700
    54.2 +++ b/src/share/classes/com/sun/tools/classfile/Signature.java	Mon Jun 21 22:09:18 2010 -0700
    54.3 @@ -32,8 +32,8 @@
    54.4  /**
    54.5   * See JVMS3 4.4.4.
    54.6   *
    54.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    54.8 - *  you write code that depends on this, you do so at your own risk.
    54.9 + *  <p><b>This is NOT part of any supported API.
   54.10 + *  If you write code that depends on this, you do so at your own risk.
   54.11   *  This code and its internal interfaces are subject to change or
   54.12   *  deletion without notice.</b>
   54.13   */
    55.1 --- a/src/share/classes/com/sun/tools/classfile/Signature_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    55.2 +++ b/src/share/classes/com/sun/tools/classfile/Signature_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    55.3 @@ -30,8 +30,8 @@
    55.4  /**
    55.5   * See JVMS3, section 4.8.9.
    55.6   *
    55.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    55.8 - *  you write code that depends on this, you do so at your own risk.
    55.9 + *  <p><b>This is NOT part of any supported API.
   55.10 + *  If you write code that depends on this, you do so at your own risk.
   55.11   *  This code and its internal interfaces are subject to change or
   55.12   *  deletion without notice.</b>
   55.13   */
    56.1 --- a/src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    56.2 +++ b/src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    56.3 @@ -32,8 +32,8 @@
    56.4  /**
    56.5   * See JVMS3, section 4.8.15.
    56.6   *
    56.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    56.8 - *  you write code that depends on this, you do so at your own risk.
    56.9 + *  <p><b>This is NOT part of any supported API.
   56.10 + *  If you write code that depends on this, you do so at your own risk.
   56.11   *  This code and its internal interfaces are subject to change or
   56.12   *  deletion without notice.</b>
   56.13   */
    57.1 --- a/src/share/classes/com/sun/tools/classfile/SourceFile_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    57.2 +++ b/src/share/classes/com/sun/tools/classfile/SourceFile_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    57.3 @@ -30,8 +30,8 @@
    57.4  /**
    57.5   * See JVMS3, section 4.8.10.
    57.6   *
    57.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    57.8 - *  you write code that depends on this, you do so at your own risk.
    57.9 + *  <p><b>This is NOT part of any supported API.
   57.10 + *  If you write code that depends on this, you do so at your own risk.
   57.11   *  This code and its internal interfaces are subject to change or
   57.12   *  deletion without notice.</b>
   57.13   */
    58.1 --- a/src/share/classes/com/sun/tools/classfile/SourceID_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    58.2 +++ b/src/share/classes/com/sun/tools/classfile/SourceID_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    58.3 @@ -27,8 +27,8 @@
    58.4  import java.io.IOException;
    58.5  
    58.6  /**
    58.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    58.8 - *  you write code that depends on this, you do so at your own risk.
    58.9 + *  <p><b>This is NOT part of any supported API.
   58.10 + *  If you write code that depends on this, you do so at your own risk.
   58.11   *  This code and its internal interfaces are subject to change or
   58.12   *  deletion without notice.</b>
   58.13   */
    59.1 --- a/src/share/classes/com/sun/tools/classfile/StackMapTable_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    59.2 +++ b/src/share/classes/com/sun/tools/classfile/StackMapTable_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    59.3 @@ -30,8 +30,8 @@
    59.4  /**
    59.5   * See JVMS3, section 4.8.4.
    59.6   *
    59.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    59.8 - *  you write code that depends on this, you do so at your own risk.
    59.9 + *  <p><b>This is NOT part of any supported API.
   59.10 + *  If you write code that depends on this, you do so at your own risk.
   59.11   *  This code and its internal interfaces are subject to change or
   59.12   *  deletion without notice.</b>
   59.13   */
    60.1 --- a/src/share/classes/com/sun/tools/classfile/StackMap_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    60.2 +++ b/src/share/classes/com/sun/tools/classfile/StackMap_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    60.3 @@ -28,8 +28,8 @@
    60.4  import java.io.IOException;
    60.5  
    60.6  /**
    60.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    60.8 - *  you write code that depends on this, you do so at your own risk.
    60.9 + *  <p><b>This is NOT part of any supported API.
   60.10 + *  If you write code that depends on this, you do so at your own risk.
   60.11   *  This code and its internal interfaces are subject to change or
   60.12   *  deletion without notice.</b>
   60.13   */
    61.1 --- a/src/share/classes/com/sun/tools/classfile/Synthetic_attribute.java	Thu Jun 17 16:28:21 2010 -0700
    61.2 +++ b/src/share/classes/com/sun/tools/classfile/Synthetic_attribute.java	Mon Jun 21 22:09:18 2010 -0700
    61.3 @@ -30,8 +30,8 @@
    61.4  /**
    61.5   * See JVMS3, section 4.8.8.
    61.6   *
    61.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    61.8 - *  you write code that depends on this, you do so at your own risk.
    61.9 + *  <p><b>This is NOT part of any supported API.
   61.10 + *  If you write code that depends on this, you do so at your own risk.
   61.11   *  This code and its internal interfaces are subject to change or
   61.12   *  deletion without notice.</b>
   61.13   */
    62.1 --- a/src/share/classes/com/sun/tools/classfile/Type.java	Thu Jun 17 16:28:21 2010 -0700
    62.2 +++ b/src/share/classes/com/sun/tools/classfile/Type.java	Mon Jun 21 22:09:18 2010 -0700
    62.3 @@ -34,8 +34,8 @@
    62.4   *  Family of classes used to represent the parsed form of a {@link Descriptor}
    62.5   *  or {@link Signature}.
    62.6   *
    62.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    62.8 - *  you write code that depends on this, you do so at your own risk.
    62.9 + *  <p><b>This is NOT part of any supported API.
   62.10 + *  If you write code that depends on this, you do so at your own risk.
   62.11   *  This code and its internal interfaces are subject to change or
   62.12   *  deletion without notice.</b>
   62.13   */
    63.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/package.html	Thu Jun 17 16:28:21 2010 -0700
    63.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/package.html	Mon Jun 21 22:09:18 2010 -0700
    63.3 @@ -28,8 +28,7 @@
    63.4  <title>com.sun.tools.doclets.formats.html package</title>
    63.5  </head>
    63.6  <body bgcolor="white">
    63.7 -        This is the default doclet provided by doclet provided by 
    63.8 -        Sun<font size="-2"><sup>TM</sup></font> that produces Javadoc's 
    63.9 +        This is the default doclet provided with JDK that produces Javadoc's 
   63.10          default HTML-formatted API output.  For more documentation
   63.11          on this doclet, please refer to the link below.
   63.12          
    64.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractBuilder.java	Thu Jun 17 16:28:21 2010 -0700
    64.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractBuilder.java	Mon Jun 21 22:09:18 2010 -0700
    64.3 @@ -92,44 +92,42 @@
    64.4      public abstract void build() throws IOException;
    64.5  
    64.6      /**
    64.7 -     * Build the documentation, as specified by the given XML elements.
    64.8 +     * Build the documentation, as specified by the given XML element.
    64.9       *
   64.10 -     * @param elements the XML elements that specify which components to
   64.11 -     *                 document.
   64.12 +     * @param node the XML element that specifies which component to document.
   64.13       */
   64.14 -    protected void build(List<?> elements) {
   64.15 -        for (int i = 0; i < elements.size(); i++ ) {
   64.16 -            Object element = elements.get(i);
   64.17 -            String component = (String)
   64.18 -                ((element instanceof String) ?
   64.19 -                     element :
   64.20 -                    ((List<?>) element).get(0));
   64.21 -            try {
   64.22 -                invokeMethod("build" + component,
   64.23 -                    element instanceof String ?
   64.24 -                        new Class<?>[] {} :
   64.25 -                        new Class<?>[] {List.class},
   64.26 -                    element instanceof String ?
   64.27 -                        new Object[] {} :
   64.28 -                        new Object[] {((List<?>) element).subList(1,
   64.29 -                            ((List<?>) element).size())});
   64.30 -            } catch (NoSuchMethodException e) {
   64.31 -                e.printStackTrace();
   64.32 -                configuration.root.printError("Unknown element: " + component);
   64.33 -                throw new DocletAbortException();
   64.34 -            } catch (InvocationTargetException e) {
   64.35 -                e.getCause().printStackTrace();
   64.36 -            } catch (Exception e) {
   64.37 -                e.printStackTrace();
   64.38 -                configuration.root.printError("Exception " +
   64.39 -                    e.getClass().getName() +
   64.40 -                    " thrown while processing element: " + component);
   64.41 -                throw new DocletAbortException();
   64.42 -            }
   64.43 +    protected void build(XMLNode node) {
   64.44 +        String component = node.name;
   64.45 +        try {
   64.46 +            invokeMethod("build" + component,
   64.47 +                    new Class<?>[] { XMLNode.class },
   64.48 +                    new Object[] { node });
   64.49 +        } catch (NoSuchMethodException e) {
   64.50 +            e.printStackTrace();
   64.51 +            configuration.root.printError("Unknown element: " + component);
   64.52 +            throw new DocletAbortException();
   64.53 +        } catch (InvocationTargetException e) {
   64.54 +            e.getCause().printStackTrace();
   64.55 +        } catch (Exception e) {
   64.56 +            e.printStackTrace();
   64.57 +            configuration.root.printError("Exception " +
   64.58 +                e.getClass().getName() +
   64.59 +                " thrown while processing element: " + component);
   64.60 +            throw new DocletAbortException();
   64.61          }
   64.62      }
   64.63  
   64.64      /**
   64.65 +     * Build the documentation, as specified by the children of the given XML element.
   64.66 +     *
   64.67 +     * @param node the XML element that specifies which components to document.
   64.68 +     */
   64.69 +    protected void buildChildren(XMLNode node) {
   64.70 +        for (XMLNode child: node.children)
   64.71 +            build(child);
   64.72 +    }
   64.73 +
   64.74 +    /**
   64.75       * Given the name and parameters, invoke the method in the builder.  This
   64.76       * method is required to invoke the appropriate build method as instructed
   64.77       * by the builder XML file.
   64.78 @@ -138,7 +136,14 @@
   64.79       * @param paramClasses the types for each parameter.
   64.80       * @param params       the parameters of the method.
   64.81       */
   64.82 -    protected abstract void invokeMethod(String methodName, Class<?>[] paramClasses,
   64.83 +    protected void invokeMethod(String methodName, Class<?>[] paramClasses,
   64.84              Object[] params)
   64.85 -    throws Exception;
   64.86 +    throws Exception {
   64.87 +        if (DEBUG) {
   64.88 +            configuration.root.printError("DEBUG: " + this.getClass().getName()
   64.89 +                + "." + methodName);
   64.90 +        }
   64.91 +        Method method = this.getClass().getMethod(methodName, paramClasses);
   64.92 +        method.invoke(this, params);
   64.93 +    }
   64.94  }
    65.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractMemberBuilder.java	Thu Jun 17 16:28:21 2010 -0700
    65.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractMemberBuilder.java	Mon Jun 21 22:09:18 2010 -0700
    65.3 @@ -27,7 +27,6 @@
    65.4  
    65.5  import com.sun.tools.doclets.internal.toolkit.*;
    65.6  import com.sun.tools.doclets.internal.toolkit.util.*;
    65.7 -import java.util.*;
    65.8  
    65.9  /**
   65.10   * The superclass for all member builders.  Member builders are only executed
   65.11 @@ -69,9 +68,10 @@
   65.12       *
   65.13       * @param elements {@inheritDoc}
   65.14       */
   65.15 -    public void build(List<?> elements) {
   65.16 +    @Override
   65.17 +    public void build(XMLNode node) {
   65.18          if (hasMembersToDocument()) {
   65.19 -            super.build(elements);
   65.20 +            super.build(node);
   65.21          }
   65.22      }
   65.23  
    66.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeBuilder.java	Thu Jun 17 16:28:21 2010 -0700
    66.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeBuilder.java	Mon Jun 21 22:09:18 2010 -0700
    66.3 @@ -30,7 +30,6 @@
    66.4  import com.sun.javadoc.*;
    66.5  import java.io.*;
    66.6  import java.util.*;
    66.7 -import java.lang.reflect.*;
    66.8  
    66.9  /**
   66.10   * Builds the summary for a given annotation type.
   66.11 @@ -92,20 +91,6 @@
   66.12      /**
   66.13       * {@inheritDoc}
   66.14       */
   66.15 -    public void invokeMethod(String methodName, Class<?>[] paramClasses,
   66.16 -            Object[] params)
   66.17 -    throws Exception {
   66.18 -        if (DEBUG) {
   66.19 -            configuration.root.printError("DEBUG: " + this.getClass().getName()
   66.20 -                + "." + methodName);
   66.21 -        }
   66.22 -        Method method = this.getClass().getMethod(methodName, paramClasses);
   66.23 -        method.invoke(this, params);
   66.24 -    }
   66.25 -
   66.26 -    /**
   66.27 -     * {@inheritDoc}
   66.28 -     */
   66.29      public void build() throws IOException {
   66.30          build(LayoutParser.getInstance(configuration).parseXML(ROOT));
   66.31      }
   66.32 @@ -122,8 +107,8 @@
   66.33        *
   66.34        * @param elements the XML elements that specify how to document a class.
   66.35        */
   66.36 -     public void buildAnnotationTypeDoc(List<?> elements) throws Exception {
   66.37 -        build(elements);
   66.38 +     public void buildAnnotationTypeDoc(XMLNode node) throws Exception {
   66.39 +        buildChildren(node);
   66.40          writer.close();
   66.41          copyDocFiles();
   66.42       }
   66.43 @@ -154,7 +139,7 @@
   66.44      /**
   66.45       * Build the header of the page.
   66.46       */
   66.47 -    public void buildAnnotationTypeHeader() {
   66.48 +    public void buildAnnotationTypeHeader(XMLNode node) {
   66.49          writer.writeHeader(configuration.getText("doclet.AnnotationType") +
   66.50              " " + annotationTypeDoc.name());
   66.51      }
   66.52 @@ -162,14 +147,14 @@
   66.53      /**
   66.54       * If this class is deprecated, print the appropriate information.
   66.55       */
   66.56 -    public void buildDeprecationInfo () {
   66.57 +    public void buildDeprecationInfo (XMLNode node) {
   66.58          writer.writeAnnotationTypeDeprecationInfo();
   66.59      }
   66.60  
   66.61      /**
   66.62       * Build the signature of the current annotation type.
   66.63       */
   66.64 -    public void buildAnnotationTypeSignature() {
   66.65 +    public void buildAnnotationTypeSignature(XMLNode node) {
   66.66          StringBuffer modifiers = new StringBuffer(
   66.67              annotationTypeDoc.modifiers() + " ");
   66.68          writer.writeAnnotationTypeSignature(
   66.69 @@ -180,14 +165,14 @@
   66.70      /**
   66.71       * Build the class description.
   66.72       */
   66.73 -    public void buildAnnotationTypeDescription() {
   66.74 +    public void buildAnnotationTypeDescription(XMLNode node) {
   66.75         writer.writeAnnotationTypeDescription();
   66.76      }
   66.77  
   66.78      /**
   66.79       * Build the tag information for the current class.
   66.80       */
   66.81 -    public void buildAnnotationTypeTagInfo() {
   66.82 +    public void buildAnnotationTypeTagInfo(XMLNode node) {
   66.83         writer.writeAnnotationTypeTagInfo();
   66.84      }
   66.85  
   66.86 @@ -197,9 +182,9 @@
   66.87       * @param elements the XML elements that specify how a member summary is
   66.88       *                 documented.
   66.89       */
   66.90 -    public void buildMemberSummary(List<?> elements) throws Exception {
   66.91 +    public void buildMemberSummary(XMLNode node) throws Exception {
   66.92          configuration.getBuilderFactory().
   66.93 -            getMemberSummaryBuilder(writer).build(elements);
   66.94 +            getMemberSummaryBuilder(writer).buildChildren(node);
   66.95          writer.completeMemberSummaryBuild();
   66.96      }
   66.97  
   66.98 @@ -209,10 +194,10 @@
   66.99       * @param elements the XML elements that specify how a annotation type
  66.100       *                 members are documented.
  66.101       */
  66.102 -    public void buildAnnotationTypeOptionalMemberDetails(List<?> elements)
  66.103 +    public void buildAnnotationTypeOptionalMemberDetails(XMLNode node)
  66.104      throws Exception {
  66.105          configuration.getBuilderFactory().
  66.106 -            getAnnotationTypeOptionalMemberBuilder(writer).build(elements);
  66.107 +            getAnnotationTypeOptionalMemberBuilder(writer).buildChildren(node);
  66.108      }
  66.109  
  66.110      /**
  66.111 @@ -221,17 +206,17 @@
  66.112       * @param elements the XML elements that specify how a annotation type
  66.113       *                 members are documented.
  66.114       */
  66.115 -    public void buildAnnotationTypeRequiredMemberDetails(List<?> elements)
  66.116 +    public void buildAnnotationTypeRequiredMemberDetails(XMLNode node)
  66.117      throws Exception {
  66.118          configuration.getBuilderFactory().
  66.119 -            getAnnotationTypeRequiredMemberBuilder(writer).build(elements);
  66.120 +            getAnnotationTypeRequiredMemberBuilder(writer).buildChildren(node);
  66.121      }
  66.122  
  66.123  
  66.124      /**
  66.125       * Build the footer of the page.
  66.126       */
  66.127 -    public void buildAnnotationTypeFooter() {
  66.128 +    public void buildAnnotationTypeFooter(XMLNode node) {
  66.129          writer.writeFooter();
  66.130      }
  66.131  }
    67.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeOptionalMemberBuilder.java	Thu Jun 17 16:28:21 2010 -0700
    67.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeOptionalMemberBuilder.java	Mon Jun 21 22:09:18 2010 -0700
    67.3 @@ -30,7 +30,6 @@
    67.4  import com.sun.tools.doclets.internal.toolkit.*;
    67.5  import com.sun.javadoc.*;
    67.6  import java.util.*;
    67.7 -import java.lang.reflect.*;
    67.8  
    67.9  /**
   67.10   * Builds documentation for optional annotation type members.
   67.11 @@ -85,6 +84,7 @@
   67.12      /**
   67.13       * {@inheritDoc}
   67.14       */
   67.15 +    @Override
   67.16      public String getName() {
   67.17          return "AnnotationTypeOptionalMemberDetails";
   67.18      }
   67.19 @@ -95,34 +95,20 @@
   67.20       * @param elements the XML elements that specify how to construct this
   67.21       *                documentation.
   67.22       */
   67.23 -    public void buildAnnotationTypeOptionalMember(List<?> elements) {
   67.24 +    public void buildAnnotationTypeOptionalMember(XMLNode node) {
   67.25          if (writer == null) {
   67.26              return;
   67.27          }
   67.28          for (currentMemberIndex = 0; currentMemberIndex < members.size();
   67.29              currentMemberIndex++) {
   67.30 -            build(elements);
   67.31 +            buildChildren(node);
   67.32          }
   67.33      }
   67.34  
   67.35      /**
   67.36 -     * {@inheritDoc}
   67.37 -     */
   67.38 -    public void invokeMethod(String methodName, Class<?>[] paramClasses,
   67.39 -            Object[] params)
   67.40 -    throws Exception {
   67.41 -        if (DEBUG) {
   67.42 -            configuration.root.printError("DEBUG: " + this.getClass().getName()
   67.43 -                + "." + methodName);
   67.44 -        }
   67.45 -        Method method = this.getClass().getMethod(methodName, paramClasses);
   67.46 -        method.invoke(this, params);
   67.47 -    }
   67.48 -
   67.49 -    /**
   67.50       * Document the default value for this optional member.
   67.51       */
   67.52 -    public void buildDefaultValueInfo() {
   67.53 +    public void buildDefaultValueInfo(XMLNode node) {
   67.54          ((AnnotationTypeOptionalMemberWriter) writer).writeDefaultValueInfo(
   67.55              (MemberDoc) members.get(currentMemberIndex));
   67.56      }
   67.57 @@ -130,6 +116,7 @@
   67.58      /**
   67.59       * {@inheritDoc}
   67.60       */
   67.61 +    @Override
   67.62      public AnnotationTypeRequiredMemberWriter getWriter() {
   67.63          return writer;
   67.64      }
    68.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java	Thu Jun 17 16:28:21 2010 -0700
    68.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java	Mon Jun 21 22:09:18 2010 -0700
    68.3 @@ -30,7 +30,6 @@
    68.4  import com.sun.tools.doclets.internal.toolkit.*;
    68.5  import com.sun.javadoc.*;
    68.6  import java.util.*;
    68.7 -import java.lang.reflect.*;
    68.8  
    68.9  /**
   68.10   * Builds documentation for required annotation type members.
   68.11 @@ -114,20 +113,6 @@
   68.12      }
   68.13  
   68.14      /**
   68.15 -     * {@inheritDoc}
   68.16 -     */
   68.17 -    public void invokeMethod(String methodName, Class<?>[] paramClasses,
   68.18 -            Object[] params)
   68.19 -    throws Exception {
   68.20 -        if (DEBUG) {
   68.21 -            configuration.root.printError("DEBUG: " + this.getClass().getName()
   68.22 -                + "." + methodName);
   68.23 -        }
   68.24 -        Method method = this.getClass().getMethod(methodName, paramClasses);
   68.25 -        method.invoke(this, params);
   68.26 -    }
   68.27 -
   68.28 -    /**
   68.29       * Returns a list of members that will be documented for the given class.
   68.30       * This information can be used for doclet specific documentation
   68.31       * generation.
   68.32 @@ -161,20 +146,20 @@
   68.33       * @param elements the XML elements that specify how to construct this
   68.34       *                documentation.
   68.35       */
   68.36 -    public void buildAnnotationTypeRequiredMember(List<?> elements) {
   68.37 +    public void buildAnnotationTypeRequiredMember(XMLNode node) {
   68.38          if (writer == null) {
   68.39              return;
   68.40          }
   68.41          for (currentMemberIndex = 0; currentMemberIndex < members.size();
   68.42              currentMemberIndex++) {
   68.43 -            build(elements);
   68.44 +            buildChildren(node);
   68.45          }
   68.46      }
   68.47  
   68.48      /**
   68.49       * Build the overall header.
   68.50       */
   68.51 -    public void buildHeader() {
   68.52 +    public void buildHeader(XMLNode node) {
   68.53          writer.writeHeader(classDoc,
   68.54              configuration.getText("doclet.Annotation_Type_Member_Detail"));
   68.55      }
   68.56 @@ -182,7 +167,7 @@
   68.57      /**
   68.58       * Build the header for the individual members.
   68.59       */
   68.60 -    public void buildMemberHeader() {
   68.61 +    public void buildMemberHeader(XMLNode node) {
   68.62          writer.writeMemberHeader((MemberDoc) members.get(
   68.63                  currentMemberIndex),
   68.64              currentMemberIndex == 0);
   68.65 @@ -191,14 +176,14 @@
   68.66      /**
   68.67       * Build the signature.
   68.68       */
   68.69 -    public void buildSignature() {
   68.70 +    public void buildSignature(XMLNode node) {
   68.71          writer.writeSignature((MemberDoc) members.get(currentMemberIndex));
   68.72      }
   68.73  
   68.74      /**
   68.75       * Build the deprecation information.
   68.76       */
   68.77 -    public void buildDeprecationInfo() {
   68.78 +    public void buildDeprecationInfo(XMLNode node) {
   68.79          writer.writeDeprecated((MemberDoc) members.get(currentMemberIndex));
   68.80      }
   68.81  
   68.82 @@ -206,7 +191,7 @@
   68.83       * Build the comments for the member.  Do nothing if
   68.84       * {@link Configuration#nocomment} is set to true.
   68.85       */
   68.86 -    public void buildMemberComments() {
   68.87 +    public void buildMemberComments(XMLNode node) {
   68.88          if(! configuration.nocomment){
   68.89              writer.writeComments((MemberDoc) members.get(currentMemberIndex));
   68.90          }
   68.91 @@ -215,21 +200,21 @@
   68.92      /**
   68.93       * Build the tag information.
   68.94       */
   68.95 -    public void buildTagInfo() {
   68.96 +    public void buildTagInfo(XMLNode node) {
   68.97          writer.writeTags((MemberDoc) members.get(currentMemberIndex));
   68.98      }
   68.99  
  68.100      /**
  68.101       * Build the footer for the individual member.
  68.102       */
  68.103 -    public void buildMemberFooter() {
  68.104 +    public void buildMemberFooter(XMLNode node) {
  68.105          writer.writeMemberFooter();
  68.106      }
  68.107  
  68.108      /**
  68.109       * Build the overall footer.
  68.110       */
  68.111 -    public void buildFooter() {
  68.112 +    public void buildFooter(XMLNode node) {
  68.113          writer.writeFooter(classDoc);
  68.114      }
  68.115  
    69.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java	Thu Jun 17 16:28:21 2010 -0700
    69.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java	Mon Jun 21 22:09:18 2010 -0700
    69.3 @@ -30,7 +30,6 @@
    69.4  import com.sun.javadoc.*;
    69.5  import java.io.*;
    69.6  import java.util.*;
    69.7 -import java.lang.reflect.*;
    69.8  
    69.9  /**
   69.10   * Builds the summary for a given class.
   69.11 @@ -108,20 +107,6 @@
   69.12      /**
   69.13       * {@inheritDoc}
   69.14       */
   69.15 -    public void invokeMethod(String methodName, Class<?>[] paramClasses,
   69.16 -            Object[] params)
   69.17 -    throws Exception {
   69.18 -        if (DEBUG) {
   69.19 -            configuration.root.printError("DEBUG: " + this.getClass().getName()
   69.20 -                + "." + methodName);
   69.21 -        }
   69.22 -        Method method = this.getClass().getMethod(methodName, paramClasses);
   69.23 -        method.invoke(this, params);
   69.24 -    }
   69.25 -
   69.26 -    /**
   69.27 -     * {@inheritDoc}
   69.28 -     */
   69.29      public void build() throws IOException {
   69.30          build(LayoutParser.getInstance(configuration).parseXML(ROOT));
   69.31      }
   69.32 @@ -138,8 +123,8 @@
   69.33        *
   69.34        * @param elements the XML elements that specify how to document a class.
   69.35        */
   69.36 -     public void buildClassDoc(List<?> elements) throws Exception {
   69.37 -        build(elements);
   69.38 +     public void buildClassDoc(XMLNode node) throws Exception {
   69.39 +        buildChildren(node);
   69.40          writer.close();
   69.41          copyDocFiles();
   69.42       }
   69.43 @@ -169,7 +154,7 @@
   69.44      /**
   69.45       * Build the header of the page.
   69.46       */
   69.47 -    public void buildClassHeader() {
   69.48 +    public void buildClassHeader(XMLNode node) {
   69.49          String key;
   69.50          if (isInterface) {
   69.51              key =  "doclet.Interface";
   69.52 @@ -185,7 +170,7 @@
   69.53      /**
   69.54       * Build the class tree documentation.
   69.55       */
   69.56 -    public void buildClassTree() {
   69.57 +    public void buildClassTree(XMLNode node) {
   69.58          writer.writeClassTree();
   69.59      }
   69.60  
   69.61 @@ -193,42 +178,42 @@
   69.62       * If this is a class, list all interfaces
   69.63       * implemented by this class.
   69.64       */
   69.65 -    public void buildImplementedInterfacesInfo() {
   69.66 +    public void buildImplementedInterfacesInfo(XMLNode node) {
   69.67          writer.writeImplementedInterfacesInfo();
   69.68      }
   69.69  
   69.70      /**
   69.71       * If this is an interface, list all super interfaces.
   69.72       */
   69.73 -    public void buildSuperInterfacesInfo() {
   69.74 +    public void buildSuperInterfacesInfo(XMLNode node) {
   69.75          writer.writeSuperInterfacesInfo();
   69.76      }
   69.77  
   69.78      /**
   69.79       * List the parameters of this class.
   69.80       */
   69.81 -    public void buildTypeParamInfo() {
   69.82 +    public void buildTypeParamInfo(XMLNode node) {
   69.83          writer.writeTypeParamInfo();
   69.84      }
   69.85  
   69.86      /**
   69.87       * List all the classes extend this one.
   69.88       */
   69.89 -    public void buildSubClassInfo() {
   69.90 +    public void buildSubClassInfo(XMLNode node) {
   69.91          writer.writeSubClassInfo();
   69.92      }
   69.93  
   69.94      /**
   69.95       * List all the interfaces that extend this one.
   69.96       */
   69.97 -    public void buildSubInterfacesInfo() {
   69.98 +    public void buildSubInterfacesInfo(XMLNode node) {
   69.99          writer.writeSubInterfacesInfo();
  69.100      }
  69.101  
  69.102      /**
  69.103       * If this is an interface, list all classes that implement this interface.
  69.104       */
  69.105 -    public void buildInterfaceUsageInfo () {
  69.106 +    public void buildInterfaceUsageInfo (XMLNode node) {
  69.107          writer.writeInterfaceUsageInfo();
  69.108      }
  69.109  
  69.110 @@ -236,21 +221,21 @@
  69.111       * If this is an inner class or interface, list the enclosing class or
  69.112       * interface.
  69.113       */
  69.114 -    public void buildNestedClassInfo () {
  69.115 +    public void buildNestedClassInfo (XMLNode node) {
  69.116          writer.writeNestedClassInfo();
  69.117      }
  69.118  
  69.119      /**
  69.120       * If this class is deprecated, print the appropriate information.
  69.121       */
  69.122 -    public void buildDeprecationInfo () {
  69.123 +    public void buildDeprecationInfo (XMLNode node) {
  69.124          writer.writeClassDeprecationInfo();
  69.125      }
  69.126  
  69.127      /**
  69.128       * Build the signature of the current class.
  69.129       */
  69.130 -    public void buildClassSignature() {
  69.131 +    public void buildClassSignature(XMLNode node) {
  69.132          StringBuffer modifiers = new StringBuffer(classDoc.modifiers() + " ");
  69.133          if (isEnum) {
  69.134              modifiers.append("enum ");
  69.135 @@ -276,14 +261,14 @@
  69.136      /**
  69.137       * Build the class description.
  69.138       */
  69.139 -    public void buildClassDescription() {
  69.140 +    public void buildClassDescription(XMLNode node) {
  69.141         writer.writeClassDescription();
  69.142      }
  69.143  
  69.144      /**
  69.145       * Build the tag information for the current class.
  69.146       */
  69.147 -    public void buildClassTagInfo() {
  69.148 +    public void buildClassTagInfo(XMLNode node) {
  69.149         writer.writeClassTagInfo();
  69.150      }
  69.151  
  69.152 @@ -293,9 +278,9 @@
  69.153       * @param elements the XML elements that specify how a member summary is
  69.154       *                 documented.
  69.155       */
  69.156 -    public void buildMemberSummary(List<?> elements) throws Exception {
  69.157 +    public void buildMemberSummary(XMLNode node) throws Exception {
  69.158          configuration.getBuilderFactory().
  69.159 -            getMemberSummaryBuilder(writer).build(elements);
  69.160 +            getMemberSummaryBuilder(writer).buildChildren(node);
  69.161          writer.completeMemberSummaryBuild();
  69.162      }
  69.163  
  69.164 @@ -305,9 +290,9 @@
  69.165       * @param elements the XML elements that specify how a enum constants are
  69.166       *                 documented.
  69.167       */
  69.168 -    public void buildEnumConstantsDetails(List<?> elements) throws Exception {
  69.169 +    public void buildEnumConstantsDetails(XMLNode node) throws Exception {
  69.170          configuration.getBuilderFactory().
  69.171 -            getEnumConstantsBuilder(writer).build(elements);
  69.172 +            getEnumConstantsBuilder(writer).buildChildren(node);
  69.173      }
  69.174  
  69.175      /**
  69.176 @@ -315,9 +300,9 @@
  69.177       *
  69.178       * @param elements the XML elements that specify how a field is documented.
  69.179       */
  69.180 -    public void buildFieldDetails(List<?> elements) throws Exception {
  69.181 +    public void buildFieldDetails(XMLNode node) throws Exception {
  69.182          configuration.getBuilderFactory().
  69.183 -            getFieldBuilder(writer).build(elements);
  69.184 +            getFieldBuilder(writer).buildChildren(node);
  69.185      }
  69.186  
  69.187      /**
  69.188 @@ -326,9 +311,9 @@
  69.189       * @param elements the XML elements that specify how to document a
  69.190       * constructor.
  69.191       */
  69.192 -    public void buildConstructorDetails(List<?> elements) throws Exception {
  69.193 +    public void buildConstructorDetails(XMLNode node) throws Exception {
  69.194          configuration.getBuilderFactory().
  69.195 -            getConstructorBuilder(writer).build(elements);
  69.196 +            getConstructorBuilder(writer).buildChildren(node);
  69.197      }
  69.198  
  69.199      /**
  69.200 @@ -336,15 +321,15 @@
  69.201       *
  69.202       * @param elements the XML elements that specify how a method is documented.
  69.203       */
  69.204 -    public void buildMethodDetails(List<?> elements) throws Exception {
  69.205 +    public void buildMethodDetails(XMLNode node) throws Exception {
  69.206          configuration.getBuilderFactory().
  69.207 -                getMethodBuilder(writer).build(elements);
  69.208 +                getMethodBuilder(writer).buildChildren(node);
  69.209      }
  69.210  
  69.211      /**
  69.212       * Build the footer of the page.
  69.213       */
  69.214 -    public void buildClassFooter() {
  69.215 +    public void buildClassFooter(XMLNode node) {
  69.216          writer.writeFooter();
  69.217      }
  69.218  }
    70.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstantsSummaryBuilder.java	Thu Jun 17 16:28:21 2010 -0700
    70.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstantsSummaryBuilder.java	Mon Jun 21 22:09:18 2010 -0700
    70.3 @@ -30,7 +30,6 @@
    70.4  import com.sun.javadoc.*;
    70.5  import java.io.*;
    70.6  import java.util.*;
    70.7 -import java.lang.reflect.*;
    70.8  
    70.9  /**
   70.10   * Builds the Constants Summary Page.
   70.11 @@ -109,20 +108,6 @@
   70.12      /**
   70.13       * {@inheritDoc}
   70.14       */
   70.15 -    public void invokeMethod(String methodName, Class<?>[] paramClasses,
   70.16 -            Object[] params)
   70.17 -    throws Exception {
   70.18 -        if (DEBUG) {
   70.19 -            configuration.root.printError("DEBUG: " + this.getClass().getName()
   70.20 -                + "." + methodName);
   70.21 -        }
   70.22 -        Method method = this.getClass().getMethod(methodName, paramClasses);
   70.23 -        method.invoke(this, params);
   70.24 -    }
   70.25 -
   70.26 -    /**
   70.27 -     * {@inheritDoc}
   70.28 -     */
   70.29      public void build() throws IOException {
   70.30          if (writer == null) {
   70.31              //Doclet does not support this output.
   70.32 @@ -144,29 +129,29 @@
   70.33       * @param elements the list of elements describing constant summary
   70.34       *                 documentation.
   70.35       */
   70.36 -    public void buildConstantSummary(List<?> elements) throws Exception {
   70.37 -        build(elements);
   70.38 +    public void buildConstantSummary(XMLNode node) throws Exception {
   70.39 +        buildChildren(node);
   70.40          writer.close();
   70.41      }
   70.42  
   70.43      /**
   70.44       * Build the header.
   70.45       */
   70.46 -    public void buildHeader() {
   70.47 +    public void buildHeader(XMLNode node) {
   70.48          writer.writeHeader();
   70.49      }
   70.50  
   70.51      /**
   70.52       * Build the footer.
   70.53       */
   70.54 -    public void buildFooter() {
   70.55 +    public void buildFooter(XMLNode node) {
   70.56          writer.writeFooter();
   70.57      }
   70.58  
   70.59      /**
   70.60       * Build the table of contents.
   70.61       */
   70.62 -    public void buildContents() {
   70.63 +    public void buildContents(XMLNode node) {
   70.64          writer.writeContentsHeader();
   70.65          PackageDoc[] packages = configuration.packages;
   70.66          printedPackageHeaders = new HashSet<String>();
   70.67 @@ -186,14 +171,14 @@
   70.68       * @param elements the XML elements that represent the components
   70.69       *                 of documentation for each package.
   70.70       */
   70.71 -    public void buildConstantSummaries(List<?> elements) {
   70.72 +    public void buildConstantSummaries(XMLNode node) {
   70.73          PackageDoc[] packages = configuration.packages;
   70.74          printedPackageHeaders = new HashSet<String>();
   70.75          for (int i = 0; i < packages.length; i++) {
   70.76              if (hasConstantField(packages[i])) {
   70.77                  currentPackage = packages[i];
   70.78                  //Build the documentation for the current package.
   70.79 -                build(elements);
   70.80 +                buildChildren(node);
   70.81              }
   70.82          }
   70.83      }
   70.84 @@ -204,8 +189,8 @@
   70.85       * @param elements the list of XML elements that make up package
   70.86       *                 documentation.
   70.87       */
   70.88 -    public void buildPackageConstantSummary(List<?> elements) {
   70.89 -        build(elements);
   70.90 +    public void buildPackageConstantSummary(XMLNode node) {
   70.91 +        buildChildren(node);
   70.92      }
   70.93  
   70.94      /**
   70.95 @@ -214,7 +199,7 @@
   70.96       * @param elements the list of XML elements that make up the class
   70.97       *                 constant summary.
   70.98       */
   70.99 -    public void buildClassConstantSummary(List<?> elements) {
  70.100 +    public void buildClassConstantSummary(XMLNode node) {
  70.101          ClassDoc[] classes = currentPackage.name().length() > 0 ?
  70.102              currentPackage.allClasses() :
  70.103              configuration.classDocCatalog.allClasses(
  70.104 @@ -227,14 +212,14 @@
  70.105              }
  70.106              currentClass = classes[i];
  70.107              //Build the documentation for the current class.
  70.108 -            build(elements);
  70.109 +            buildChildren(node);
  70.110          }
  70.111      }
  70.112  
  70.113      /**
  70.114       * Build the header for the given class.
  70.115       */
  70.116 -    public void buildPackageHeader() {
  70.117 +    public void buildPackageHeader(XMLNode node) {
  70.118          String parsedPackageName = parsePackageName(currentPackage.name());
  70.119          if (! printedPackageHeaders.contains(parsedPackageName)) {
  70.120              writer.writePackageName(currentPackage,
  70.121 @@ -246,7 +231,7 @@
  70.122      /**
  70.123       * Build the header for the given class.
  70.124       */
  70.125 -    public void buildClassHeader() {
  70.126 +    public void buildClassHeader(XMLNode node) {
  70.127          writer.writeConstantMembersHeader(currentClass);
  70.128      }
  70.129  
  70.130 @@ -254,14 +239,14 @@
  70.131       * Print summary of constant members in the
  70.132       * class.
  70.133       */
  70.134 -    public void buildConstantMembers() {
  70.135 -        new ConstantFieldBuilder(currentClass).buildMembersSummary();
  70.136 +    public void buildConstantMembers(XMLNode node) {
  70.137 +        new ConstantFieldBuilder(currentClass).buildMembersSummary(node);
  70.138      }
  70.139  
  70.140      /**
  70.141       * Build the footer for the given class.
  70.142       */
  70.143 -    public void buildClassFooter() {
  70.144 +    public void buildClassFooter(XMLNode node) {
  70.145          writer.writeConstantMembersFooter(currentClass);
  70.146      }
  70.147  
  70.148 @@ -362,7 +347,7 @@
  70.149          /**
  70.150           * Builds the table of constants for a given class.
  70.151           */
  70.152 -        protected void buildMembersSummary() {
  70.153 +        protected void buildMembersSummary(XMLNode node) {
  70.154              List<FieldDoc> members = new ArrayList<FieldDoc>(members());
  70.155              if (members.size() > 0) {
  70.156                  Collections.sort(members);
    71.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstructorBuilder.java	Thu Jun 17 16:28:21 2010 -0700
    71.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstructorBuilder.java	Mon Jun 21 22:09:18 2010 -0700
    71.3 @@ -28,7 +28,6 @@
    71.4  import com.sun.tools.doclets.internal.toolkit.util.*;
    71.5  import com.sun.tools.doclets.internal.toolkit.*;
    71.6  import com.sun.javadoc.*;
    71.7 -import java.lang.reflect.*;
    71.8  import java.util.*;
    71.9  
   71.10  /**
   71.11 @@ -134,22 +133,6 @@
   71.12          }
   71.13  
   71.14          /**
   71.15 -         * {@inheritDoc}
   71.16 -         */
   71.17 -        public void invokeMethod(
   71.18 -                String methodName,
   71.19 -                Class<?>[] paramClasses,
   71.20 -                Object[] params)
   71.21 -                throws Exception {
   71.22 -                if (DEBUG) {
   71.23 -                        configuration.root.printError(
   71.24 -                                "DEBUG: " + this.getClass().getName() + "." + methodName);
   71.25 -                }
   71.26 -                Method method = this.getClass().getMethod(methodName, paramClasses);
   71.27 -                method.invoke(this, params);
   71.28 -        }
   71.29 -
   71.30 -        /**
   71.31           * Returns a list of constructors that will be documented for the given class.
   71.32           * This information can be used for doclet specific documentation
   71.33           * generation.
   71.34 @@ -175,21 +158,21 @@
   71.35           * @param elements the XML elements that specify how to construct this
   71.36           *                documentation.
   71.37           */
   71.38 -        public void buildConstructorDoc(List<?> elements) {
   71.39 +        public void buildConstructorDoc(XMLNode node) {
   71.40                  if (writer == null) {
   71.41                          return;
   71.42                  }
   71.43                  for (currentMethodIndex = 0;
   71.44                          currentMethodIndex < constructors.size();
   71.45                          currentMethodIndex++) {
   71.46 -                        build(elements);
   71.47 +                        buildChildren(node);
   71.48                  }
   71.49          }
   71.50  
   71.51          /**
   71.52           * Build the overall header.
   71.53           */
   71.54 -        public void buildHeader() {
   71.55 +        public void buildHeader(XMLNode node) {
   71.56                  writer.writeHeader(
   71.57                          classDoc,
   71.58                          configuration.getText("doclet.Constructor_Detail"));
   71.59 @@ -198,7 +181,7 @@
   71.60          /**
   71.61           * Build the header for the individual constructor.
   71.62           */
   71.63 -        public void buildConstructorHeader() {
   71.64 +        public void buildConstructorHeader(XMLNode node) {
   71.65                  writer.writeConstructorHeader(
   71.66                          (ConstructorDoc) constructors.get(currentMethodIndex),
   71.67                          currentMethodIndex == 0);
   71.68 @@ -207,7 +190,7 @@
   71.69          /**
   71.70           * Build the signature.
   71.71           */
   71.72 -        public void buildSignature() {
   71.73 +        public void buildSignature(XMLNode node) {
   71.74                  writer.writeSignature(
   71.75                          (ConstructorDoc) constructors.get(currentMethodIndex));
   71.76          }
   71.77 @@ -215,7 +198,7 @@
   71.78          /**
   71.79           * Build the deprecation information.
   71.80           */
   71.81 -        public void buildDeprecationInfo() {
   71.82 +        public void buildDeprecationInfo(XMLNode node) {
   71.83                  writer.writeDeprecated(
   71.84                          (ConstructorDoc) constructors.get(currentMethodIndex));
   71.85          }
   71.86 @@ -224,7 +207,7 @@
   71.87           * Build the comments for the constructor.  Do nothing if
   71.88           * {@link Configuration#nocomment} is set to true.
   71.89           */
   71.90 -        public void buildConstructorComments() {
   71.91 +        public void buildConstructorComments(XMLNode node) {
   71.92                  if (!configuration.nocomment) {
   71.93                          writer.writeComments(
   71.94                                  (ConstructorDoc) constructors.get(currentMethodIndex));
   71.95 @@ -234,21 +217,21 @@
   71.96          /**
   71.97           * Build the tag information.
   71.98           */
   71.99 -        public void buildTagInfo() {
  71.100 +        public void buildTagInfo(XMLNode node) {
  71.101                  writer.writeTags((ConstructorDoc) constructors.get(currentMethodIndex));
  71.102          }
  71.103  
  71.104          /**
  71.105           * Build the footer for the individual constructor.
  71.106           */
  71.107 -        public void buildConstructorFooter() {
  71.108 +        public void buildConstructorFooter(XMLNode node) {
  71.109                  writer.writeConstructorFooter();
  71.110          }
  71.111  
  71.112          /**
  71.113           * Build the overall footer.
  71.114           */
  71.115 -        public void buildFooter() {
  71.116 +        public void buildFooter(XMLNode node) {
  71.117                  writer.writeFooter(classDoc);
  71.118          }
  71.119  }
    72.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/EnumConstantBuilder.java	Thu Jun 17 16:28:21 2010 -0700
    72.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/EnumConstantBuilder.java	Mon Jun 21 22:09:18 2010 -0700
    72.3 @@ -29,7 +29,6 @@
    72.4  import com.sun.tools.doclets.internal.toolkit.*;
    72.5  import com.sun.javadoc.*;
    72.6  import java.util.*;
    72.7 -import java.lang.reflect.*;
    72.8  
    72.9  /**
   72.10   * Builds documentation for a enum constants.
   72.11 @@ -116,22 +115,6 @@
   72.12          }
   72.13  
   72.14          /**
   72.15 -         * {@inheritDoc}
   72.16 -         */
   72.17 -        public void invokeMethod(
   72.18 -                String methodName,
   72.19 -                Class<?>[] paramClasses,
   72.20 -                Object[] params)
   72.21 -                throws Exception {
   72.22 -                if (DEBUG) {
   72.23 -                        configuration.root.printError(
   72.24 -                                "DEBUG: " + this.getClass().getName() + "." + methodName);
   72.25 -                }
   72.26 -                Method method = this.getClass().getMethod(methodName, paramClasses);
   72.27 -                method.invoke(this, params);
   72.28 -        }
   72.29 -
   72.30 -        /**
   72.31           * Returns a list of enum constants that will be documented for the given class.
   72.32           * This information can be used for doclet specific documentation
   72.33           * generation.
   72.34 @@ -165,21 +148,21 @@
   72.35           * @param elements the XML elements that specify how to construct this
   72.36           *                documentation.
   72.37           */
   72.38 -        public void buildEnumConstant(List<?> elements) {
   72.39 +        public void buildEnumConstant(XMLNode node) {
   72.40                  if (writer == null) {
   72.41                          return;
   72.42                  }
   72.43                  for (currentEnumConstantsIndex = 0;
   72.44                          currentEnumConstantsIndex < enumConstants.size();
   72.45                          currentEnumConstantsIndex++) {
   72.46 -                        build(elements);
   72.47 +                        buildChildren(node);
   72.48                  }
   72.49          }
   72.50  
   72.51          /**
   72.52           * Build the overall header.
   72.53           */
   72.54 -        public void buildHeader() {
   72.55 +        public void buildHeader(XMLNode node) {
   72.56                  writer.writeHeader(
   72.57                          classDoc,
   72.58                          configuration.getText("doclet.Enum_Constant_Detail"));
   72.59 @@ -188,7 +171,7 @@
   72.60          /**
   72.61           * Build the header for the individual enum constants.
   72.62           */
   72.63 -        public void buildEnumConstantHeader() {
   72.64 +        public void buildEnumConstantHeader(XMLNode node) {
   72.65                  writer.writeEnumConstantHeader(
   72.66                          (FieldDoc) enumConstants.get(currentEnumConstantsIndex),
   72.67                          currentEnumConstantsIndex == 0);
   72.68 @@ -197,7 +180,7 @@
   72.69          /**
   72.70           * Build the signature.
   72.71           */
   72.72 -        public void buildSignature() {
   72.73 +        public void buildSignature(XMLNode node) {
   72.74                  writer.writeSignature(
   72.75                          (FieldDoc) enumConstants.get(currentEnumConstantsIndex));
   72.76          }
   72.77 @@ -205,7 +188,7 @@
   72.78          /**
   72.79           * Build the deprecation information.
   72.80           */
   72.81 -        public void buildDeprecationInfo() {
   72.82 +        public void buildDeprecationInfo(XMLNode node) {
   72.83                  writer.writeDeprecated(
   72.84                          (FieldDoc) enumConstants.get(currentEnumConstantsIndex));
   72.85          }
   72.86 @@ -214,7 +197,7 @@
   72.87           * Build the comments for the enum constant.  Do nothing if
   72.88           * {@link Configuration#nocomment} is set to true.
   72.89           */
   72.90 -        public void buildEnumConstantComments() {
   72.91 +        public void buildEnumConstantComments(XMLNode node) {
   72.92                  if (!configuration.nocomment) {
   72.93                          writer.writeComments(
   72.94                                  (FieldDoc) enumConstants.get(currentEnumConstantsIndex));
   72.95 @@ -224,7 +207,7 @@
   72.96          /**
   72.97           * Build the tag information.
   72.98           */
   72.99 -        public void buildTagInfo() {
  72.100 +        public void buildTagInfo(XMLNode node) {
  72.101                  writer.writeTags(
  72.102                          (FieldDoc) enumConstants.get(currentEnumConstantsIndex));
  72.103          }
  72.104 @@ -232,14 +215,14 @@
  72.105          /**
  72.106           * Build the footer for the individual enum constants.
  72.107           */
  72.108 -        public void buildEnumConstantFooter() {
  72.109 +        public void buildEnumConstantFooter(XMLNode node) {
  72.110                  writer.writeEnumConstantFooter();
  72.111          }
  72.112  
  72.113          /**
  72.114           * Build the overall footer.
  72.115           */
  72.116 -        public void buildFooter() {
  72.117 +        public void buildFooter(XMLNode node) {
  72.118                  writer.writeFooter(classDoc);
  72.119          }
  72.120  
    73.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/FieldBuilder.java	Thu Jun 17 16:28:21 2010 -0700
    73.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/FieldBuilder.java	Mon Jun 21 22:09:18 2010 -0700
    73.3 @@ -29,7 +29,6 @@
    73.4  import com.sun.tools.doclets.internal.toolkit.*;
    73.5  import com.sun.javadoc.*;
    73.6  import java.util.*;
    73.7 -import java.lang.reflect.*;
    73.8  
    73.9  /**
   73.10   * Builds documentation for a field.
   73.11 @@ -117,22 +116,6 @@
   73.12          }
   73.13  
   73.14          /**
   73.15 -         * {@inheritDoc}
   73.16 -         */
   73.17 -        public void invokeMethod(
   73.18 -                String methodName,
   73.19 -                Class<?>[] paramClasses,
   73.20 -                Object[] params)
   73.21 -                throws Exception {
   73.22 -                if (DEBUG) {
   73.23 -                        configuration.root.printError(
   73.24 -                                "DEBUG: " + this.getClass().getName() + "." + methodName);
   73.25 -                }
   73.26 -                Method method = this.getClass().getMethod(methodName, paramClasses);
   73.27 -                method.invoke(this, params);
   73.28 -        }
   73.29 -
   73.30 -        /**
   73.31           * Returns a list of fields that will be documented for the given class.
   73.32           * This information can be used for doclet specific documentation
   73.33           * generation.
   73.34 @@ -166,21 +149,21 @@
   73.35           * @param elements the XML elements that specify how to construct this
   73.36           *                documentation.
   73.37           */
   73.38 -        public void buildFieldDoc(List<?> elements) {
   73.39 +        public void buildFieldDoc(XMLNode node) {
   73.40                  if (writer == null) {
   73.41                          return;
   73.42                  }
   73.43                  for (currentFieldIndex = 0;
   73.44                          currentFieldIndex < fields.size();
   73.45                          currentFieldIndex++) {
   73.46 -                        build(elements);
   73.47 +                        buildChildren(node);
   73.48                  }
   73.49          }
   73.50  
   73.51          /**
   73.52           * Build the overall header.
   73.53           */
   73.54 -        public void buildHeader() {
   73.55 +        public void buildHeader(XMLNode node) {
   73.56                  writer.writeHeader(
   73.57                          classDoc,
   73.58                          configuration.getText("doclet.Field_Detail"));
   73.59 @@ -189,7 +172,7 @@
   73.60          /**
   73.61           * Build the header for the individual field.
   73.62           */
   73.63 -        public void buildFieldHeader() {
   73.64 +        public void buildFieldHeader(XMLNode node) {
   73.65                  writer.writeFieldHeader(
   73.66                          (FieldDoc) fields.get(currentFieldIndex),
   73.67                          currentFieldIndex == 0);
   73.68 @@ -198,14 +181,14 @@
   73.69          /**
   73.70           * Build the signature.
   73.71           */
   73.72 -        public void buildSignature() {
   73.73 +        public void buildSignature(XMLNode node) {
   73.74                  writer.writeSignature((FieldDoc) fields.get(currentFieldIndex));
   73.75          }
   73.76  
   73.77          /**
   73.78           * Build the deprecation information.
   73.79           */
   73.80 -        public void buildDeprecationInfo() {
   73.81 +        public void buildDeprecationInfo(XMLNode node) {
   73.82                  writer.writeDeprecated((FieldDoc) fields.get(currentFieldIndex));
   73.83          }
   73.84  
   73.85 @@ -213,7 +196,7 @@
   73.86           * Build the comments for the field.  Do nothing if
   73.87           * {@link Configuration#nocomment} is set to true.
   73.88           */
   73.89 -        public void buildFieldComments() {
   73.90 +        public void buildFieldComments(XMLNode node) {
   73.91                  if (!configuration.nocomment) {
   73.92                          writer.writeComments((FieldDoc) fields.get(currentFieldIndex));
   73.93                  }
   73.94 @@ -222,21 +205,21 @@
   73.95          /**
   73.96           * Build the tag information.
   73.97           */
   73.98 -        public void buildTagInfo() {
   73.99 +        public void buildTagInfo(XMLNode node) {
  73.100                  writer.writeTags((FieldDoc) fields.get(currentFieldIndex));
  73.101          }
  73.102  
  73.103          /**
  73.104           * Build the footer for the individual field.
  73.105           */
  73.106 -        public void buildFieldFooter() {
  73.107 +        public void buildFieldFooter(XMLNode node) {
  73.108                  writer.writeFieldFooter();
  73.109          }
  73.110  
  73.111          /**
  73.112           * Build the overall footer.
  73.113           */
  73.114 -        public void buildFooter() {
  73.115 +        public void buildFooter(XMLNode node) {
  73.116                  writer.writeFooter(classDoc);
  73.117          }
  73.118  
    74.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/LayoutParser.java	Thu Jun 17 16:28:21 2010 -0700
    74.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/LayoutParser.java	Mon Jun 21 22:09:18 2010 -0700
    74.3 @@ -45,8 +45,8 @@
    74.4      /**
    74.5       * The map of XML elements that have been parsed.
    74.6       */
    74.7 -    private Map<String,List<Object>> xmlElementsMap;
    74.8 -
    74.9 +    private Map<String,XMLNode> xmlElementsMap;
   74.10 +    private XMLNode currentNode;
   74.11      private Configuration configuration;
   74.12      private static LayoutParser instance;
   74.13      private String currentRoot;
   74.14 @@ -56,7 +56,7 @@
   74.15       * This class is a singleton.
   74.16       */
   74.17      private LayoutParser(Configuration configuration) {
   74.18 -        xmlElementsMap = new HashMap<String,List<Object>>();
   74.19 +        xmlElementsMap = new HashMap<String,XMLNode>();
   74.20          this.configuration = configuration;
   74.21      }
   74.22  
   74.23 @@ -78,20 +78,18 @@
   74.24       *
   74.25       * @return List the list of XML elements parsed.
   74.26       */
   74.27 -    public List<?> parseXML(String root) {
   74.28 +    public XMLNode parseXML(String root) {
   74.29          if (xmlElementsMap.containsKey(root)) {
   74.30              return xmlElementsMap.get(root);
   74.31          }
   74.32          try {
   74.33 -            List<Object> xmlElements = new ArrayList<Object>();
   74.34 -            xmlElementsMap.put(root, xmlElements);
   74.35              currentRoot = root;
   74.36              isParsing = false;
   74.37              SAXParserFactory factory = SAXParserFactory.newInstance();
   74.38              SAXParser saxParser = factory.newSAXParser();
   74.39              InputStream in = configuration.getBuilderXML();
   74.40              saxParser.parse(in, this);
   74.41 -            return xmlElements;
   74.42 +            return xmlElementsMap.get(root);
   74.43          } catch (Throwable t) {
   74.44              t.printStackTrace();
   74.45              throw new DocletAbortException();
   74.46 @@ -101,39 +99,30 @@
   74.47      /**
   74.48       * {@inheritDoc}
   74.49       */
   74.50 +    @Override
   74.51      public void startElement(String namespaceURI, String sName, String qName,
   74.52          Attributes attrs)
   74.53      throws SAXException {
   74.54          if (isParsing || qName.equals(currentRoot)) {
   74.55              isParsing = true;
   74.56 -            List<Object> xmlElements = xmlElementsMap.get(currentRoot);
   74.57 -            xmlElements.add(qName);
   74.58 +            currentNode = new XMLNode(currentNode, qName);
   74.59 +            for (int i = 0; i < attrs.getLength(); i++)
   74.60 +                currentNode.attrs.put(attrs.getLocalName(i), attrs.getValue(i));
   74.61 +            if (qName.equals(currentRoot))
   74.62 +                xmlElementsMap.put(qName, currentNode);
   74.63          }
   74.64      }
   74.65  
   74.66      /**
   74.67       * {@inheritDoc}
   74.68       */
   74.69 +    @Override
   74.70      public void endElement(String namespaceURI, String sName, String qName)
   74.71      throws SAXException {
   74.72          if (! isParsing) {
   74.73 -            isParsing = false;
   74.74              return;
   74.75          }
   74.76 -        List<Object> xmlElements = xmlElementsMap.get(currentRoot);
   74.77 -        if (xmlElements.get(xmlElements.size()-1).equals(qName)) {
   74.78 -            return;
   74.79 -        } else {
   74.80 -            List<Object> subElements = new ArrayList<Object>();
   74.81 -            int targetIndex = xmlElements.indexOf(qName);
   74.82 -            int size = xmlElements.size();
   74.83 -            for (int i = targetIndex; i < size; i++) {
   74.84 -                subElements.add(xmlElements.get(targetIndex));
   74.85 -                xmlElements.remove(targetIndex);
   74.86 -            }
   74.87 -            //Save the sub elements as a list.
   74.88 -            xmlElements.add(subElements);
   74.89 -        }
   74.90 +        currentNode = currentNode.parent;
   74.91          isParsing = ! qName.equals(currentRoot);
   74.92      }
   74.93  }
    75.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java	Thu Jun 17 16:28:21 2010 -0700
    75.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java	Mon Jun 21 22:09:18 2010 -0700
    75.3 @@ -29,7 +29,6 @@
    75.4  import com.sun.tools.doclets.internal.toolkit.*;
    75.5  import com.sun.javadoc.*;
    75.6  import java.util.*;
    75.7 -import java.lang.reflect.*;
    75.8  
    75.9  /**
   75.10   * Builds the member summary.
   75.11 @@ -175,22 +174,6 @@
   75.12          }
   75.13  
   75.14          /**
   75.15 -         * {@inheritDoc}
   75.16 -         */
   75.17 -        public void invokeMethod(
   75.18 -                String methodName,
   75.19 -                Class<?>[] paramClasses,
   75.20 -                Object[] params)
   75.21 -                throws Exception {
   75.22 -                if (DEBUG) {
   75.23 -                        configuration.root.printError(
   75.24 -                                "DEBUG: " + this.getClass().getName() + "." + methodName);
   75.25 -                }
   75.26 -                Method method = this.getClass().getMethod(methodName, paramClasses);
   75.27 -                method.invoke(this, params);
   75.28 -        }
   75.29 -
   75.30 -        /**
   75.31           * Return true it there are any members to summarize.
   75.32           *
   75.33           * @return true if there are any members to summarize.
   75.34 @@ -211,7 +194,7 @@
   75.35          /**
   75.36           * Build the summary for the enum constants.
   75.37           */
   75.38 -        public void buildEnumConstantsSummary() {
   75.39 +        public void buildEnumConstantsSummary(XMLNode node) {
   75.40                  buildSummary(
   75.41                          memberSummaryWriters[VisibleMemberMap.ENUM_CONSTANTS],
   75.42                          visibleMemberMaps[VisibleMemberMap.ENUM_CONSTANTS]);
   75.43 @@ -220,7 +203,7 @@
   75.44      /**
   75.45       * Build the summary for the optional members.
   75.46       */
   75.47 -    public void buildAnnotationTypeOptionalMemberSummary() {
   75.48 +    public void buildAnnotationTypeOptionalMemberSummary(XMLNode node) {
   75.49          buildSummary(
   75.50              memberSummaryWriters[VisibleMemberMap.ANNOTATION_TYPE_MEMBER_OPTIONAL],
   75.51                  visibleMemberMaps[VisibleMemberMap.ANNOTATION_TYPE_MEMBER_OPTIONAL]);
   75.52 @@ -229,7 +212,7 @@
   75.53      /**
   75.54       * Build the summary for the optional members.
   75.55       */
   75.56 -    public void buildAnnotationTypeRequiredMemberSummary() {
   75.57 +    public void buildAnnotationTypeRequiredMemberSummary(XMLNode node) {
   75.58          buildSummary(
   75.59              memberSummaryWriters[VisibleMemberMap.ANNOTATION_TYPE_MEMBER_REQUIRED],
   75.60                  visibleMemberMaps[VisibleMemberMap.ANNOTATION_TYPE_MEMBER_REQUIRED]);
   75.61 @@ -238,7 +221,7 @@
   75.62          /**
   75.63           * Build the summary for the fields.
   75.64           */
   75.65 -        public void buildFieldsSummary() {
   75.66 +        public void buildFieldsSummary(XMLNode node) {
   75.67                  buildSummary(
   75.68                          memberSummaryWriters[VisibleMemberMap.FIELDS],
   75.69                          visibleMemberMaps[VisibleMemberMap.FIELDS]);
   75.70 @@ -247,7 +230,7 @@
   75.71          /**
   75.72           * Build the inherited summary for the fields.
   75.73           */
   75.74 -        public void buildFieldsInheritedSummary() {
   75.75 +        public void buildFieldsInheritedSummary(XMLNode node) {
   75.76                  buildInheritedSummary(
   75.77                          memberSummaryWriters[VisibleMemberMap.FIELDS],
   75.78                          visibleMemberMaps[VisibleMemberMap.FIELDS]);
   75.79 @@ -256,7 +239,7 @@
   75.80          /**
   75.81           * Build the summary for the nested classes.
   75.82           */
   75.83 -        public void buildNestedClassesSummary() {
   75.84 +        public void buildNestedClassesSummary(XMLNode node) {
   75.85                  buildSummary(
   75.86                          memberSummaryWriters[VisibleMemberMap.INNERCLASSES],
   75.87                          visibleMemberMaps[VisibleMemberMap.INNERCLASSES]);
   75.88 @@ -265,7 +248,7 @@
   75.89          /**
   75.90           * Build the inherited summary for the nested classes.
   75.91           */
   75.92 -        public void buildNestedClassesInheritedSummary() {
   75.93 +        public void buildNestedClassesInheritedSummary(XMLNode node) {
   75.94                  buildInheritedSummary(
   75.95                          memberSummaryWriters[VisibleMemberMap.INNERCLASSES],
   75.96                          visibleMemberMaps[VisibleMemberMap.INNERCLASSES]);
   75.97 @@ -274,7 +257,7 @@
   75.98          /**
   75.99           * Build the method summary.
  75.100           */
  75.101 -        public void buildMethodsSummary() {
  75.102 +        public void buildMethodsSummary(XMLNode node) {
  75.103                  buildSummary(
  75.104                          memberSummaryWriters[VisibleMemberMap.METHODS],
  75.105                          visibleMemberMaps[VisibleMemberMap.METHODS]);
  75.106 @@ -283,7 +266,7 @@
  75.107          /**
  75.108           * Build the inherited method summary.
  75.109           */
  75.110 -        public void buildMethodsInheritedSummary() {
  75.111 +        public void buildMethodsInheritedSummary(XMLNode node) {
  75.112                  buildInheritedSummary(
  75.113                          memberSummaryWriters[VisibleMemberMap.METHODS],
  75.114                          visibleMemberMaps[VisibleMemberMap.METHODS]);
  75.115 @@ -292,7 +275,7 @@
  75.116          /**
  75.117           * Build the constructor summary.
  75.118           */
  75.119 -        public void buildConstructorsSummary() {
  75.120 +        public void buildConstructorsSummary(XMLNode node) {
  75.121                  buildSummary(
  75.122                          memberSummaryWriters[VisibleMemberMap.CONSTRUCTORS],
  75.123                          visibleMemberMaps[VisibleMemberMap.CONSTRUCTORS]);
    76.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MethodBuilder.java	Thu Jun 17 16:28:21 2010 -0700
    76.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MethodBuilder.java	Mon Jun 21 22:09:18 2010 -0700
    76.3 @@ -29,7 +29,7 @@
    76.4  import com.sun.tools.doclets.internal.toolkit.*;
    76.5  import com.sun.javadoc.*;
    76.6  import java.util.*;
    76.7 -import java.lang.reflect.*;
    76.8 +
    76.9  /**
   76.10   * Builds documentation for a method.
   76.11   *
   76.12 @@ -112,22 +112,6 @@
   76.13          }
   76.14  
   76.15          /**
   76.16 -         * {@inheritDoc}
   76.17 -         */
   76.18 -        public void invokeMethod(
   76.19 -                String methodName,
   76.20 -                Class<?>[] paramClasses,
   76.21 -                Object[] params)
   76.22 -                throws Exception {
   76.23 -                if (DEBUG) {
   76.24 -                        configuration.root.printError(
   76.25 -                                "DEBUG: " + this.getClass().getName() + "." + methodName);
   76.26 -                }
   76.27 -                Method method = this.getClass().getMethod(methodName, paramClasses);
   76.28 -                method.invoke(this, params);
   76.29 -        }
   76.30 -
   76.31 -        /**
   76.32           * Returns a list of methods that will be documented for the given class.
   76.33           * This information can be used for doclet specific documentation
   76.34           * generation.
   76.35 @@ -158,21 +142,21 @@
   76.36          /**
   76.37           * Build the method documentation.
   76.38           */
   76.39 -        public void buildMethodDoc(List<?> elements) {
   76.40 +        public void buildMethodDoc(XMLNode node) {
   76.41                  if (writer == null) {
   76.42                          return;
   76.43                  }
   76.44                  for (currentMethodIndex = 0;
   76.45                          currentMethodIndex < methods.size();
   76.46                          currentMethodIndex++) {
   76.47 -                        build(elements);
   76.48 +                        buildChildren(node);
   76.49                  }
   76.50          }
   76.51  
   76.52          /**
   76.53           * Build the overall header.
   76.54           */
   76.55 -        public void buildHeader() {
   76.56 +        public void buildHeader(XMLNode node) {
   76.57                  writer.writeHeader(
   76.58                          classDoc,
   76.59                          configuration.getText("doclet.Method_Detail"));
   76.60 @@ -181,7 +165,7 @@
   76.61          /**
   76.62           * Build the header for the individual method.
   76.63           */
   76.64 -        public void buildMethodHeader() {
   76.65 +        public void buildMethodHeader(XMLNode node) {
   76.66                  writer.writeMethodHeader(
   76.67                          (MethodDoc) methods.get(currentMethodIndex),
   76.68                          currentMethodIndex == 0);
   76.69 @@ -190,14 +174,14 @@
   76.70          /**
   76.71           * Build the signature.
   76.72           */
   76.73 -        public void buildSignature() {
   76.74 +        public void buildSignature(XMLNode node) {
   76.75                  writer.writeSignature((MethodDoc) methods.get(currentMethodIndex));
   76.76          }
   76.77  
   76.78          /**
   76.79           * Build the deprecation information.
   76.80           */
   76.81 -        public void buildDeprecationInfo() {
   76.82 +        public void buildDeprecationInfo(XMLNode node) {
   76.83                  writer.writeDeprecated((MethodDoc) methods.get(currentMethodIndex));
   76.84          }
   76.85  
   76.86 @@ -205,7 +189,7 @@
   76.87           * Build the comments for the method.  Do nothing if
   76.88           * {@link Configuration#nocomment} is set to true.  If this method
   76.89           */
   76.90 -        public void buildMethodComments() {
   76.91 +        public void buildMethodComments(XMLNode node) {
   76.92                  if (!configuration.nocomment) {
   76.93              MethodDoc method = (MethodDoc) methods.get(currentMethodIndex);
   76.94  
   76.95 @@ -228,21 +212,21 @@
   76.96          /**
   76.97           * Build the tag information.
   76.98           */
   76.99 -        public void buildTagInfo() {
  76.100 +        public void buildTagInfo(XMLNode node) {
  76.101                  writer.writeTags((MethodDoc) methods.get(currentMethodIndex));
  76.102          }
  76.103  
  76.104          /**
  76.105           * Build the footer of the method.
  76.106           */
  76.107 -        public void buildMethodFooter() {
  76.108 +        public void buildMethodFooter(XMLNode node) {
  76.109                  writer.writeMethodFooter();
  76.110          }
  76.111  
  76.112          /**
  76.113           * Build the overall footer.
  76.114           */
  76.115 -        public void buildFooter() {
  76.116 +        public void buildFooter(XMLNode node) {
  76.117                  writer.writeFooter(classDoc);
  76.118          }
  76.119  
    77.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PackageSummaryBuilder.java	Thu Jun 17 16:28:21 2010 -0700
    77.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PackageSummaryBuilder.java	Mon Jun 21 22:09:18 2010 -0700
    77.3 @@ -29,8 +29,6 @@
    77.4  import com.sun.tools.doclets.internal.toolkit.*;
    77.5  import com.sun.javadoc.*;
    77.6  import java.io.*;
    77.7 -import java.util.*;
    77.8 -import java.lang.reflect.*;
    77.9  
   77.10  /**
   77.11   * Builds the summary for a given package.
   77.12 @@ -85,22 +83,6 @@
   77.13          }
   77.14  
   77.15          /**
   77.16 -         * {@inheritDoc}
   77.17 -         */
   77.18 -        public void invokeMethod(
   77.19 -                String methodName,
   77.20 -                Class<?>[] paramClasses,
   77.21 -                Object[] params)
   77.22 -                throws Exception {
   77.23 -                if (DEBUG) {
   77.24 -                        configuration.root.printError(
   77.25 -                                "DEBUG: " + this.getClass().getName() + "." + methodName);
   77.26 -                }
   77.27 -                Method method = this.getClass().getMethod(methodName, paramClasses);
   77.28 -                method.invoke(this, params);
   77.29 -        }
   77.30 -
   77.31 -        /**
   77.32           * Build the package summary.
   77.33           */
   77.34          public void build() throws IOException {
   77.35 @@ -121,8 +103,8 @@
   77.36          /**
   77.37           * Build the package documentation.
   77.38           */
   77.39 -        public void buildPackageDoc(List<?> elements) throws Exception {
   77.40 -                build(elements);
   77.41 +        public void buildPackageDoc(XMLNode node) throws Exception {
   77.42 +                buildChildren(node);
   77.43                  packageWriter.close();
   77.44                  Util.copyDocFiles(
   77.45                          configuration,
   77.46 @@ -136,14 +118,14 @@
   77.47          /**
   77.48           * Build the header of the summary.
   77.49           */
   77.50 -        public void buildPackageHeader() {
   77.51 +        public void buildPackageHeader(XMLNode node) {
   77.52                  packageWriter.writePackageHeader(Util.getPackageName(packageDoc));
   77.53          }
   77.54  
   77.55          /**
   77.56           * Build the description of the summary.
   77.57           */
   77.58 -        public void buildPackageDescription() {
   77.59 +        public void buildPackageDescription(XMLNode node) {
   77.60                  if (configuration.nocomment) {
   77.61                          return;
   77.62                  }
   77.63 @@ -153,7 +135,7 @@
   77.64          /**
   77.65           * Build the tags of the summary.
   77.66           */
   77.67 -        public void buildPackageTags() {
   77.68 +        public void buildPackageTags(XMLNode node) {
   77.69                  if (configuration.nocomment) {
   77.70                          return;
   77.71                  }
   77.72 @@ -163,28 +145,28 @@
   77.73          /**
   77.74           * Build the package summary.
   77.75           */
   77.76 -        public void buildSummary(List<?> elements) {
   77.77 -                build(elements);
   77.78 +        public void buildSummary(XMLNode node) {
   77.79 +                buildChildren(node);
   77.80          }
   77.81  
   77.82          /**
   77.83           * Build the overall header.
   77.84           */
   77.85 -        public void buildSummaryHeader() {
   77.86 +        public void buildSummaryHeader(XMLNode node) {
   77.87                  packageWriter.writeSummaryHeader();
   77.88          }
   77.89  
   77.90          /**
   77.91           * Build the overall footer.
   77.92           */
   77.93 -        public void buildSummaryFooter() {
   77.94 +        public void buildSummaryFooter(XMLNode node) {
   77.95                  packageWriter.writeSummaryFooter();
   77.96          }
   77.97  
   77.98          /**
   77.99           * Build the summary for the classes in this package.
  77.100           */
  77.101 -        public void buildClassSummary() {
  77.102 +        public void buildClassSummary(XMLNode node) {
  77.103              String classTableSummary =
  77.104                      configuration.getText("doclet.Member_Table_Summary",
  77.105                      configuration.getText("doclet.Class_Summary"),
  77.106 @@ -209,7 +191,7 @@
  77.107          /**
  77.108           * Build the summary for the interfaces in this package.
  77.109           */
  77.110 -        public void buildInterfaceSummary() {
  77.111 +        public void buildInterfaceSummary(XMLNode node) {
  77.112              String interfaceTableSummary =
  77.113                      configuration.getText("doclet.Member_Table_Summary",
  77.114                      configuration.getText("doclet.Interface_Summary"),
  77.115 @@ -234,7 +216,7 @@
  77.116          /**
  77.117           * Build the summary for the enums in this package.
  77.118           */
  77.119 -        public void buildAnnotationTypeSummary() {
  77.120 +        public void buildAnnotationTypeSummary(XMLNode node) {
  77.121              String annotationtypeTableSummary =
  77.122                      configuration.getText("doclet.Member_Table_Summary",
  77.123                      configuration.getText("doclet.Annotation_Types_Summary"),
  77.124 @@ -259,7 +241,7 @@
  77.125          /**
  77.126           * Build the summary for the enums in this package.
  77.127           */
  77.128 -        public void buildEnumSummary() {
  77.129 +        public void buildEnumSummary(XMLNode node) {
  77.130              String enumTableSummary =
  77.131                      configuration.getText("doclet.Member_Table_Summary",
  77.132                      configuration.getText("doclet.Enum_Summary"),
  77.133 @@ -284,7 +266,7 @@
  77.134          /**
  77.135           * Build the summary for the exceptions in this package.
  77.136           */
  77.137 -        public void buildExceptionSummary() {
  77.138 +        public void buildExceptionSummary(XMLNode node) {
  77.139              String exceptionTableSummary =
  77.140                      configuration.getText("doclet.Member_Table_Summary",
  77.141                      configuration.getText("doclet.Exception_Summary"),
  77.142 @@ -309,7 +291,7 @@
  77.143          /**
  77.144           * Build the summary for the errors in this package.
  77.145           */
  77.146 -        public void buildErrorSummary() {
  77.147 +        public void buildErrorSummary(XMLNode node) {
  77.148              String errorTableSummary =
  77.149                      configuration.getText("doclet.Member_Table_Summary",
  77.150                      configuration.getText("doclet.Error_Summary"),
  77.151 @@ -334,7 +316,7 @@
  77.152          /**
  77.153           * Build the footer of the summary.
  77.154           */
  77.155 -        public void buildPackageFooter() {
  77.156 +        public void buildPackageFooter(XMLNode node) {
  77.157                  packageWriter.writePackageFooter();
  77.158          }
  77.159  }
    78.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java	Thu Jun 17 16:28:21 2010 -0700
    78.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java	Mon Jun 21 22:09:18 2010 -0700
    78.3 @@ -26,7 +26,6 @@
    78.4  package com.sun.tools.doclets.internal.toolkit.builders;
    78.5  
    78.6  import java.io.*;
    78.7 -import java.lang.reflect.*;
    78.8  import java.util.*;
    78.9  
   78.10  import com.sun.javadoc.*;
   78.11 @@ -132,47 +131,33 @@
   78.12      /**
   78.13       * Build the serialized form.
   78.14       */
   78.15 -    public void buildSerializedForm(List<?> elements) throws Exception {
   78.16 -        build(elements);
   78.17 +    public void buildSerializedForm(XMLNode node) throws Exception {
   78.18 +        buildChildren(node);
   78.19          writer.close();
   78.20      }
   78.21  
   78.22      /**
   78.23 -     * {@inheritDoc}
   78.24 -     */
   78.25 -    public void invokeMethod(String methodName, Class<?>[] paramClasses,
   78.26 -            Object[] params)
   78.27 -    throws Exception {
   78.28 -        if (DEBUG) {
   78.29 -            configuration.root.printError("DEBUG: " + this.getClass().getName()
   78.30 -                + "." + methodName);
   78.31 -        }
   78.32 -        Method method = this.getClass().getMethod(methodName, paramClasses);
   78.33 -        method.invoke(this, params);
   78.34 -    }
   78.35 -
   78.36 -    /**
   78.37       * Build the header.
   78.38       */
   78.39 -    public void buildHeader() {
   78.40 +    public void buildHeader(XMLNode node) {
   78.41          writer.writeHeader(configuration.getText("doclet.Serialized_Form"));
   78.42      }
   78.43  
   78.44      /**
   78.45       * Build the contents.
   78.46       */
   78.47 -    public void buildSerializedFormSummaries(List<?> elements) {
   78.48 +    public void buildSerializedFormSummaries(XMLNode node) {
   78.49          PackageDoc[] packages = configuration.packages;
   78.50          for (int i = 0; i < packages.length; i++) {
   78.51              currentPackage = packages[i];
   78.52 -            build(elements);
   78.53 +            buildChildren(node);
   78.54          }
   78.55      }
   78.56  
   78.57      /**
   78.58       * Build the package serialized for for the current package being processed.
   78.59       */
   78.60 -    public void buildPackageSerializedForm(List<?> elements) {
   78.61 +    public void buildPackageSerializedForm(XMLNode node) {
   78.62          String foo = currentPackage.name();
   78.63          ClassDoc[] classes = currentPackage.allClasses(false);
   78.64          if (classes == null || classes.length == 0) {
   78.65 @@ -184,14 +169,14 @@
   78.66          if (!serialClassFoundToDocument(classes)) {
   78.67              return;
   78.68          }
   78.69 -        build(elements);
   78.70 +        buildChildren(node);
   78.71      }
   78.72  
   78.73 -    public void buildPackageHeader() {
   78.74 +    public void buildPackageHeader(XMLNode node) {
   78.75          writer.writePackageHeader(Util.getPackageName(currentPackage));
   78.76      }
   78.77  
   78.78 -    public void buildClassSerializedForm(List<?> elements) {
   78.79 +    public void buildClassSerializedForm(XMLNode node) {
   78.80          ClassDoc[] classes = currentPackage.allClasses(false);
   78.81          Arrays.sort(classes);
   78.82          for (int j = 0; j < classes.length; j++) {
   78.83 @@ -202,19 +187,19 @@
   78.84                  if(!serialClassInclude(currentClass)) {
   78.85                      continue;
   78.86                  }
   78.87 -                build(elements);
   78.88 +                buildChildren(node);
   78.89              }
   78.90          }
   78.91      }
   78.92  
   78.93 -    public void buildClassHeader() {
   78.94 +    public void buildClassHeader(XMLNode node) {
   78.95          writer.writeClassHeader(currentClass);
   78.96      }
   78.97  
   78.98      /**
   78.99       * Build the serial UID information for the given class.
  78.100       */
  78.101 -    public void buildSerialUIDInfo() {
  78.102 +    public void buildSerialUIDInfo(XMLNode node) {
  78.103          FieldDoc[] fields = currentClass.fields(false);
  78.104          for (int i = 0; i < fields.length; i++) {
  78.105              if (fields[i].name().equals("serialVersionUID") &&
  78.106 @@ -229,7 +214,7 @@
  78.107      /**
  78.108       * Build the footer.
  78.109       */
  78.110 -    public void buildFooter() {
  78.111 +    public void buildFooter(XMLNode node) {
  78.112          writer.writeFooter();
  78.113      }
  78.114  
  78.115 @@ -316,7 +301,7 @@
  78.116      /**
  78.117       * Build the method header.
  78.118       */
  78.119 -    public void buildMethodHeader() {
  78.120 +    public void buildMethodHeader(XMLNode node) {
  78.121          if (currentClass.serializationMethods().length > 0) {
  78.122              methodWriter.writeHeader(
  78.123                  configuration.getText("doclet.Serialized_Form_methods"));
  78.124 @@ -333,28 +318,28 @@
  78.125      /**
  78.126       * Build the method sub header.
  78.127       */
  78.128 -    public void buildMethodSubHeader()  {
  78.129 +    public void buildMethodSubHeader(XMLNode node)  {
  78.130          methodWriter.writeMemberHeader((MethodDoc) currentMember);
  78.131      }
  78.132  
  78.133      /**
  78.134       * Build the deprecated method description.
  78.135       */
  78.136 -    public void buildDeprecatedMethodInfo() {
  78.137 +    public void buildDeprecatedMethodInfo(XMLNode node) {
  78.138          methodWriter.writeDeprecatedMemberInfo((MethodDoc) currentMember);
  78.139      }
  78.140  
  78.141      /**
  78.142       * Build method tags.
  78.143       */
  78.144 -    public void buildMethodDescription() {
  78.145 +    public void buildMethodDescription(XMLNode node) {
  78.146          methodWriter.writeMemberDescription((MethodDoc) currentMember);
  78.147      }
  78.148  
  78.149      /**
  78.150       * Build the method tags.
  78.151       */
  78.152 -    public void buildMethodTags() {
  78.153 +    public void buildMethodTags(XMLNode node) {
  78.154          methodWriter.writeMemberTags((MethodDoc) currentMember);
  78.155          MethodDoc method = (MethodDoc)currentMember;
  78.156          if (method.name().compareTo("writeExternal") == 0
  78.157 @@ -370,24 +355,24 @@
  78.158      /**
  78.159       * build the information for the method.
  78.160       */
  78.161 -    public void buildMethodInfo(List<?> elements)  {
  78.162 +    public void buildMethodInfo(XMLNode node)  {
  78.163          if(configuration.nocomment){
  78.164              return;
  78.165          }
  78.166 -        build(elements);
  78.167 +        buildChildren(node);
  78.168      }
  78.169  
  78.170      /**
  78.171       * Build the method footer.
  78.172       */
  78.173 -    public void buildMethodFooter() {
  78.174 +    public void buildMethodFooter(XMLNode node) {
  78.175          methodWriter.writeMemberFooter();
  78.176      }
  78.177  
  78.178      /**
  78.179       * Build the field header.
  78.180       */
  78.181 -    public void buildFieldHeader() {
  78.182 +    public void buildFieldHeader(XMLNode node) {
  78.183          if (currentClass.serializableFields().length > 0) {
  78.184              buildFieldSerializationOverview(currentClass);
  78.185              fieldWriter.writeHeader(configuration.getText(
  78.186 @@ -426,7 +411,7 @@
  78.187      /**
  78.188       * Build the field sub header.
  78.189       */
  78.190 -    public void buildFieldSubHeader() {
  78.191 +    public void buildFieldSubHeader(XMLNode node) {
  78.192          if (! currentClass.definesSerializableFields() ){
  78.193              FieldDoc field = (FieldDoc) currentMember;
  78.194              fieldWriter.writeMemberHeader(field.type().asClassDoc(),
  78.195 @@ -437,7 +422,7 @@
  78.196      /**
  78.197       * Build the field deprecation information.
  78.198       */
  78.199 -    public void buildFieldDeprecationInfo() {
  78.200 +    public void buildFieldDeprecationInfo(XMLNode node) {
  78.201          if (!currentClass.definesSerializableFields()) {
  78.202              FieldDoc field = (FieldDoc)currentMember;
  78.203              fieldWriter.writeMemberDeprecatedInfo(field);
  78.204 @@ -447,7 +432,7 @@
  78.205      /**
  78.206       * Build the field information.
  78.207       */
  78.208 -    public void buildFieldInfo() {
  78.209 +    public void buildFieldInfo(XMLNode node) {
  78.210          if(configuration.nocomment){
  78.211              return;
  78.212          }
  78.213 @@ -483,7 +468,7 @@
  78.214      /**
  78.215       * Build the field sub footer.
  78.216       */
  78.217 -    public void buildFieldSubFooter() {
  78.218 +    public void buildFieldSubFooter(XMLNode node) {
  78.219          if (! currentClass.definesSerializableFields()) {
  78.220              fieldWriter.writeMemberFooter();
  78.221          }
  78.222 @@ -493,12 +478,12 @@
  78.223       * Build the summaries for the methods that belong to the given
  78.224       * class.
  78.225       */
  78.226 -    public void buildSerializableMethods(List<?> elements) {
  78.227 +    public void buildSerializableMethods(XMLNode node) {
  78.228          MemberDoc[] members = currentClass.serializationMethods();
  78.229          if (members.length > 0) {
  78.230              for (int i = 0; i < members.length; i++) {
  78.231                  currentMember = members[i];
  78.232 -                build(elements);
  78.233 +                buildChildren(node);
  78.234              }
  78.235          }
  78.236      }
  78.237 @@ -507,12 +492,12 @@
  78.238       * Build the summaries for the fields that belong to the given
  78.239       * class.
  78.240       */
  78.241 -    public void buildSerializableFields(List<?> elements) {
  78.242 +    public void buildSerializableFields(XMLNode node) {
  78.243          MemberDoc[] members = currentClass.serializableFields();
  78.244          if (members.length > 0) {
  78.245              for (int i = 0; i < members.length; i++) {
  78.246                  currentMember = members[i];
  78.247 -                build(elements);
  78.248 +                buildChildren(node);
  78.249              }
  78.250          }
  78.251      }
    79.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    79.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/XMLNode.java	Mon Jun 21 22:09:18 2010 -0700
    79.3 @@ -0,0 +1,69 @@
    79.4 +/*
    79.5 + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
    79.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    79.7 + *
    79.8 + * This code is free software; you can redistribute it and/or modify it
    79.9 + * under the terms of the GNU General Public License version 2 only, as
   79.10 + * published by the Free Software Foundation.  Oracle designates this
   79.11 + * particular file as subject to the "Classpath" exception as provided
   79.12 + * by Oracle in the LICENSE file that accompanied this code.
   79.13 + *
   79.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
   79.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   79.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   79.17 + * version 2 for more details (a copy is included in the LICENSE file that
   79.18 + * accompanied this code).
   79.19 + *
   79.20 + * You should have received a copy of the GNU General Public License version
   79.21 + * 2 along with this work; if not, write to the Free Software Foundation,
   79.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   79.23 + *
   79.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   79.25 + * or visit www.oracle.com if you need additional information or have any
   79.26 + * questions.
   79.27 + */
   79.28 +
   79.29 +package com.sun.tools.doclets.internal.toolkit.builders;
   79.30 +
   79.31 +import java.util.ArrayList;
   79.32 +import java.util.HashMap;
   79.33 +import java.util.List;
   79.34 +import java.util.Map;
   79.35 +
   79.36 +/**
   79.37 + * Simple class to represent the attribute and elements of an XML node.
   79.38 + */
   79.39 +public class XMLNode {
   79.40 +    XMLNode(XMLNode parent, String qname) {
   79.41 +        this.parent = parent;
   79.42 +        name = qname;
   79.43 +        attrs = new HashMap<String,String>();
   79.44 +        children = new ArrayList<XMLNode>();
   79.45 +
   79.46 +        if (parent != null)
   79.47 +            parent.children.add(this);
   79.48 +    }
   79.49 +
   79.50 +    @Override
   79.51 +    public String toString() {
   79.52 +        StringBuilder sb = new StringBuilder();
   79.53 +        sb.append("<");
   79.54 +        sb.append(name);
   79.55 +        for (Map.Entry<String,String> e: attrs.entrySet())
   79.56 +            sb.append(" " + e.getKey() + "=\"" + e.getValue() + "\"");
   79.57 +        if (children.size() == 0)
   79.58 +            sb.append("/>");
   79.59 +        else {
   79.60 +            sb.append(">");
   79.61 +            for (XMLNode c: children)
   79.62 +                sb.append(c.toString());
   79.63 +            sb.append("</" + name + ">");
   79.64 +        }
   79.65 +        return sb.toString();
   79.66 +    }
   79.67 +
   79.68 +    final XMLNode parent;
   79.69 +    final String name;
   79.70 +    final Map<String,String> attrs;
   79.71 +    final List<XMLNode> children;
   79.72 +}
    80.1 --- a/src/share/classes/com/sun/tools/javac/Launcher.java	Thu Jun 17 16:28:21 2010 -0700
    80.2 +++ b/src/share/classes/com/sun/tools/javac/Launcher.java	Mon Jun 21 22:09:18 2010 -0700
    80.3 @@ -41,7 +41,7 @@
    80.4   * of a <em>project</em>).  Simply ensure that this class is added to
    80.5   * the project and make it the main class of the project.</p>
    80.6   *
    80.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
    80.8 + * <p><b>This is NOT part of any supported API.
    80.9   * If you write code that depends on this, you do so at your own
   80.10   * risk.  This code and its internal interfaces are subject to change
   80.11   * or deletion without notice.</b></p>
    81.1 --- a/src/share/classes/com/sun/tools/javac/Server.java	Thu Jun 17 16:28:21 2010 -0700
    81.2 +++ b/src/share/classes/com/sun/tools/javac/Server.java	Mon Jun 21 22:09:18 2010 -0700
    81.3 @@ -36,7 +36,7 @@
    81.4   * Java Compiler Server.  Can be used to speed up a set of (small)
    81.5   * compilation tasks by caching jar files between compilations.
    81.6   *
    81.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
    81.8 + * <p><b>This is NOT part of any supported API.
    81.9   * If you write code that depends on this, you do so at your own
   81.10   * risk.  This code and its internal interfaces are subject to change
   81.11   * or deletion without notice.</b></p>
    82.1 --- a/src/share/classes/com/sun/tools/javac/api/DiagnosticFormatter.java	Thu Jun 17 16:28:21 2010 -0700
    82.2 +++ b/src/share/classes/com/sun/tools/javac/api/DiagnosticFormatter.java	Mon Jun 21 22:09:18 2010 -0700
    82.3 @@ -33,7 +33,7 @@
    82.4   * Provides simple functionalities for javac diagnostic formatting.
    82.5   * @param <D> type of diagnostic handled by this formatter
    82.6   *
    82.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
    82.8 + * <p><b>This is NOT part of any supported API.
    82.9   * If you write code that depends on this, you do so at your own risk.
   82.10   * This code and its internal interfaces are subject to change or
   82.11   * deletion without notice.</b>
    83.1 --- a/src/share/classes/com/sun/tools/javac/api/Formattable.java	Thu Jun 17 16:28:21 2010 -0700
    83.2 +++ b/src/share/classes/com/sun/tools/javac/api/Formattable.java	Mon Jun 21 22:09:18 2010 -0700
    83.3 @@ -31,7 +31,7 @@
    83.4   * This interface must be implemented by any javac class that has non-trivial
    83.5   * formatting needs (e.g. where toString() does not apply because of localization).
    83.6   *
    83.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
    83.8 + * <p><b>This is NOT part of any supported API.
    83.9   * If you write code that depends on this, you do so at your own risk.
   83.10   * This code and its internal interfaces are subject to change or
   83.11   * deletion without notice.</b>
    84.1 --- a/src/share/classes/com/sun/tools/javac/api/JavacScope.java	Thu Jun 17 16:28:21 2010 -0700
    84.2 +++ b/src/share/classes/com/sun/tools/javac/api/JavacScope.java	Mon Jun 21 22:09:18 2010 -0700
    84.3 @@ -38,7 +38,7 @@
    84.4  /**
    84.5   * Provides an implementation of Scope.
    84.6   *
    84.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
    84.8 + * <p><b>This is NOT part of any supported API.
    84.9   * If you write code that depends on this, you do so at your own
   84.10   * risk.  This code and its internal interfaces are subject to change
   84.11   * or deletion without notice.</b></p>
    85.1 --- a/src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java	Thu Jun 17 16:28:21 2010 -0700
    85.2 +++ b/src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java	Mon Jun 21 22:09:18 2010 -0700
    85.3 @@ -54,9 +54,9 @@
    85.4  import com.sun.tools.javac.main.JavaCompiler;
    85.5  
    85.6  /**
    85.7 - * Provides access to functionality specific to the Sun Java Compiler, javac.
    85.8 + * Provides access to functionality specific to the JDK Java Compiler, javac.
    85.9   *
   85.10 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   85.11 + * <p><b>This is NOT part of any supported API.
   85.12   * If you write code that depends on this, you do so at your own
   85.13   * risk.  This code and its internal interfaces are subject to change
   85.14   * or deletion without notice.</b></p>
   85.15 @@ -502,7 +502,7 @@
   85.16      }
   85.17  
   85.18      /**
   85.19 -     * For internal use by Sun Microsystems only.  This method will be
   85.20 +     * For internal use only.  This method will be
   85.21       * removed without warning.
   85.22       */
   85.23      public Context getContext() {
   85.24 @@ -510,7 +510,7 @@
   85.25      }
   85.26  
   85.27      /**
   85.28 -     * For internal use by Sun Microsystems only.  This method will be
   85.29 +     * For internal use only.  This method will be
   85.30       * removed without warning.
   85.31       */
   85.32      public void updateContext(Context newContext) {
   85.33 @@ -518,7 +518,7 @@
   85.34      }
   85.35  
   85.36      /**
   85.37 -     * For internal use by Sun Microsystems only.  This method will be
   85.38 +     * For internal use only.  This method will be
   85.39       * removed without warning.
   85.40       */
   85.41      public Type parseType(String expr, TypeElement scope) {
    86.1 --- a/src/share/classes/com/sun/tools/javac/api/JavacTool.java	Thu Jun 17 16:28:21 2010 -0700
    86.2 +++ b/src/share/classes/com/sun/tools/javac/api/JavacTool.java	Mon Jun 21 22:09:18 2010 -0700
    86.3 @@ -57,7 +57,7 @@
    86.4  /**
    86.5   * TODO: describe com.sun.tools.javac.api.Tool
    86.6   *
    86.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
    86.8 + * <p><b>This is NOT part of any supported API.
    86.9   * If you write code that depends on this, you do so at your own
   86.10   * risk.  This code and its internal interfaces are subject to change
   86.11   * or deletion without notice.</b></p>
    87.1 --- a/src/share/classes/com/sun/tools/javac/api/JavacTrees.java	Thu Jun 17 16:28:21 2010 -0700
    87.2 +++ b/src/share/classes/com/sun/tools/javac/api/JavacTrees.java	Mon Jun 21 22:09:18 2010 -0700
    87.3 @@ -71,7 +71,7 @@
    87.4  /**
    87.5   * Provides an implementation of Trees.
    87.6   *
    87.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
    87.8 + * <p><b>This is NOT part of any supported API.
    87.9   * If you write code that depends on this, you do so at your own
   87.10   * risk.  This code and its internal interfaces are subject to change
   87.11   * or deletion without notice.</b></p>
    88.1 --- a/src/share/classes/com/sun/tools/javac/api/Messages.java	Thu Jun 17 16:28:21 2010 -0700
    88.2 +++ b/src/share/classes/com/sun/tools/javac/api/Messages.java	Mon Jun 21 22:09:18 2010 -0700
    88.3 @@ -32,7 +32,7 @@
    88.4   * This interface defines the minimum requirements in order to provide support
    88.5   * for localized formatted strings.
    88.6   *
    88.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
    88.8 + * <p><b>This is NOT part of any supported API.
    88.9   * If you write code that depends on this, you do so at your own risk.
   88.10   * This code and its internal interfaces are subject to change or
   88.11   * deletion without notice.</b>
    89.1 --- a/src/share/classes/com/sun/tools/javac/api/WrappingJavaFileManager.java	Thu Jun 17 16:28:21 2010 -0700
    89.2 +++ b/src/share/classes/com/sun/tools/javac/api/WrappingJavaFileManager.java	Mon Jun 21 22:09:18 2010 -0700
    89.3 @@ -42,7 +42,7 @@
    89.4   * <p>This class might be moved to {@link javax.tools} in a future
    89.5   * release.
    89.6   *
    89.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
    89.8 + * <p><b>This is NOT part of any supported API.
    89.9   * If you write code that depends on this, you do so at your own
   89.10   * risk.  This code and its internal interfaces are subject to change
   89.11   * or deletion without notice.</b></p>
    90.1 --- a/src/share/classes/com/sun/tools/javac/code/Attribute.java	Thu Jun 17 16:28:21 2010 -0700
    90.2 +++ b/src/share/classes/com/sun/tools/javac/code/Attribute.java	Mon Jun 21 22:09:18 2010 -0700
    90.3 @@ -38,8 +38,8 @@
    90.4  
    90.5  /** An annotation value.
    90.6   *
    90.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    90.8 - *  you write code that depends on this, you do so at your own risk.
    90.9 + *  <p><b>This is NOT part of any supported API.
   90.10 + *  If you write code that depends on this, you do so at your own risk.
   90.11   *  This code and its internal interfaces are subject to change or
   90.12   *  deletion without notice.</b>
   90.13   */
    91.1 --- a/src/share/classes/com/sun/tools/javac/code/BoundKind.java	Thu Jun 17 16:28:21 2010 -0700
    91.2 +++ b/src/share/classes/com/sun/tools/javac/code/BoundKind.java	Mon Jun 21 22:09:18 2010 -0700
    91.3 @@ -27,7 +27,7 @@
    91.4  
    91.5  /**
    91.6   *
    91.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
    91.8 + * <p><b>This is NOT part of any supported API.
    91.9   * If you write code that depends on this, you do so at your own risk.
   91.10   * This code and its internal interfaces are subject to change or
   91.11   * deletion without notice.</b>
    92.1 --- a/src/share/classes/com/sun/tools/javac/code/Flags.java	Thu Jun 17 16:28:21 2010 -0700
    92.2 +++ b/src/share/classes/com/sun/tools/javac/code/Flags.java	Mon Jun 21 22:09:18 2010 -0700
    92.3 @@ -33,8 +33,8 @@
    92.4  
    92.5  /** Access flags and other modifiers for Java classes and members.
    92.6   *
    92.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    92.8 - *  you write code that depends on this, you do so at your own risk.
    92.9 + *  <p><b>This is NOT part of any supported API.
   92.10 + *  If you write code that depends on this, you do so at your own risk.
   92.11   *  This code and its internal interfaces are subject to change or
   92.12   *  deletion without notice.</b>
   92.13   */
   92.14 @@ -226,7 +226,7 @@
   92.15      public static final long HYPOTHETICAL   = 1L<<37;
   92.16  
   92.17      /**
   92.18 -     * Flag that marks a Sun proprietary class.
   92.19 +     * Flag that marks an internal proprietary class.
   92.20       */
   92.21      public static final long PROPRIETARY = 1L<<38;
   92.22  
    93.1 --- a/src/share/classes/com/sun/tools/javac/code/Kinds.java	Thu Jun 17 16:28:21 2010 -0700
    93.2 +++ b/src/share/classes/com/sun/tools/javac/code/Kinds.java	Mon Jun 21 22:09:18 2010 -0700
    93.3 @@ -38,8 +38,8 @@
    93.4   *  different subclasses of Symbol. Symbol kinds are organized so they can be
    93.5   *  or'ed to sets.
    93.6   *
    93.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    93.8 - *  you write code that depends on this, you do so at your own risk.
    93.9 + *  <p><b>This is NOT part of any supported API.
   93.10 + *  If you write code that depends on this, you do so at your own risk.
   93.11   *  This code and its internal interfaces are subject to change or
   93.12   *  deletion without notice.</b>
   93.13   */
    94.1 --- a/src/share/classes/com/sun/tools/javac/code/Lint.java	Thu Jun 17 16:28:21 2010 -0700
    94.2 +++ b/src/share/classes/com/sun/tools/javac/code/Lint.java	Mon Jun 21 22:09:18 2010 -0700
    94.3 @@ -39,8 +39,8 @@
    94.4  /**
    94.5   * A class for handling -Xlint suboptions and @SuppresssWarnings.
    94.6   *
    94.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    94.8 - *  you write code that depends on this, you do so at your own risk.
    94.9 + *  <p><b>This is NOT part of any supported API.
   94.10 + *  If you write code that depends on this, you do so at your own risk.
   94.11   *  This code and its internal interfaces are subject to change or
   94.12   *  deletion without notice.</b>
   94.13   */
   94.14 @@ -196,14 +196,19 @@
   94.15          RAW("rawtypes"),
   94.16  
   94.17          /**
   94.18 -         * Warn about Sun proprietary API that may be removed in a future release.
   94.19 +         * Warn about proprietary API that may be removed in a future release.
   94.20           */
   94.21          SUNAPI("sunapi", true),
   94.22  
   94.23          /**
   94.24           * Warn about issues relating to use of statics
   94.25           */
   94.26 -        STATIC("static");
   94.27 +        STATIC("static"),
   94.28 +
   94.29 +        /**
   94.30 +         * Warn about potentially unsafe vararg methods
   94.31 +         */
   94.32 +        VARARGS("varargs");
   94.33  
   94.34          LintCategory(String option) {
   94.35              this(option, false);
    95.1 --- a/src/share/classes/com/sun/tools/javac/code/Printer.java	Thu Jun 17 16:28:21 2010 -0700
    95.2 +++ b/src/share/classes/com/sun/tools/javac/code/Printer.java	Mon Jun 21 22:09:18 2010 -0700
    95.3 @@ -41,7 +41,7 @@
    95.4   * A combined type/symbol visitor for generating non-trivial localized string
    95.5   * representation of types and symbols.
    95.6   *
    95.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
    95.8 + * <p><b>This is NOT part of any supported API.
    95.9   * If you write code that depends on this, you do so at your own risk.
   95.10   * This code and its internal interfaces are subject to change or
   95.11   * deletion without notice.</b>
    96.1 --- a/src/share/classes/com/sun/tools/javac/code/Scope.java	Thu Jun 17 16:28:21 2010 -0700
    96.2 +++ b/src/share/classes/com/sun/tools/javac/code/Scope.java	Mon Jun 21 22:09:18 2010 -0700
    96.3 @@ -34,8 +34,8 @@
    96.4   *  as hash tables. Scopes can be nested; the next field of a scope points
    96.5   *  to its next outer scope. Nested scopes can share their hash tables.
    96.6   *
    96.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    96.8 - *  you write code that depends on this, you do so at your own risk.
    96.9 + *  <p><b>This is NOT part of any supported API.
   96.10 + *  If you write code that depends on this, you do so at your own risk.
   96.11   *  This code and its internal interfaces are subject to change or
   96.12   *  deletion without notice.</b>
   96.13   */
    97.1 --- a/src/share/classes/com/sun/tools/javac/code/Source.java	Thu Jun 17 16:28:21 2010 -0700
    97.2 +++ b/src/share/classes/com/sun/tools/javac/code/Source.java	Mon Jun 21 22:09:18 2010 -0700
    97.3 @@ -33,8 +33,8 @@
    97.4  
    97.5  /** The source language version accepted.
    97.6   *
    97.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    97.8 - *  you write code that depends on this, you do so at your own risk.
    97.9 + *  <p><b>This is NOT part of any supported API.
   97.10 + *  If you write code that depends on this, you do so at your own risk.
   97.11   *  This code and its internal interfaces are subject to change or
   97.12   *  deletion without notice.</b>
   97.13   */
    98.1 --- a/src/share/classes/com/sun/tools/javac/code/Symbol.java	Thu Jun 17 16:28:21 2010 -0700
    98.2 +++ b/src/share/classes/com/sun/tools/javac/code/Symbol.java	Mon Jun 21 22:09:18 2010 -0700
    98.3 @@ -49,8 +49,8 @@
    98.4   *  types, packages. Each subclass is represented as a static inner class
    98.5   *  inside Symbol.
    98.6   *
    98.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    98.8 - *  you write code that depends on this, you do so at your own risk.
    98.9 + *  <p><b>This is NOT part of any supported API.
   98.10 + *  If you write code that depends on this, you do so at your own risk.
   98.11   *  This code and its internal interfaces are subject to change or
   98.12   *  deletion without notice.</b>
   98.13   */
    99.1 --- a/src/share/classes/com/sun/tools/javac/code/Symtab.java	Thu Jun 17 16:28:21 2010 -0700
    99.2 +++ b/src/share/classes/com/sun/tools/javac/code/Symtab.java	Mon Jun 21 22:09:18 2010 -0700
    99.3 @@ -42,8 +42,8 @@
    99.4   *  fields. This makes it possible to work in multiple concurrent
    99.5   *  projects, which might use different class files for library classes.
    99.6   *
    99.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
    99.8 - *  you write code that depends on this, you do so at your own risk.
    99.9 + *  <p><b>This is NOT part of any supported API.
   99.10 + *  If you write code that depends on this, you do so at your own risk.
   99.11   *  This code and its internal interfaces are subject to change or
   99.12   *  deletion without notice.</b>
   99.13   */
   99.14 @@ -469,7 +469,7 @@
   99.15          synthesizeBoxTypeIfMissing(floatType);
   99.16          synthesizeBoxTypeIfMissing(voidType);
   99.17  
   99.18 -        // Enter a synthetic class that is used to mark Sun
   99.19 +        // Enter a synthetic class that is used to mark internal
   99.20          // proprietary classes in ct.sym.  This class does not have a
   99.21          // class file.
   99.22          ClassType proprietaryType = (ClassType)enterClass("sun.Proprietary+Annotation");
   100.1 --- a/src/share/classes/com/sun/tools/javac/code/TargetType.java	Thu Jun 17 16:28:21 2010 -0700
   100.2 +++ b/src/share/classes/com/sun/tools/javac/code/TargetType.java	Mon Jun 21 22:09:18 2010 -0700
   100.3 @@ -39,8 +39,8 @@
   100.4   * annotation targets a type argument in a local variable, method return type,
   100.5   * or a typecast).
   100.6   *
   100.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   100.8 - *  you write code that depends on this, you do so at your own risk.
   100.9 + *  <p><b>This is NOT part of any supported API.
  100.10 + *  If you write code that depends on this, you do so at your own risk.
  100.11   *  This code and its internal interfaces are subject to change or
  100.12   *  deletion without notice.</b>
  100.13   */
   101.1 --- a/src/share/classes/com/sun/tools/javac/code/Type.java	Thu Jun 17 16:28:21 2010 -0700
   101.2 +++ b/src/share/classes/com/sun/tools/javac/code/Type.java	Mon Jun 21 22:09:18 2010 -0700
   101.3 @@ -56,8 +56,8 @@
   101.4   *  the error type (tag: ERROR, class: ErrorType).
   101.5   *  </pre>
   101.6   *
   101.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   101.8 - *  you write code that depends on this, you do so at your own risk.
   101.9 + *  <p><b>This is NOT part of any supported API.
  101.10 + *  If you write code that depends on this, you do so at your own risk.
  101.11   *  This code and its internal interfaces are subject to change or
  101.12   *  deletion without notice.</b>
  101.13   *
   102.1 --- a/src/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java	Thu Jun 17 16:28:21 2010 -0700
   102.2 +++ b/src/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java	Mon Jun 21 22:09:18 2010 -0700
   102.3 @@ -29,8 +29,8 @@
   102.4  
   102.5  /** A type annotation position.
   102.6  *
   102.7 -*  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   102.8 -*  you write code that depends on this, you do so at your own risk.
   102.9 +*  <p><b>This is NOT part of any supported API.
  102.10 +*  If you write code that depends on this, you do so at your own risk.
  102.11  *  This code and its internal interfaces are subject to change or
  102.12  *  deletion without notice.</b>
  102.13  */
   103.1 --- a/src/share/classes/com/sun/tools/javac/code/TypeTags.java	Thu Jun 17 16:28:21 2010 -0700
   103.2 +++ b/src/share/classes/com/sun/tools/javac/code/TypeTags.java	Mon Jun 21 22:09:18 2010 -0700
   103.3 @@ -29,8 +29,8 @@
   103.4  /** An interface for type tag values, which distinguish between different
   103.5   *  sorts of types.
   103.6   *
   103.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   103.8 - *  you write code that depends on this, you do so at your own risk.
   103.9 + *  <p><b>This is NOT part of any supported API.
  103.10 + *  If you write code that depends on this, you do so at your own risk.
  103.11   *  This code and its internal interfaces are subject to change or
  103.12   *  deletion without notice.</b>
  103.13   */
   104.1 --- a/src/share/classes/com/sun/tools/javac/code/Types.java	Thu Jun 17 16:28:21 2010 -0700
   104.2 +++ b/src/share/classes/com/sun/tools/javac/code/Types.java	Mon Jun 21 22:09:18 2010 -0700
   104.3 @@ -58,7 +58,7 @@
   104.4   * <dd>A second list of types should be named ss.</dd>
   104.5   * </dl>
   104.6   *
   104.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   104.8 + * <p><b>This is NOT part of any supported API.
   104.9   * If you write code that depends on this, you do so at your own risk.
  104.10   * This code and its internal interfaces are subject to change or
  104.11   * deletion without notice.</b>
   105.1 --- a/src/share/classes/com/sun/tools/javac/comp/Annotate.java	Thu Jun 17 16:28:21 2010 -0700
   105.2 +++ b/src/share/classes/com/sun/tools/javac/comp/Annotate.java	Mon Jun 21 22:09:18 2010 -0700
   105.3 @@ -35,8 +35,8 @@
   105.4   *  which is processed at the top level of any set of recursive calls
   105.5   *  requesting it be processed.
   105.6   *
   105.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   105.8 - *  you write code that depends on this, you do so at your own risk.
   105.9 + *  <p><b>This is NOT part of any supported API.
  105.10 + *  If you write code that depends on this, you do so at your own risk.
  105.11   *  This code and its internal interfaces are subject to change or
  105.12   *  deletion without notice.</b>
  105.13   */
   106.1 --- a/src/share/classes/com/sun/tools/javac/comp/Attr.java	Thu Jun 17 16:28:21 2010 -0700
   106.2 +++ b/src/share/classes/com/sun/tools/javac/comp/Attr.java	Mon Jun 21 22:09:18 2010 -0700
   106.3 @@ -59,8 +59,8 @@
   106.4   *  @see ConstFold
   106.5   *  @see Infer
   106.6   *
   106.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   106.8 - *  you write code that depends on this, you do so at your own risk.
   106.9 + *  <p><b>This is NOT part of any supported API.
  106.10 + *  If you write code that depends on this, you do so at your own risk.
  106.11   *  This code and its internal interfaces are subject to change or
  106.12   *  deletion without notice.</b>
  106.13   */
  106.14 @@ -166,7 +166,7 @@
  106.15      boolean useBeforeDeclarationWarning;
  106.16  
  106.17      /**
  106.18 -     * Switch: allow lint infrastructure to control Sun proprietary
  106.19 +     * Switch: allow lint infrastructure to control proprietary
  106.20       * API warnings.
  106.21       */
  106.22      boolean enableSunApiLintControl;
  106.23 @@ -657,6 +657,8 @@
  106.24                  attribStat(l.head, localEnv);
  106.25              }
  106.26  
  106.27 +            chk.checkVarargMethodDecl(tree);
  106.28 +
  106.29              // Check that type parameters are well-formed.
  106.30              chk.validate(tree.typarams, localEnv);
  106.31              if ((owner.flags() & ANNOTATION) != 0 &&
  106.32 @@ -2634,10 +2636,11 @@
  106.33              }
  106.34              if (useVarargs) {
  106.35                  JCTree tree = env.tree;
  106.36 +                Type argtype = owntype.getParameterTypes().last();
  106.37                  if (owntype.getReturnType().tag != FORALL || warned) {
  106.38 -                    chk.checkVararg(env.tree.pos(), owntype.getParameterTypes());
  106.39 +                    chk.checkVararg(env.tree.pos(), owntype.getParameterTypes(), sym, env);
  106.40                  }
  106.41 -                Type elemtype = types.elemtype(owntype.getParameterTypes().last());
  106.42 +                Type elemtype = types.elemtype(argtype);
  106.43                  switch (tree.getTag()) {
  106.44                  case JCTree.APPLY:
  106.45                      ((JCMethodInvocation) tree).varargsElement = elemtype;
   107.1 --- a/src/share/classes/com/sun/tools/javac/comp/AttrContext.java	Thu Jun 17 16:28:21 2010 -0700
   107.2 +++ b/src/share/classes/com/sun/tools/javac/comp/AttrContext.java	Mon Jun 21 22:09:18 2010 -0700
   107.3 @@ -31,8 +31,8 @@
   107.4  /** Contains information specific to the attribute and enter
   107.5   *  passes, to be used in place of the generic field in environments.
   107.6   *
   107.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   107.8 - *  you write code that depends on this, you do so at your own risk.
   107.9 + *  <p><b>This is NOT part of any supported API.
  107.10 + *  If you write code that depends on this, you do so at your own risk.
  107.11   *  This code and its internal interfaces are subject to change or
  107.12   *  deletion without notice.</b>
  107.13   */
   108.1 --- a/src/share/classes/com/sun/tools/javac/comp/AttrContextEnv.java	Thu Jun 17 16:28:21 2010 -0700
   108.2 +++ b/src/share/classes/com/sun/tools/javac/comp/AttrContextEnv.java	Mon Jun 21 22:09:18 2010 -0700
   108.3 @@ -30,8 +30,8 @@
   108.4  
   108.5  /** {@code Env<A>} specialized as {@code Env<AttrContext>}
   108.6   *
   108.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   108.8 - *  you write code that depends on this, you do so at your own risk.
   108.9 + *  <p><b>This is NOT part of any supported API.
  108.10 + *  If you write code that depends on this, you do so at your own risk.
  108.11   *  This code and its internal interfaces are subject to change or
  108.12   *  deletion without notice.</b>
  108.13   */
   109.1 --- a/src/share/classes/com/sun/tools/javac/comp/Check.java	Thu Jun 17 16:28:21 2010 -0700
   109.2 +++ b/src/share/classes/com/sun/tools/javac/comp/Check.java	Mon Jun 21 22:09:18 2010 -0700
   109.3 @@ -47,8 +47,8 @@
   109.4  
   109.5  /** Type checking helper class for the attribution phase.
   109.6   *
   109.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   109.8 - *  you write code that depends on this, you do so at your own risk.
   109.9 + *  <p><b>This is NOT part of any supported API.
  109.10 + *  If you write code that depends on this, you do so at your own risk.
  109.11   *  This code and its internal interfaces are subject to change or
  109.12   *  deletion without notice.</b>
  109.13   */
  109.14 @@ -64,6 +64,7 @@
  109.15      private final JCDiagnostic.Factory diags;
  109.16      private final boolean skipAnnotations;
  109.17      private boolean warnOnSyntheticConflicts;
  109.18 +    private boolean suppressAbortOnBadClassFile;
  109.19      private final TreeInfo treeinfo;
  109.20  
  109.21      // The set of lint options currently in effect. It is initialized
  109.22 @@ -98,12 +99,14 @@
  109.23          complexInference = options.get("-complexinference") != null;
  109.24          skipAnnotations = options.get("skipAnnotations") != null;
  109.25          warnOnSyntheticConflicts = options.get("warnOnSyntheticConflicts") != null;
  109.26 +        suppressAbortOnBadClassFile = options.get("suppressAbortOnBadClassFile") != null;
  109.27  
  109.28          Target target = Target.instance(context);
  109.29          syntheticNameChar = target.syntheticNameChar();
  109.30  
  109.31          boolean verboseDeprecated = lint.isEnabled(LintCategory.DEPRECATION);
  109.32          boolean verboseUnchecked = lint.isEnabled(LintCategory.UNCHECKED);
  109.33 +        boolean verboseVarargs = lint.isEnabled(LintCategory.VARARGS);
  109.34          boolean verboseSunApi = lint.isEnabled(LintCategory.SUNAPI);
  109.35          boolean enforceMandatoryWarnings = source.enforceMandatoryWarnings();
  109.36  
  109.37 @@ -111,6 +114,8 @@
  109.38                  enforceMandatoryWarnings, "deprecated");
  109.39          uncheckedHandler = new MandatoryWarningHandler(log, verboseUnchecked,
  109.40                  enforceMandatoryWarnings, "unchecked");
  109.41 +        unsafeVarargsHandler = new MandatoryWarningHandler(log, verboseVarargs,
  109.42 +                enforceMandatoryWarnings, "varargs");
  109.43          sunApiHandler = new MandatoryWarningHandler(log, verboseSunApi,
  109.44                  enforceMandatoryWarnings, "sunapi");
  109.45      }
  109.46 @@ -148,7 +153,11 @@
  109.47       */
  109.48      private MandatoryWarningHandler uncheckedHandler;
  109.49  
  109.50 -    /** A handler for messages about using Sun proprietary API.
  109.51 +    /** A handler for messages about unchecked or unsafe vararg method decl.
  109.52 +     */
  109.53 +    private MandatoryWarningHandler unsafeVarargsHandler;
  109.54 +
  109.55 +    /** A handler for messages about using proprietary API.
  109.56       */
  109.57      private MandatoryWarningHandler sunApiHandler;
  109.58  
  109.59 @@ -180,7 +189,16 @@
  109.60              uncheckedHandler.report(pos, msg, args);
  109.61      }
  109.62  
  109.63 -    /** Warn about using Sun proprietary API.
  109.64 +    /** Warn about unsafe vararg method decl.
  109.65 +     *  @param pos        Position to be used for error reporting.
  109.66 +     *  @param sym        The deprecated symbol.
  109.67 +     */
  109.68 +    void warnUnsafeVararg(DiagnosticPosition pos, Type elemType) {
  109.69 +        if (!lint.isSuppressed(LintCategory.VARARGS))
  109.70 +            unsafeVarargsHandler.report(pos, "varargs.non.reifiable.type", elemType);
  109.71 +    }
  109.72 +
  109.73 +    /** Warn about using proprietary API.
  109.74       *  @param pos        Position to be used for error reporting.
  109.75       *  @param msg        A string describing the problem.
  109.76       */
  109.77 @@ -200,6 +218,7 @@
  109.78      public void reportDeferredDiagnostics() {
  109.79          deprecationHandler.reportDeferredDiagnostic();
  109.80          uncheckedHandler.reportDeferredDiagnostic();
  109.81 +        unsafeVarargsHandler.reportDeferredDiagnostic();
  109.82          sunApiHandler.reportDeferredDiagnostic();
  109.83      }
  109.84  
  109.85 @@ -210,7 +229,8 @@
  109.86       */
  109.87      public Type completionError(DiagnosticPosition pos, CompletionFailure ex) {
  109.88          log.error(pos, "cant.access", ex.sym, ex.getDetailValue());
  109.89 -        if (ex instanceof ClassReader.BadClassFile) throw new Abort();
  109.90 +        if (ex instanceof ClassReader.BadClassFile
  109.91 +                && !suppressAbortOnBadClassFile) throw new Abort();
  109.92          else return syms.errType;
  109.93      }
  109.94  
  109.95 @@ -677,17 +697,33 @@
  109.96          }
  109.97      }
  109.98  
  109.99 +    void checkVarargMethodDecl(JCMethodDecl tree) {
 109.100 +        MethodSymbol m = tree.sym;
 109.101 +        //check the element type of the vararg
 109.102 +        if (m.isVarArgs()) {
 109.103 +            Type varargElemType = types.elemtype(tree.params.last().type);
 109.104 +            if (!types.isReifiable(varargElemType)) {
 109.105 +                warnUnsafeVararg(tree.params.head.pos(), varargElemType);
 109.106 +            }
 109.107 +        }
 109.108 +    }
 109.109 +
 109.110      /**
 109.111       * Check that vararg method call is sound
 109.112       * @param pos Position to be used for error reporting.
 109.113       * @param argtypes Actual arguments supplied to vararg method.
 109.114       */
 109.115 -    void checkVararg(DiagnosticPosition pos, List<Type> argtypes) {
 109.116 +    void checkVararg(DiagnosticPosition pos, List<Type> argtypes, Symbol msym, Env<AttrContext> env) {
 109.117 +        Env<AttrContext> calleeLintEnv = env;
 109.118 +        while (calleeLintEnv.info.lint == null)
 109.119 +            calleeLintEnv = calleeLintEnv.next;
 109.120 +        Lint calleeLint = calleeLintEnv.info.lint.augment(msym.attributes_field, msym.flags());
 109.121          Type argtype = argtypes.last();
 109.122 -        if (!types.isReifiable(argtype))
 109.123 +        if (!types.isReifiable(argtype) && !calleeLint.isSuppressed(Lint.LintCategory.VARARGS)) {
 109.124              warnUnchecked(pos,
 109.125                                "unchecked.generic.array.creation",
 109.126                                argtype);
 109.127 +        }
 109.128      }
 109.129  
 109.130      /** Check that given modifiers are legal for given symbol and
   110.1 --- a/src/share/classes/com/sun/tools/javac/comp/ConstFold.java	Thu Jun 17 16:28:21 2010 -0700
   110.2 +++ b/src/share/classes/com/sun/tools/javac/comp/ConstFold.java	Mon Jun 21 22:09:18 2010 -0700
   110.3 @@ -37,8 +37,8 @@
   110.4  /** Helper class for constant folding, used by the attribution phase.
   110.5   *  This class is marked strictfp as mandated by JLS 15.4.
   110.6   *
   110.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   110.8 - *  you write code that depends on this, you do so at your own risk.
   110.9 + *  <p><b>This is NOT part of any supported API.
  110.10 + *  If you write code that depends on this, you do so at your own risk.
  110.11   *  This code and its internal interfaces are subject to change or
  110.12   *  deletion without notice.</b>
  110.13   */
   111.1 --- a/src/share/classes/com/sun/tools/javac/comp/Enter.java	Thu Jun 17 16:28:21 2010 -0700
   111.2 +++ b/src/share/classes/com/sun/tools/javac/comp/Enter.java	Mon Jun 21 22:09:18 2010 -0700
   111.3 @@ -82,8 +82,8 @@
   111.4   *                                              (only for toplevel classes)
   111.5   *  </pre>
   111.6   *
   111.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   111.8 - *  you write code that depends on this, you do so at your own risk.
   111.9 + *  <p><b>This is NOT part of any supported API.
  111.10 + *  If you write code that depends on this, you do so at your own risk.
  111.11   *  This code and its internal interfaces are subject to change or
  111.12   *  deletion without notice.</b>
  111.13   */
   112.1 --- a/src/share/classes/com/sun/tools/javac/comp/Env.java	Thu Jun 17 16:28:21 2010 -0700
   112.2 +++ b/src/share/classes/com/sun/tools/javac/comp/Env.java	Mon Jun 21 22:09:18 2010 -0700
   112.3 @@ -36,8 +36,8 @@
   112.4   *  a generic component, represented as a type parameter, to carry further
   112.5   *  information specific to individual passes.
   112.6   *
   112.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   112.8 - *  you write code that depends on this, you do so at your own risk.
   112.9 + *  <p><b>This is NOT part of any supported API.
  112.10 + *  If you write code that depends on this, you do so at your own risk.
  112.11   *  This code and its internal interfaces are subject to change or
  112.12   *  deletion without notice.</b>
  112.13   */
   113.1 --- a/src/share/classes/com/sun/tools/javac/comp/Flow.java	Thu Jun 17 16:28:21 2010 -0700
   113.2 +++ b/src/share/classes/com/sun/tools/javac/comp/Flow.java	Mon Jun 21 22:09:18 2010 -0700
   113.3 @@ -170,8 +170,8 @@
   113.4   *  allow unqualified forms only, parentheses optional, and phase out
   113.5   *  support for assigning to a final field via this.x.
   113.6   *
   113.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   113.8 - *  you write code that depends on this, you do so at your own risk.
   113.9 + *  <p><b>This is NOT part of any supported API.
  113.10 + *  If you write code that depends on this, you do so at your own risk.
  113.11   *  This code and its internal interfaces are subject to change or
  113.12   *  deletion without notice.</b>
  113.13   */
   114.1 --- a/src/share/classes/com/sun/tools/javac/comp/Infer.java	Thu Jun 17 16:28:21 2010 -0700
   114.2 +++ b/src/share/classes/com/sun/tools/javac/comp/Infer.java	Mon Jun 21 22:09:18 2010 -0700
   114.3 @@ -37,8 +37,8 @@
   114.4  
   114.5  /** Helper class for type parameter inference, used by the attribution phase.
   114.6   *
   114.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   114.8 - *  you write code that depends on this, you do so at your own risk.
   114.9 + *  <p><b>This is NOT part of any supported API.
  114.10 + *  If you write code that depends on this, you do so at your own risk.
  114.11   *  This code and its internal interfaces are subject to change or
  114.12   *  deletion without notice.</b>
  114.13   */
  114.14 @@ -290,6 +290,7 @@
  114.15      public Type instantiateMethod(final Env<AttrContext> env,
  114.16                                    List<Type> tvars,
  114.17                                    MethodType mt,
  114.18 +                                  final Symbol msym,
  114.19                                    final List<Type> argtypes,
  114.20                                    final boolean allowBoxing,
  114.21                                    final boolean useVarargs,
  114.22 @@ -418,7 +419,7 @@
  114.23                      checkWithinBounds(all_tvars,
  114.24                             types.subst(inferredTypes, tvars, inferred), warn);
  114.25                      if (useVarargs) {
  114.26 -                        chk.checkVararg(env.tree.pos(), formals);
  114.27 +                        chk.checkVararg(env.tree.pos(), formals, msym, env);
  114.28                      }
  114.29                      return super.inst(inferred, types);
  114.30              }};
   115.1 --- a/src/share/classes/com/sun/tools/javac/comp/Lower.java	Thu Jun 17 16:28:21 2010 -0700
   115.2 +++ b/src/share/classes/com/sun/tools/javac/comp/Lower.java	Mon Jun 21 22:09:18 2010 -0700
   115.3 @@ -48,8 +48,8 @@
   115.4  /** This pass translates away some syntactic sugar: inner classes,
   115.5   *  class literals, assertions, foreach loops, etc.
   115.6   *
   115.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   115.8 - *  you write code that depends on this, you do so at your own risk.
   115.9 + *  <p><b>This is NOT part of any supported API.
  115.10 + *  If you write code that depends on this, you do so at your own risk.
  115.11   *  This code and its internal interfaces are subject to change or
  115.12   *  deletion without notice.</b>
  115.13   */
   116.1 --- a/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java	Thu Jun 17 16:28:21 2010 -0700
   116.2 +++ b/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java	Mon Jun 21 22:09:18 2010 -0700
   116.3 @@ -48,8 +48,8 @@
   116.4   *  by entering their members into the class scope using
   116.5   *  MemberEnter.complete().  See Enter for an overview.
   116.6   *
   116.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   116.8 - *  you write code that depends on this, you do so at your own risk.
   116.9 + *  <p><b>This is NOT part of any supported API.
  116.10 + *  If you write code that depends on this, you do so at your own risk.
  116.11   *  This code and its internal interfaces are subject to change or
  116.12   *  deletion without notice.</b>
  116.13   */
   117.1 --- a/src/share/classes/com/sun/tools/javac/comp/Resolve.java	Thu Jun 17 16:28:21 2010 -0700
   117.2 +++ b/src/share/classes/com/sun/tools/javac/comp/Resolve.java	Mon Jun 21 22:09:18 2010 -0700
   117.3 @@ -47,8 +47,8 @@
   117.4  
   117.5  /** Helper class for name resolution, used mostly by the attribution phase.
   117.6   *
   117.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   117.8 - *  you write code that depends on this, you do so at your own risk.
   117.9 + *  <p><b>This is NOT part of any supported API.
  117.10 + *  If you write code that depends on this, you do so at your own risk.
  117.11   *  This code and its internal interfaces are subject to change or
  117.12   *  deletion without notice.</b>
  117.13   */
  117.14 @@ -348,6 +348,7 @@
  117.15              infer.instantiateMethod(env,
  117.16                                      tvars,
  117.17                                      (MethodType)mt,
  117.18 +                                    m,
  117.19                                      argtypes,
  117.20                                      allowBoxing,
  117.21                                      useVarargs,
   118.1 --- a/src/share/classes/com/sun/tools/javac/comp/Todo.java	Thu Jun 17 16:28:21 2010 -0700
   118.2 +++ b/src/share/classes/com/sun/tools/javac/comp/Todo.java	Mon Jun 21 22:09:18 2010 -0700
   118.3 @@ -36,8 +36,8 @@
   118.4  
   118.5  /** A queue of all as yet unattributed classes.
   118.6   *
   118.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   118.8 - *  you write code that depends on this, you do so at your own risk.
   118.9 + *  <p><b>This is NOT part of any supported API.
  118.10 + *  If you write code that depends on this, you do so at your own risk.
  118.11   *  This code and its internal interfaces are subject to change or
  118.12   *  deletion without notice.</b>
  118.13   */
   119.1 --- a/src/share/classes/com/sun/tools/javac/comp/TransTypes.java	Thu Jun 17 16:28:21 2010 -0700
   119.2 +++ b/src/share/classes/com/sun/tools/javac/comp/TransTypes.java	Mon Jun 21 22:09:18 2010 -0700
   119.3 @@ -43,8 +43,8 @@
   119.4  
   119.5  /** This pass translates Generic Java to conventional Java.
   119.6   *
   119.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   119.8 - *  you write code that depends on this, you do so at your own risk.
   119.9 + *  <p><b>This is NOT part of any supported API.
  119.10 + *  If you write code that depends on this, you do so at your own risk.
  119.11   *  This code and its internal interfaces are subject to change or
  119.12   *  deletion without notice.</b>
  119.13   */
   120.1 --- a/src/share/classes/com/sun/tools/javac/file/BaseFileObject.java	Thu Jun 17 16:28:21 2010 -0700
   120.2 +++ b/src/share/classes/com/sun/tools/javac/file/BaseFileObject.java	Mon Jun 21 22:09:18 2010 -0700
   120.3 @@ -42,7 +42,7 @@
   120.4  import com.sun.tools.javac.util.BaseFileManager;
   120.5  
   120.6  /**
   120.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   120.8 + * <p><b>This is NOT part of any supported API.
   120.9   * If you write code that depends on this, you do so at your own risk.
  120.10   * This code and its internal interfaces are subject to change or
  120.11   * deletion without notice.</b>
   121.1 --- a/src/share/classes/com/sun/tools/javac/file/CacheFSInfo.java	Thu Jun 17 16:28:21 2010 -0700
   121.2 +++ b/src/share/classes/com/sun/tools/javac/file/CacheFSInfo.java	Mon Jun 21 22:09:18 2010 -0700
   121.3 @@ -36,7 +36,7 @@
   121.4  /**
   121.5   * Caching implementation of FSInfo.
   121.6   *
   121.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   121.8 + * <p><b>This is NOT part of any supported API.
   121.9   * If you write code that depends on this, you do so at your own risk.
  121.10   * This code and its internal interfaces are subject to change or
  121.11   * deletion without notice.</b>
   122.1 --- a/src/share/classes/com/sun/tools/javac/file/FSInfo.java	Thu Jun 17 16:28:21 2010 -0700
   122.2 +++ b/src/share/classes/com/sun/tools/javac/file/FSInfo.java	Mon Jun 21 22:09:18 2010 -0700
   122.3 @@ -17,7 +17,7 @@
   122.4   * Get meta-info about files. Default direct (non-caching) implementation.
   122.5   * @see CacheFSInfo
   122.6   *
   122.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   122.8 + * <p><b>This is NOT part of any supported API.
   122.9   * If you write code that depends on this, you do so at your own risk.
  122.10   * This code and its internal interfaces are subject to change or
  122.11   * deletion without notice.</b>
   123.1 --- a/src/share/classes/com/sun/tools/javac/file/JavacFileManager.java	Thu Jun 17 16:28:21 2010 -0700
   123.2 +++ b/src/share/classes/com/sun/tools/javac/file/JavacFileManager.java	Mon Jun 21 22:09:18 2010 -0700
   123.3 @@ -68,7 +68,7 @@
   123.4   * This class provides access to the source, class and other files
   123.5   * used by the compiler and related tools.
   123.6   *
   123.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   123.8 + * <p><b>This is NOT part of any supported API.
   123.9   * If you write code that depends on this, you do so at your own risk.
  123.10   * This code and its internal interfaces are subject to change or
  123.11   * deletion without notice.</b>
   124.1 --- a/src/share/classes/com/sun/tools/javac/file/Paths.java	Thu Jun 17 16:28:21 2010 -0700
   124.2 +++ b/src/share/classes/com/sun/tools/javac/file/Paths.java	Mon Jun 21 22:09:18 2010 -0700
   124.3 @@ -54,8 +54,8 @@
   124.4   *  into a boot class path, user class path, and source path (in
   124.5   *  Collection<String> form).
   124.6   *
   124.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   124.8 - *  you write code that depends on this, you do so at your own risk.
   124.9 + *  <p><b>This is NOT part of any supported API.
  124.10 + *  If you write code that depends on this, you do so at your own risk.
  124.11   *  This code and its internal interfaces are subject to change or
  124.12   *  deletion without notice.</b>
  124.13   */
   125.1 --- a/src/share/classes/com/sun/tools/javac/file/RegularFileObject.java	Thu Jun 17 16:28:21 2010 -0700
   125.2 +++ b/src/share/classes/com/sun/tools/javac/file/RegularFileObject.java	Mon Jun 21 22:09:18 2010 -0700
   125.3 @@ -44,7 +44,7 @@
   125.4  /**
   125.5   * A subclass of JavaFileObject representing regular files.
   125.6   *
   125.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   125.8 + * <p><b>This is NOT part of any supported API.
   125.9   * If you write code that depends on this, you do so at your own risk.
  125.10   * This code and its internal interfaces are subject to change or
  125.11   * deletion without notice.</b>
   126.1 --- a/src/share/classes/com/sun/tools/javac/file/RelativePath.java	Thu Jun 17 16:28:21 2010 -0700
   126.2 +++ b/src/share/classes/com/sun/tools/javac/file/RelativePath.java	Mon Jun 21 22:09:18 2010 -0700
   126.3 @@ -35,7 +35,7 @@
   126.4   * container, such as a directory or zip file.
   126.5   * Internally, the file separator is always '/'.
   126.6   *
   126.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   126.8 + * <p><b>This is NOT part of any supported API.
   126.9   * If you write code that depends on this, you do so at your own risk.
  126.10   * This code and its internal interfaces are subject to change or
  126.11   * deletion without notice.</b>
   127.1 --- a/src/share/classes/com/sun/tools/javac/file/SymbolArchive.java	Thu Jun 17 16:28:21 2010 -0700
   127.2 +++ b/src/share/classes/com/sun/tools/javac/file/SymbolArchive.java	Mon Jun 21 22:09:18 2010 -0700
   127.3 @@ -36,7 +36,7 @@
   127.4  import com.sun.tools.javac.util.List;
   127.5  
   127.6  /**
   127.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   127.8 + * <p><b>This is NOT part of any supported API.
   127.9   * If you write code that depends on this, you do so at your own risk.
  127.10   * This code and its internal interfaces are subject to change or
  127.11   * deletion without notice.</b>
   128.1 --- a/src/share/classes/com/sun/tools/javac/file/ZipArchive.java	Thu Jun 17 16:28:21 2010 -0700
   128.2 +++ b/src/share/classes/com/sun/tools/javac/file/ZipArchive.java	Mon Jun 21 22:09:18 2010 -0700
   128.3 @@ -51,7 +51,7 @@
   128.4  import java.lang.ref.SoftReference;
   128.5  
   128.6  /**
   128.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   128.8 + * <p><b>This is NOT part of any supported API.
   128.9   * If you write code that depends on this, you do so at your own risk.
  128.10   * This code and its internal interfaces are subject to change or
  128.11   * deletion without notice.</b>
   129.1 --- a/src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java	Thu Jun 17 16:28:21 2010 -0700
   129.2 +++ b/src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java	Mon Jun 21 22:09:18 2010 -0700
   129.3 @@ -69,7 +69,7 @@
   129.4   * checking to reindex the zip files if it is needed. In batch mode the timestamps are not checked
   129.5   * and the compiler uses the cached indexes.
   129.6   *
   129.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   129.8 + * <p><b>This is NOT part of any supported API.
   129.9   * If you write code that depends on this, you do so at your own risk.
  129.10   * This code and its internal interfaces are subject to change or
  129.11   * deletion without notice.</b>
   130.1 --- a/src/share/classes/com/sun/tools/javac/file/ZipFileIndexArchive.java	Thu Jun 17 16:28:21 2010 -0700
   130.2 +++ b/src/share/classes/com/sun/tools/javac/file/ZipFileIndexArchive.java	Mon Jun 21 22:09:18 2010 -0700
   130.3 @@ -45,7 +45,7 @@
   130.4  import com.sun.tools.javac.util.List;
   130.5  
   130.6  /**
   130.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   130.8 + * <p><b>This is NOT part of any supported API.
   130.9   * If you write code that depends on this, you do so at your own risk.
  130.10   * This code and its internal interfaces are subject to change or
  130.11   * deletion without notice.</b>
   131.1 --- a/src/share/classes/com/sun/tools/javac/jvm/ByteCodes.java	Thu Jun 17 16:28:21 2010 -0700
   131.2 +++ b/src/share/classes/com/sun/tools/javac/jvm/ByteCodes.java	Mon Jun 21 22:09:18 2010 -0700
   131.3 @@ -29,8 +29,8 @@
   131.4  /** Bytecode instruction codes, as well as typecodes used as
   131.5   *  instruction modifiers.
   131.6   *
   131.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   131.8 - *  you write code that depends on this, you do so at your own risk.
   131.9 + *  <p><b>This is NOT part of any supported API.
  131.10 + *  If you write code that depends on this, you do so at your own risk.
  131.11   *  This code and its internal interfaces are subject to change or
  131.12   *  deletion without notice.</b>
  131.13   */
   132.1 --- a/src/share/classes/com/sun/tools/javac/jvm/CRTFlags.java	Thu Jun 17 16:28:21 2010 -0700
   132.2 +++ b/src/share/classes/com/sun/tools/javac/jvm/CRTFlags.java	Mon Jun 21 22:09:18 2010 -0700
   132.3 @@ -28,8 +28,8 @@
   132.4  
   132.5  /** The CharacterRangeTable flags indicating type of an entry.
   132.6   *
   132.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   132.8 - *  you write code that depends on this, you do so at your own risk.
   132.9 + *  <p><b>This is NOT part of any supported API.
  132.10 + *  If you write code that depends on this, you do so at your own risk.
  132.11   *  This code and its internal interfaces are subject to change or
  132.12   *  deletion without notice.</b>
  132.13   */
   133.1 --- a/src/share/classes/com/sun/tools/javac/jvm/CRTable.java	Thu Jun 17 16:28:21 2010 -0700
   133.2 +++ b/src/share/classes/com/sun/tools/javac/jvm/CRTable.java	Mon Jun 21 22:09:18 2010 -0700
   133.3 @@ -36,8 +36,8 @@
   133.4   *  and the hashtable for mapping trees or lists of trees to their
   133.5   *  ending positions.
   133.6   *
   133.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   133.8 - *  you write code that depends on this, you do so at your own risk.
   133.9 + *  <p><b>This is NOT part of any supported API.
  133.10 + *  If you write code that depends on this, you do so at your own risk.
  133.11   *  This code and its internal interfaces are subject to change or
  133.12   *  deletion without notice.</b>
  133.13   */
   134.1 --- a/src/share/classes/com/sun/tools/javac/jvm/ClassFile.java	Thu Jun 17 16:28:21 2010 -0700
   134.2 +++ b/src/share/classes/com/sun/tools/javac/jvm/ClassFile.java	Mon Jun 21 22:09:18 2010 -0700
   134.3 @@ -59,8 +59,8 @@
   134.4   *  as routines to convert between internal ``.'' and external ``/''
   134.5   *  separators in class names.
   134.6   *
   134.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   134.8 - *  you write code that depends on this, you do so at your own risk.
   134.9 + *  <p><b>This is NOT part of any supported API.
  134.10 + *  If you write code that depends on this, you do so at your own risk.
  134.11   *  This code and its internal interfaces are subject to change or
  134.12   *  deletion without notice.</b> */
  134.13  public class ClassFile {
   135.1 --- a/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java	Thu Jun 17 16:28:21 2010 -0700
   135.2 +++ b/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java	Mon Jun 21 22:09:18 2010 -0700
   135.3 @@ -62,8 +62,8 @@
   135.4   *  for all other definitions in the classfile. Top-level Classes themselves
   135.5   *  appear as members of the scopes of PackageSymbols.
   135.6   *
   135.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   135.8 - *  you write code that depends on this, you do so at your own risk.
   135.9 + *  <p><b>This is NOT part of any supported API.
  135.10 + *  If you write code that depends on this, you do so at your own risk.
  135.11   *  This code and its internal interfaces are subject to change or
  135.12   *  deletion without notice.</b>
  135.13   */
   136.1 --- a/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java	Thu Jun 17 16:28:21 2010 -0700
   136.2 +++ b/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java	Mon Jun 21 22:09:18 2010 -0700
   136.3 @@ -49,8 +49,8 @@
   136.4  /** This class provides operations to map an internal symbol table graph
   136.5   *  rooted in a ClassSymbol into a classfile.
   136.6   *
   136.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   136.8 - *  you write code that depends on this, you do so at your own risk.
   136.9 + *  <p><b>This is NOT part of any supported API.
  136.10 + *  If you write code that depends on this, you do so at your own risk.
  136.11   *  This code and its internal interfaces are subject to change or
  136.12   *  deletion without notice.</b>
  136.13   */
   137.1 --- a/src/share/classes/com/sun/tools/javac/jvm/Code.java	Thu Jun 17 16:28:21 2010 -0700
   137.2 +++ b/src/share/classes/com/sun/tools/javac/jvm/Code.java	Mon Jun 21 22:09:18 2010 -0700
   137.3 @@ -39,8 +39,8 @@
   137.4   *  methods in a classfile. The class also provides some utility operations to
   137.5   *  generate bytecode instructions.
   137.6   *
   137.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   137.8 - *  you write code that depends on this, you do so at your own risk.
   137.9 + *  <p><b>This is NOT part of any supported API.
  137.10 + *  If you write code that depends on this, you do so at your own risk.
  137.11   *  This code and its internal interfaces are subject to change or
  137.12   *  deletion without notice.</b>
  137.13   */
   138.1 --- a/src/share/classes/com/sun/tools/javac/jvm/Gen.java	Thu Jun 17 16:28:21 2010 -0700
   138.2 +++ b/src/share/classes/com/sun/tools/javac/jvm/Gen.java	Mon Jun 21 22:09:18 2010 -0700
   138.3 @@ -49,8 +49,8 @@
   138.4  
   138.5  /** This pass maps flat Java (i.e. without inner classes) to bytecodes.
   138.6   *
   138.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   138.8 - *  you write code that depends on this, you do so at your own risk.
   138.9 + *  <p><b>This is NOT part of any supported API.
  138.10 + *  If you write code that depends on this, you do so at your own risk.
  138.11   *  This code and its internal interfaces are subject to change or
  138.12   *  deletion without notice.</b>
  138.13   */
   139.1 --- a/src/share/classes/com/sun/tools/javac/jvm/Items.java	Thu Jun 17 16:28:21 2010 -0700
   139.2 +++ b/src/share/classes/com/sun/tools/javac/jvm/Items.java	Mon Jun 21 22:09:18 2010 -0700
   139.3 @@ -43,8 +43,8 @@
   139.4   *  special values this or super, etc. Individual items are represented as
   139.5   *  inner classes in class Items.
   139.6   *
   139.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   139.8 - *  you write code that depends on this, you do so at your own risk.
   139.9 + *  <p><b>This is NOT part of any supported API.
  139.10 + *  If you write code that depends on this, you do so at your own risk.
  139.11   *  This code and its internal interfaces are subject to change or
  139.12   *  deletion without notice.</b>
  139.13   */
   140.1 --- a/src/share/classes/com/sun/tools/javac/jvm/Pool.java	Thu Jun 17 16:28:21 2010 -0700
   140.2 +++ b/src/share/classes/com/sun/tools/javac/jvm/Pool.java	Mon Jun 21 22:09:18 2010 -0700
   140.3 @@ -31,8 +31,8 @@
   140.4  
   140.5  /** An internal structure that corresponds to the constant pool of a classfile.
   140.6   *
   140.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   140.8 - *  you write code that depends on this, you do so at your own risk.
   140.9 + *  <p><b>This is NOT part of any supported API.
  140.10 + *  If you write code that depends on this, you do so at your own risk.
  140.11   *  This code and its internal interfaces are subject to change or
  140.12   *  deletion without notice.</b>
  140.13   */
   141.1 --- a/src/share/classes/com/sun/tools/javac/jvm/Target.java	Thu Jun 17 16:28:21 2010 -0700
   141.2 +++ b/src/share/classes/com/sun/tools/javac/jvm/Target.java	Mon Jun 21 22:09:18 2010 -0700
   141.3 @@ -33,8 +33,8 @@
   141.4  
   141.5  /** The classfile version target.
   141.6   *
   141.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   141.8 - *  you write code that depends on this, you do so at your own risk.
   141.9 + *  <p><b>This is NOT part of any supported API.
  141.10 + *  If you write code that depends on this, you do so at your own risk.
  141.11   *  This code and its internal interfaces are subject to change or
  141.12   *  deletion without notice.</b>
  141.13   */
   142.1 --- a/src/share/classes/com/sun/tools/javac/jvm/UninitializedType.java	Thu Jun 17 16:28:21 2010 -0700
   142.2 +++ b/src/share/classes/com/sun/tools/javac/jvm/UninitializedType.java	Mon Jun 21 22:09:18 2010 -0700
   142.3 @@ -31,8 +31,8 @@
   142.4  /** These pseudo-types appear in the generated verifier tables to
   142.5   *  indicate objects that have been allocated but not yet constructed.
   142.6   *
   142.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   142.8 - *  you write code that depends on this, you do so at your own risk.
   142.9 + *  <p><b>This is NOT part of any supported API.
  142.10 + *  If you write code that depends on this, you do so at your own risk.
  142.11   *  This code and its internal interfaces are subject to change or
  142.12   *  deletion without notice.</b>
  142.13   */
   143.1 --- a/src/share/classes/com/sun/tools/javac/main/CommandLine.java	Thu Jun 17 16:28:21 2010 -0700
   143.2 +++ b/src/share/classes/com/sun/tools/javac/main/CommandLine.java	Mon Jun 21 22:09:18 2010 -0700
   143.3 @@ -35,8 +35,8 @@
   143.4  /**
   143.5   * Various utility methods for processing Java tool command line arguments.
   143.6   *
   143.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   143.8 - *  you write code that depends on this, you do so at your own risk.
   143.9 + *  <p><b>This is NOT part of any supported API.
  143.10 + *  If you write code that depends on this, you do so at your own risk.
  143.11   *  This code and its internal interfaces are subject to change or
  143.12   *  deletion without notice.</b>
  143.13   */
   144.1 --- a/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java	Thu Jun 17 16:28:21 2010 -0700
   144.2 +++ b/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java	Mon Jun 21 22:09:18 2010 -0700
   144.3 @@ -73,8 +73,8 @@
   144.4   *  construct a new compiler, and to run a new compiler on a set of source
   144.5   *  files.
   144.6   *
   144.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   144.8 - *  you write code that depends on this, you do so at your own risk.
   144.9 + *  <p><b>This is NOT part of any supported API.
  144.10 + *  If you write code that depends on this, you do so at your own risk.
  144.11   *  This code and its internal interfaces are subject to change or
  144.12   *  deletion without notice.</b>
  144.13   */
   145.1 --- a/src/share/classes/com/sun/tools/javac/main/JavacOption.java	Thu Jun 17 16:28:21 2010 -0700
   145.2 +++ b/src/share/classes/com/sun/tools/javac/main/JavacOption.java	Mon Jun 21 22:09:18 2010 -0700
   145.3 @@ -34,7 +34,7 @@
   145.4  /**
   145.5   * TODO: describe com.sun.tools.javac.main.JavacOption
   145.6   *
   145.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   145.8 + * <p><b>This is NOT part of any supported API.
   145.9   * If you write code that depends on this, you do so at your own
  145.10   * risk.  This code and its internal interfaces are subject to change
  145.11   * or deletion without notice.</b></p>
   146.1 --- a/src/share/classes/com/sun/tools/javac/main/Main.java	Thu Jun 17 16:28:21 2010 -0700
   146.2 +++ b/src/share/classes/com/sun/tools/javac/main/Main.java	Mon Jun 21 22:09:18 2010 -0700
   146.3 @@ -47,8 +47,8 @@
   146.4  
   146.5  /** This class provides a commandline interface to the GJC compiler.
   146.6   *
   146.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   146.8 - *  you write code that depends on this, you do so at your own risk.
   146.9 + *  <p><b>This is NOT part of any supported API.
  146.10 + *  If you write code that depends on this, you do so at your own risk.
  146.11   *  This code and its internal interfaces are subject to change or
  146.12   *  deletion without notice.</b>
  146.13   */
   147.1 --- a/src/share/classes/com/sun/tools/javac/main/OptionName.java	Thu Jun 17 16:28:21 2010 -0700
   147.2 +++ b/src/share/classes/com/sun/tools/javac/main/OptionName.java	Mon Jun 21 22:09:18 2010 -0700
   147.3 @@ -29,7 +29,7 @@
   147.4  /**
   147.5   * TODO: describe com.sun.tools.javac.main.OptionName
   147.6   *
   147.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   147.8 + * <p><b>This is NOT part of any supported API.
   147.9   * If you write code that depends on this, you do so at your own
  147.10   * risk.  This code and its internal interfaces are subject to change
  147.11   * or deletion without notice.</b></p>
   148.1 --- a/src/share/classes/com/sun/tools/javac/main/RecognizedOptions.java	Thu Jun 17 16:28:21 2010 -0700
   148.2 +++ b/src/share/classes/com/sun/tools/javac/main/RecognizedOptions.java	Mon Jun 21 22:09:18 2010 -0700
   148.3 @@ -49,7 +49,7 @@
   148.4  /**
   148.5   * TODO: describe com.sun.tools.javac.main.RecognizedOptions
   148.6   *
   148.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   148.8 + * <p><b>This is NOT part of any supported API.
   148.9   * If you write code that depends on this, you do so at your own
  148.10   * risk.  This code and its internal interfaces are subject to change
  148.11   * or deletion without notice.</b></p>
   149.1 --- a/src/share/classes/com/sun/tools/javac/model/AnnotationProxyMaker.java	Thu Jun 17 16:28:21 2010 -0700
   149.2 +++ b/src/share/classes/com/sun/tools/javac/model/AnnotationProxyMaker.java	Mon Jun 21 22:09:18 2010 -0700
   149.3 @@ -50,8 +50,8 @@
   149.4   * <p> The "dynamic proxy return form" of an annotation element value is
   149.5   * the form used by sun.reflect.annotation.AnnotationInvocationHandler.
   149.6   *
   149.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   149.8 - * you write code that depends on this, you do so at your own risk.
   149.9 + * <p><b>This is NOT part of any supported API.
  149.10 + * If you write code that depends on this, you do so at your own risk.
  149.11   * This code and its internal interfaces are subject to change or
  149.12   * deletion without notice.</b>
  149.13   */
  149.14 @@ -181,16 +181,16 @@
  149.15          }
  149.16  
  149.17          public void visitArray(Attribute.Array a) {
  149.18 -            Name elemName = ((ArrayType) a.type).elemtype.tsym.name;
  149.19 +            Name elemName = ((ArrayType) a.type).elemtype.tsym.getQualifiedName();
  149.20  
  149.21 -            if (elemName == elemName.table.names.java_lang_Class) {   // Class[]
  149.22 +            if (elemName.equals(elemName.table.names.java_lang_Class)) {   // Class[]
  149.23                  // Construct a proxy for a MirroredTypesException
  149.24 -                List<TypeMirror> elems = List.nil();
  149.25 +                ListBuffer<TypeMirror> elems = new ListBuffer<TypeMirror>();
  149.26                  for (Attribute value : a.values) {
  149.27                      Type elem = ((Attribute.Class) value).type;
  149.28 -                    elems.add(elem);
  149.29 +                    elems.append(elem);
  149.30                  }
  149.31 -                value = new MirroredTypesExceptionProxy(elems);
  149.32 +                value = new MirroredTypesExceptionProxy(elems.toList());
  149.33  
  149.34              } else {
  149.35                  int len = a.values.length;
   150.1 --- a/src/share/classes/com/sun/tools/javac/model/FilteredMemberList.java	Thu Jun 17 16:28:21 2010 -0700
   150.2 +++ b/src/share/classes/com/sun/tools/javac/model/FilteredMemberList.java	Mon Jun 21 22:09:18 2010 -0700
   150.3 @@ -38,8 +38,8 @@
   150.4   * filtering out unwanted elements such as synthetic ones.
   150.5   * This view is most efficiently accessed through its iterator() method.
   150.6   *
   150.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   150.8 - * you write code that depends on this, you do so at your own risk.
   150.9 + * <p><b>This is NOT part of any supported API.
  150.10 + * If you write code that depends on this, you do so at your own risk.
  150.11   * This code and its internal interfaces are subject to change or
  150.12   * deletion without notice.</b>
  150.13   */
   151.1 --- a/src/share/classes/com/sun/tools/javac/model/JavacElements.java	Thu Jun 17 16:28:21 2010 -0700
   151.2 +++ b/src/share/classes/com/sun/tools/javac/model/JavacElements.java	Mon Jun 21 22:09:18 2010 -0700
   151.3 @@ -53,7 +53,7 @@
   151.4  /**
   151.5   * Utility methods for operating on program elements.
   151.6   *
   151.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   151.8 + * <p><b>This is NOT part of any supported API.
   151.9   * If you write code that depends on this, you do so at your own
  151.10   * risk.  This code and its internal interfaces are subject to change
  151.11   * or deletion without notice.</b></p>
   152.1 --- a/src/share/classes/com/sun/tools/javac/model/JavacSourcePosition.java	Thu Jun 17 16:28:21 2010 -0700
   152.2 +++ b/src/share/classes/com/sun/tools/javac/model/JavacSourcePosition.java	Mon Jun 21 22:09:18 2010 -0700
   152.3 @@ -31,7 +31,7 @@
   152.4  /**
   152.5   * Implementation of model API SourcePosition based on javac internal state.
   152.6   *
   152.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   152.8 + * <p><b>This is NOT part of any supported API.
   152.9   * If you write code that depends on this, you do so at your own
  152.10   * risk.  This code and its internal interfaces are subject to change
  152.11   * or deletion without notice.</b></p>
   153.1 --- a/src/share/classes/com/sun/tools/javac/model/JavacTypes.java	Thu Jun 17 16:28:21 2010 -0700
   153.2 +++ b/src/share/classes/com/sun/tools/javac/model/JavacTypes.java	Mon Jun 21 22:09:18 2010 -0700
   153.3 @@ -37,7 +37,7 @@
   153.4  /**
   153.5   * Utility methods for operating on types.
   153.6   *
   153.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   153.8 + * <p><b>This is NOT part of any supported API.
   153.9   * If you write code that depends on this, you do so at your own
  153.10   * risk.  This code and its internal interfaces are subject to change
  153.11   * or deletion without notice.</b></p>
   154.1 --- a/src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java	Thu Jun 17 16:28:21 2010 -0700
   154.2 +++ b/src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java	Mon Jun 21 22:09:18 2010 -0700
   154.3 @@ -101,8 +101,8 @@
   154.4   *  <p>To reduce confusion with Path objects, the locations such as "class path",
   154.5   *  "source path", etc, are generically referred to here as "search paths".
   154.6   *
   154.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   154.8 - *  you write code that depends on this, you do so at your own risk.
   154.9 + *  <p><b>This is NOT part of any supported API.
  154.10 + *  If you write code that depends on this, you do so at your own risk.
  154.11   *  This code and its internal interfaces are subject to change or
  154.12   *  deletion without notice.</b>
  154.13   */
   155.1 --- a/src/share/classes/com/sun/tools/javac/nio/PathFileManager.java	Thu Jun 17 16:28:21 2010 -0700
   155.2 +++ b/src/share/classes/com/sun/tools/javac/nio/PathFileManager.java	Mon Jun 21 22:09:18 2010 -0700
   155.3 @@ -41,8 +41,8 @@
   155.4   *  getStandardFileManager}. However, would need to be handled carefully
   155.5   *  as another forward reference from langtools to jdk.
   155.6   *
   155.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   155.8 - *  you write code that depends on this, you do so at your own risk.
   155.9 + *  <p><b>This is NOT part of any supported API.
  155.10 + *  If you write code that depends on this, you do so at your own risk.
  155.11   *  This code and its internal interfaces are subject to change or
  155.12   *  deletion without notice.</b>
  155.13   */
   156.1 --- a/src/share/classes/com/sun/tools/javac/nio/PathFileObject.java	Thu Jun 17 16:28:21 2010 -0700
   156.2 +++ b/src/share/classes/com/sun/tools/javac/nio/PathFileObject.java	Mon Jun 21 22:09:18 2010 -0700
   156.3 @@ -56,8 +56,8 @@
   156.4   *  different factory methods, which compute the binary name based on
   156.5   *  information available at the time the file object is created.
   156.6   *
   156.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   156.8 - *  you write code that depends on this, you do so at your own risk.
   156.9 + *  <p><b>This is NOT part of any supported API.
  156.10 + *  If you write code that depends on this, you do so at your own risk.
  156.11   *  This code and its internal interfaces are subject to change or
  156.12   *  deletion without notice.</b>
  156.13   */
   157.1 --- a/src/share/classes/com/sun/tools/javac/parser/DocCommentScanner.java	Thu Jun 17 16:28:21 2010 -0700
   157.2 +++ b/src/share/classes/com/sun/tools/javac/parser/DocCommentScanner.java	Mon Jun 21 22:09:18 2010 -0700
   157.3 @@ -35,8 +35,8 @@
   157.4   *  translating Unicode escape sequences and by stripping the
   157.5   *  leading whitespace and starts from each line of the comment.
   157.6   *
   157.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   157.8 - *  you write code that depends on this, you do so at your own risk.
   157.9 + *  <p><b>This is NOT part of any supported API.
  157.10 + *  If you write code that depends on this, you do so at your own risk.
  157.11   *  This code and its internal interfaces are subject to change or
  157.12   *  deletion without notice.</b>
  157.13   */
   158.1 --- a/src/share/classes/com/sun/tools/javac/parser/EndPosParser.java	Thu Jun 17 16:28:21 2010 -0700
   158.2 +++ b/src/share/classes/com/sun/tools/javac/parser/EndPosParser.java	Mon Jun 21 22:09:18 2010 -0700
   158.3 @@ -36,7 +36,7 @@
   158.4   * This class is similar to Parser except that it stores ending
   158.5   * positions for the tree nodes.
   158.6   *
   158.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   158.8 + * <p><b>This is NOT part of any supported API.
   158.9   * If you write code that depends on this, you do so at your own risk.
  158.10   * This code and its internal interfaces are subject to change or
  158.11   * deletion without notice.</b></p>
   159.1 --- a/src/share/classes/com/sun/tools/javac/parser/JavacParser.java	Thu Jun 17 16:28:21 2010 -0700
   159.2 +++ b/src/share/classes/com/sun/tools/javac/parser/JavacParser.java	Mon Jun 21 22:09:18 2010 -0700
   159.3 @@ -43,8 +43,8 @@
   159.4   *  operator precedence scheme is used for parsing binary operation
   159.5   *  expressions.
   159.6   *
   159.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   159.8 - *  you write code that depends on this, you do so at your own risk.
   159.9 + *  <p><b>This is NOT part of any supported API.
  159.10 + *  If you write code that depends on this, you do so at your own risk.
  159.11   *  This code and its internal interfaces are subject to change or
  159.12   *  deletion without notice.</b>
  159.13   */
   160.1 --- a/src/share/classes/com/sun/tools/javac/parser/Keywords.java	Thu Jun 17 16:28:21 2010 -0700
   160.2 +++ b/src/share/classes/com/sun/tools/javac/parser/Keywords.java	Mon Jun 21 22:09:18 2010 -0700
   160.3 @@ -35,7 +35,7 @@
   160.4  /**
   160.5   * Map from Name to Token and Token to String.
   160.6   *
   160.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   160.8 + * <p><b>This is NOT part of any supported API.
   160.9   * If you write code that depends on this, you do so at your own risk.
  160.10   * This code and its internal interfaces are subject to change or
  160.11   * deletion without notice.</b>
   161.1 --- a/src/share/classes/com/sun/tools/javac/parser/Lexer.java	Thu Jun 17 16:28:21 2010 -0700
   161.2 +++ b/src/share/classes/com/sun/tools/javac/parser/Lexer.java	Mon Jun 21 22:09:18 2010 -0700
   161.3 @@ -32,7 +32,7 @@
   161.4   * The lexical analyzer maps an input stream consisting of ASCII
   161.5   * characters and Unicode escapes into a token sequence.
   161.6   *
   161.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   161.8 + * <p><b>This is NOT part of any supported API.
   161.9   * If you write code that depends on this, you do so at your own risk.
  161.10   * This code and its internal interfaces are subject to change or
  161.11   * deletion without notice.</b>
   162.1 --- a/src/share/classes/com/sun/tools/javac/parser/Parser.java	Thu Jun 17 16:28:21 2010 -0700
   162.2 +++ b/src/share/classes/com/sun/tools/javac/parser/Parser.java	Mon Jun 21 22:09:18 2010 -0700
   162.3 @@ -34,7 +34,7 @@
   162.4   * Reads syntactic units from source code.
   162.5   * Parsers are normally created from a ParserFactory.
   162.6   *
   162.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   162.8 + * <p><b>This is NOT part of any supported API.
   162.9   * If you write code that depends on this, you do so at your own risk.
  162.10   * This code and its internal interfaces are subject to change or
  162.11   * deletion without notice.</b>
   163.1 --- a/src/share/classes/com/sun/tools/javac/parser/ParserFactory.java	Thu Jun 17 16:28:21 2010 -0700
   163.2 +++ b/src/share/classes/com/sun/tools/javac/parser/ParserFactory.java	Mon Jun 21 22:09:18 2010 -0700
   163.3 @@ -35,7 +35,7 @@
   163.4  /**
   163.5   * A factory for creating parsers.
   163.6   *
   163.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   163.8 + * <p><b>This is NOT part of any supported API.
   163.9   * If you write code that depends on this, you do so at your own risk.
  163.10   * This code and its internal interfaces are subject to change or
  163.11   * deletion without notice.</b>
   164.1 --- a/src/share/classes/com/sun/tools/javac/parser/Scanner.java	Thu Jun 17 16:28:21 2010 -0700
   164.2 +++ b/src/share/classes/com/sun/tools/javac/parser/Scanner.java	Mon Jun 21 22:09:18 2010 -0700
   164.3 @@ -38,8 +38,8 @@
   164.4  /** The lexical analyzer maps an input stream consisting of
   164.5   *  ASCII characters and Unicode escapes into a token sequence.
   164.6   *
   164.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   164.8 - *  you write code that depends on this, you do so at your own risk.
   164.9 + *  <p><b>This is NOT part of any supported API.
  164.10 + *  If you write code that depends on this, you do so at your own risk.
  164.11   *  This code and its internal interfaces are subject to change or
  164.12   *  deletion without notice.</b>
  164.13   */
   165.1 --- a/src/share/classes/com/sun/tools/javac/parser/Token.java	Thu Jun 17 16:28:21 2010 -0700
   165.2 +++ b/src/share/classes/com/sun/tools/javac/parser/Token.java	Mon Jun 21 22:09:18 2010 -0700
   165.3 @@ -33,8 +33,8 @@
   165.4  /** An interface that defines codes for Java source tokens
   165.5   *  returned from lexical analysis.
   165.6   *
   165.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   165.8 - *  you write code that depends on this, you do so at your own risk.
   165.9 + *  <p><b>This is NOT part of any supported API.
  165.10 + *  If you write code that depends on this, you do so at your own risk.
  165.11   *  This code and its internal interfaces are subject to change or
  165.12   *  deletion without notice.</b>
  165.13   */
   166.1 --- a/src/share/classes/com/sun/tools/javac/processing/AnnotationProcessingError.java	Thu Jun 17 16:28:21 2010 -0700
   166.2 +++ b/src/share/classes/com/sun/tools/javac/processing/AnnotationProcessingError.java	Mon Jun 21 22:09:18 2010 -0700
   166.3 @@ -29,7 +29,7 @@
   166.4  /**
   166.5   * Error thrown for problems encountered during annotation processing.
   166.6   *
   166.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   166.8 + * <p><b>This is NOT part of any supported API.
   166.9   * If you write code that depends on this, you do so at your own risk.
  166.10   * This code and its internal interfaces are subject to change or
  166.11   * deletion without notice.</b>
   167.1 --- a/src/share/classes/com/sun/tools/javac/processing/JavacFiler.java	Thu Jun 17 16:28:21 2010 -0700
   167.2 +++ b/src/share/classes/com/sun/tools/javac/processing/JavacFiler.java	Mon Jun 21 22:09:18 2010 -0700
   167.3 @@ -87,7 +87,7 @@
   167.4   * class path can alter the behavior of the tool and any final
   167.5   * compile.
   167.6   *
   167.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   167.8 + * <p><b>This is NOT part of any supported API.
   167.9   * If you write code that depends on this, you do so at your own risk.
  167.10   * This code and its internal interfaces are subject to change or
  167.11   * deletion without notice.</b>
   168.1 --- a/src/share/classes/com/sun/tools/javac/processing/JavacMessager.java	Thu Jun 17 16:28:21 2010 -0700
   168.2 +++ b/src/share/classes/com/sun/tools/javac/processing/JavacMessager.java	Mon Jun 21 22:09:18 2010 -0700
   168.3 @@ -37,7 +37,7 @@
   168.4  /**
   168.5   * An implementation of the Messager built on top of log.
   168.6   *
   168.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   168.8 + * <p><b>This is NOT part of any supported API.
   168.9   * If you write code that depends on this, you do so at your own risk.
  168.10   * This code and its internal interfaces are subject to change or
  168.11   * deletion without notice.</b>
   169.1 --- a/src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java	Thu Jun 17 16:28:21 2010 -0700
   169.2 +++ b/src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java	Mon Jun 21 22:09:18 2010 -0700
   169.3 @@ -81,7 +81,7 @@
   169.4   * Objects of this class hold and manage the state needed to support
   169.5   * annotation processing.
   169.6   *
   169.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   169.8 + * <p><b>This is NOT part of any supported API.
   169.9   * If you write code that depends on this, you do so at your own risk.
  169.10   * This code and its internal interfaces are subject to change or
  169.11   * deletion without notice.</b>
  169.12 @@ -745,7 +745,7 @@
  169.13       * Leave class public for external testing purposes.
  169.14       */
  169.15      public static class ComputeAnnotationSet extends
  169.16 -        ElementScanner6<Set<TypeElement>, Set<TypeElement>> {
  169.17 +        ElementScanner7<Set<TypeElement>, Set<TypeElement>> {
  169.18          final Elements elements;
  169.19  
  169.20          public ComputeAnnotationSet(Elements elements) {
  169.21 @@ -1380,7 +1380,7 @@
  169.22      }
  169.23  
  169.24      /**
  169.25 -     * For internal use by Sun Microsystems only.  This method will be
  169.26 +     * For internal use only.  This method will be
  169.27       * removed without warning.
  169.28       */
  169.29      public Context getContext() {
   170.1 --- a/src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java	Thu Jun 17 16:28:21 2010 -0700
   170.2 +++ b/src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java	Mon Jun 21 22:09:18 2010 -0700
   170.3 @@ -40,7 +40,7 @@
   170.4   * <p>The methods in this class do not take type annotations into account,
   170.5   * as target types, not java elements.
   170.6   *
   170.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   170.8 + * <p><b>This is NOT part of any supported API.
   170.9   * If you write code that depends on this, you do so at your own risk.
  170.10   * This code and its internal interfaces are subject to change or
  170.11   * deletion without notice.</b>
  170.12 @@ -125,7 +125,7 @@
  170.13          else
  170.14              throw new AssertionError("Bad implementation type for " + tm);
  170.15  
  170.16 -        ElementScanner6<Set<Element>, DeclaredType> scanner =
  170.17 +        ElementScanner7<Set<Element>, DeclaredType> scanner =
  170.18              new AnnotationSetScanner(result, typeUtil);
  170.19  
  170.20          for (Element element : rootElements)
  170.21 @@ -136,7 +136,7 @@
  170.22  
  170.23      // Could be written as a local class inside getElementsAnnotatedWith
  170.24      private class AnnotationSetScanner extends
  170.25 -        ElementScanner6<Set<Element>, DeclaredType> {
  170.26 +        ElementScanner7<Set<Element>, DeclaredType> {
  170.27          // Insertion-order preserving set
  170.28          Set<Element> annotatedElements = new LinkedHashSet<Element>();
  170.29          Types typeUtil;
   171.1 --- a/src/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java	Thu Jun 17 16:28:21 2010 -0700
   171.2 +++ b/src/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java	Mon Jun 21 22:09:18 2010 -0700
   171.3 @@ -42,7 +42,7 @@
   171.4   * -Xprint option; the included visitor class is used to implement
   171.5   * Elements.printElements.
   171.6   *
   171.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   171.8 + * <p><b>This is NOT part of any supported API.
   171.9   * If you write code that depends on this, you do so at your own risk.
  171.10   * This code and its internal interfaces are subject to change or
  171.11   * deletion without notice.</b>
  171.12 @@ -83,7 +83,7 @@
  171.13       * Used for the -Xprint option and called by Elements.printElements
  171.14       */
  171.15      public static class PrintingElementVisitor
  171.16 -        extends SimpleElementVisitor6<PrintingElementVisitor, Boolean> {
  171.17 +        extends SimpleElementVisitor7<PrintingElementVisitor, Boolean> {
  171.18          int indentation; // Indentation level;
  171.19          final PrintWriter writer;
  171.20          final Elements elementUtils;
  171.21 @@ -117,7 +117,7 @@
  171.22                      enclosing != null &&
  171.23                      NestingKind.ANONYMOUS ==
  171.24                      // Use an anonymous class to determine anonymity!
  171.25 -                    (new SimpleElementVisitor6<NestingKind, Void>() {
  171.26 +                    (new SimpleElementVisitor7<NestingKind, Void>() {
  171.27                          @Override
  171.28                          public NestingKind visitType(TypeElement e, Void p) {
  171.29                              return e.getNestingKind();
   172.1 --- a/src/share/classes/com/sun/tools/javac/processing/ServiceProxy.java	Thu Jun 17 16:28:21 2010 -0700
   172.2 +++ b/src/share/classes/com/sun/tools/javac/processing/ServiceProxy.java	Mon Jun 21 22:09:18 2010 -0700
   172.3 @@ -37,7 +37,7 @@
   172.4   * Utility class to determine if a service can be found on the
   172.5   * path that might be used to create a class loader.
   172.6   *
   172.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   172.8 + * <p><b>This is NOT part of any supported API.
   172.9   * If you write code that depends on this, you do so at your own risk.
  172.10   * This code and its internal interfaces are subject to change or
  172.11   * deletion without notice.</b>
   173.1 --- a/src/share/classes/com/sun/tools/javac/resources/compiler.properties	Thu Jun 17 16:28:21 2010 -0700
   173.2 +++ b/src/share/classes/com/sun/tools/javac/resources/compiler.properties	Mon Jun 21 22:09:18 2010 -0700
   173.3 @@ -593,18 +593,32 @@
   173.4  compiler.note.unchecked.plural.additional=\
   173.5      Some input files additionally use unchecked or unsafe operations.
   173.6  
   173.7 +compiler.note.varargs.filename=\
   173.8 +    {0} declares unsafe vararg methods.
   173.9 +compiler.note.varargs.plural=\
  173.10 +    Some input files declare unsafe vararg methods.
  173.11 +# The following string may appear after one of the above unsafe varargs
  173.12 +# messages.
  173.13 +compiler.note.varargs.recompile=\
  173.14 +    Recompile with -Xlint:varargs for details.
  173.15 +
  173.16 +compiler.note.varargs.filename.additional=\
  173.17 +    {0} declares additional unsafe vararg methods.
  173.18 +compiler.note.varargs.plural.additional=\
  173.19 +    Some input files additionally declares unsafe vararg methods.
  173.20 +
  173.21  compiler.note.sunapi.filename=\
  173.22 -    {0} uses Sun proprietary API that may be removed in a future release.
  173.23 +    {0} uses internal proprietary API that may be removed in a future release.
  173.24  compiler.note.sunapi.plural=\
  173.25 -    Some input files use Sun proprietary API that may be removed in a future release.
  173.26 +    Some input files use internal proprietary API that may be removed in a future release.
  173.27  # The following string may appear after one of the above sunapi messages.
  173.28  compiler.note.sunapi.recompile=\
  173.29      Recompile with -Xlint:sunapi for details.
  173.30  
  173.31  compiler.note.sunapi.filename.additional=\
  173.32 -    {0} uses additional Sun proprietary API that may be removed in a future release.
  173.33 +    {0} uses additional internal proprietary API that may be removed in a future release.
  173.34  compiler.note.sunapi.plural.additional=\
  173.35 -    Some input files additionally use Sun proprietary API that may be removed in a future release.
  173.36 +    Some input files additionally use internal proprietary API that may be removed in a future release.
  173.37  
  173.38  # Notes related to annotation processing
  173.39  
  173.40 @@ -687,7 +701,7 @@
  173.41      [deprecation] {0} in {1} has been deprecated
  173.42  
  173.43  compiler.warn.sun.proprietary=\
  173.44 -    {0} is Sun proprietary API and may be removed in a future release
  173.45 +    {0} is internal proprietary API and may be removed in a future release
  173.46  
  173.47  compiler.warn.illegal.char.for.encoding=\
  173.48      unmappable character for encoding {0}
  173.49 @@ -796,6 +810,9 @@
  173.50  compiler.warn.unchecked.generic.array.creation=\
  173.51      [unchecked] unchecked generic array creation for varargs parameter of type {0}
  173.52  
  173.53 +compiler.warn.varargs.non.reifiable.type=\
  173.54 +    [varargs] Possible heap pollution from parameterized vararg type {0}
  173.55 +
  173.56  compiler.warn.missing.deprecated.annotation=\
  173.57      [dep-ann] deprecated item is not annotated with @Deprecated
  173.58  
   174.1 --- a/src/share/classes/com/sun/tools/javac/sym/CreateSymbols.java	Thu Jun 17 16:28:21 2010 -0700
   174.2 +++ b/src/share/classes/com/sun/tools/javac/sym/CreateSymbols.java	Mon Jun 21 22:09:18 2010 -0700
   174.3 @@ -77,7 +77,7 @@
   174.4   * <dd>Specifies the destination directory.</dd>
   174.5   * </dl>
   174.6   *
   174.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   174.8 + * <p><b>This is NOT part of any supported API.
   174.9   * If you write code that depends on this, you do so at your own
  174.10   * risk.  This code and its internal interfaces are subject to change
  174.11   * or deletion without notice.</b></p>
   175.1 --- a/src/share/classes/com/sun/tools/javac/tree/JCTree.java	Thu Jun 17 16:28:21 2010 -0700
   175.2 +++ b/src/share/classes/com/sun/tools/javac/tree/JCTree.java	Mon Jun 21 22:09:18 2010 -0700
   175.3 @@ -66,7 +66,7 @@
   175.4   * <p>To avoid ambiguities with the Tree API in com.sun.source all sub
   175.5   * classes should, by convention, start with JC (javac).
   175.6   *
   175.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   175.8 + * <p><b>This is NOT part of any supported API.
   175.9   * If you write code that depends on this, you do so at your own risk.
  175.10   * This code and its internal interfaces are subject to change or
  175.11   * deletion without notice.</b>
   176.1 --- a/src/share/classes/com/sun/tools/javac/tree/Pretty.java	Thu Jun 17 16:28:21 2010 -0700
   176.2 +++ b/src/share/classes/com/sun/tools/javac/tree/Pretty.java	Mon Jun 21 22:09:18 2010 -0700
   176.3 @@ -39,8 +39,8 @@
   176.4  
   176.5  /** Prints out a tree as an indented Java source program.
   176.6   *
   176.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   176.8 - *  you write code that depends on this, you do so at your own risk.
   176.9 + *  <p><b>This is NOT part of any supported API.
  176.10 + *  If you write code that depends on this, you do so at your own risk.
  176.11   *  This code and its internal interfaces are subject to change or
  176.12   *  deletion without notice.</b>
  176.13   */
   177.1 --- a/src/share/classes/com/sun/tools/javac/tree/TreeCopier.java	Thu Jun 17 16:28:21 2010 -0700
   177.2 +++ b/src/share/classes/com/sun/tools/javac/tree/TreeCopier.java	Mon Jun 21 22:09:18 2010 -0700
   177.3 @@ -34,8 +34,8 @@
   177.4   * Creates a copy of a tree, using a given TreeMaker.
   177.5   * Names, literal values, etc are shared with the original.
   177.6   *
   177.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   177.8 - *  you write code that depends on this, you do so at your own risk.
   177.9 + *  <p><b>This is NOT part of any supported API.
  177.10 + *  If you write code that depends on this, you do so at your own risk.
  177.11   *  This code and its internal interfaces are subject to change or
  177.12   *  deletion without notice.</b>
  177.13   */
   178.1 --- a/src/share/classes/com/sun/tools/javac/tree/TreeInfo.java	Thu Jun 17 16:28:21 2010 -0700
   178.2 +++ b/src/share/classes/com/sun/tools/javac/tree/TreeInfo.java	Mon Jun 21 22:09:18 2010 -0700
   178.3 @@ -38,8 +38,8 @@
   178.4  
   178.5  /** Utility class containing inspector methods for trees.
   178.6   *
   178.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   178.8 - *  you write code that depends on this, you do so at your own risk.
   178.9 + *  <p><b>This is NOT part of any supported API.
  178.10 + *  If you write code that depends on this, you do so at your own risk.
  178.11   *  This code and its internal interfaces are subject to change or
  178.12   *  deletion without notice.</b>
  178.13   */
   179.1 --- a/src/share/classes/com/sun/tools/javac/tree/TreeMaker.java	Thu Jun 17 16:28:21 2010 -0700
   179.2 +++ b/src/share/classes/com/sun/tools/javac/tree/TreeMaker.java	Mon Jun 21 22:09:18 2010 -0700
   179.3 @@ -39,8 +39,8 @@
   179.4  
   179.5  /** Factory class for trees.
   179.6   *
   179.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   179.8 - *  you write code that depends on this, you do so at your own risk.
   179.9 + *  <p><b>This is NOT part of any supported API.
  179.10 + *  If you write code that depends on this, you do so at your own risk.
  179.11   *  This code and its internal interfaces are subject to change or
  179.12   *  deletion without notice.</b>
  179.13   */
   180.1 --- a/src/share/classes/com/sun/tools/javac/tree/TreeScanner.java	Thu Jun 17 16:28:21 2010 -0700
   180.2 +++ b/src/share/classes/com/sun/tools/javac/tree/TreeScanner.java	Mon Jun 21 22:09:18 2010 -0700
   180.3 @@ -36,8 +36,8 @@
   180.4   *  do some interesting work. The scanner class itself takes care of all
   180.5   *  navigational aspects.
   180.6   *
   180.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   180.8 - *  you write code that depends on this, you do so at your own risk.
   180.9 + *  <p><b>This is NOT part of any supported API.
  180.10 + *  If you write code that depends on this, you do so at your own risk.
  180.11   *  This code and its internal interfaces are subject to change or
  180.12   *  deletion without notice.</b>
  180.13   */
   181.1 --- a/src/share/classes/com/sun/tools/javac/tree/TreeTranslator.java	Thu Jun 17 16:28:21 2010 -0700
   181.2 +++ b/src/share/classes/com/sun/tools/javac/tree/TreeTranslator.java	Mon Jun 21 22:09:18 2010 -0700
   181.3 @@ -37,8 +37,8 @@
   181.4   *  do some interesting work. The translator class itself takes care of all
   181.5   *  navigational aspects.
   181.6   *
   181.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   181.8 - *  you write code that depends on this, you do so at your own risk.
   181.9 + *  <p><b>This is NOT part of any supported API.
  181.10 + *  If you write code that depends on this, you do so at your own risk.
  181.11   *  This code and its internal interfaces are subject to change or
  181.12   *  deletion without notice.</b>
  181.13   */
   182.1 --- a/src/share/classes/com/sun/tools/javac/util/Abort.java	Thu Jun 17 16:28:21 2010 -0700
   182.2 +++ b/src/share/classes/com/sun/tools/javac/util/Abort.java	Mon Jun 21 22:09:18 2010 -0700
   182.3 @@ -28,8 +28,8 @@
   182.4  /** Throwing an instance of
   182.5   *  this class causes (silent) termination of the main compiler method.
   182.6   *
   182.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   182.8 - *  you write code that depends on this, you do so at your own risk.
   182.9 + *  <p><b>This is NOT part of any supported API.
  182.10 + *  If you write code that depends on this, you do so at your own risk.
  182.11   *  This code and its internal interfaces are subject to change or
  182.12   *  deletion without notice.</b>
  182.13   */
   183.1 --- a/src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java	Thu Jun 17 16:28:21 2010 -0700
   183.2 +++ b/src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java	Mon Jun 21 22:09:18 2010 -0700
   183.3 @@ -57,7 +57,7 @@
   183.4   *  <li> Provides the formatting logic for rendering the arguments of a JCDiagnostic object.
   183.5   * <ul>
   183.6   *
   183.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   183.8 + * <p><b>This is NOT part of any supported API.
   183.9   * If you write code that depends on this, you do so at your own risk.
  183.10   * This code and its internal interfaces are subject to change or
  183.11   * deletion without notice.</b>
   184.1 --- a/src/share/classes/com/sun/tools/javac/util/AbstractLog.java	Thu Jun 17 16:28:21 2010 -0700
   184.2 +++ b/src/share/classes/com/sun/tools/javac/util/AbstractLog.java	Mon Jun 21 22:09:18 2010 -0700
   184.3 @@ -37,8 +37,8 @@
   184.4   *  A base class for error logs. Reports errors and warnings, and
   184.5   *  keeps track of error numbers and positions.
   184.6   *
   184.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   184.8 - *  you write code that depends on this, you do so at your own risk.
   184.9 + *  <p><b>This is NOT part of any supported API.
  184.10 + *  If you write code that depends on this, you do so at your own risk.
  184.11   *  This code and its internal interfaces are subject to change or
  184.12   *  deletion without notice.</b>
  184.13   */
   185.1 --- a/src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java	Thu Jun 17 16:28:21 2010 -0700
   185.2 +++ b/src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java	Mon Jun 21 22:09:18 2010 -0700
   185.3 @@ -58,7 +58,7 @@
   185.4   * <li>%_: space delimiter, useful for formatting purposes
   185.5   * </ul>
   185.6   *
   185.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   185.8 + * <p><b>This is NOT part of any supported API.
   185.9   * If you write code that depends on this, you do so at your own risk.
  185.10   * This code and its internal interfaces are subject to change or
  185.11   * deletion without notice.</b>
   186.1 --- a/src/share/classes/com/sun/tools/javac/util/Bits.java	Thu Jun 17 16:28:21 2010 -0700
   186.2 +++ b/src/share/classes/com/sun/tools/javac/util/Bits.java	Mon Jun 21 22:09:18 2010 -0700
   186.3 @@ -27,8 +27,8 @@
   186.4  
   186.5  /** A class for extensible, mutable bit sets.
   186.6   *
   186.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   186.8 - *  you write code that depends on this, you do so at your own risk.
   186.9 + *  <p><b>This is NOT part of any supported API.
  186.10 + *  If you write code that depends on this, you do so at your own risk.
  186.11   *  This code and its internal interfaces are subject to change or
  186.12   *  deletion without notice.</b>
  186.13   */
   187.1 --- a/src/share/classes/com/sun/tools/javac/util/ByteBuffer.java	Thu Jun 17 16:28:21 2010 -0700
   187.2 +++ b/src/share/classes/com/sun/tools/javac/util/ByteBuffer.java	Mon Jun 21 22:09:18 2010 -0700
   187.3 @@ -31,8 +31,8 @@
   187.4   *  appended. There are also methods to append names to byte buffers
   187.5   *  and to convert byte buffers to names.
   187.6   *
   187.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   187.8 - *  you write code that depends on this, you do so at your own risk.
   187.9 + *  <p><b>This is NOT part of any supported API.
  187.10 + *  If you write code that depends on this, you do so at your own risk.
  187.11   *  This code and its internal interfaces are subject to change or
  187.12   *  deletion without notice.</b>
  187.13   */
   188.1 --- a/src/share/classes/com/sun/tools/javac/util/ClientCodeException.java	Thu Jun 17 16:28:21 2010 -0700
   188.2 +++ b/src/share/classes/com/sun/tools/javac/util/ClientCodeException.java	Mon Jun 21 22:09:18 2010 -0700
   188.3 @@ -29,8 +29,8 @@
   188.4   * An exception used for propogating exceptions found in client code
   188.5   * invoked from javac.
   188.6   *
   188.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   188.8 - *  you write code that depends on this, you do so at your own risk.
   188.9 + *  <p><b>This is NOT part of any supported API.
  188.10 + *  If you write code that depends on this, you do so at your own risk.
  188.11   *  This code and its internal interfaces are subject to change or
  188.12   *  deletion without notice.</b>
  188.13   */
   189.1 --- a/src/share/classes/com/sun/tools/javac/util/CloseableURLClassLoader.java	Thu Jun 17 16:28:21 2010 -0700
   189.2 +++ b/src/share/classes/com/sun/tools/javac/util/CloseableURLClassLoader.java	Mon Jun 21 22:09:18 2010 -0700
   189.3 @@ -40,8 +40,8 @@
   189.4   * fragile. Caveat emptor.
   189.5   * @throws Error if the internal data structures are not as expected.
   189.6   *
   189.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   189.8 - *  you write code that depends on this, you do so at your own risk.
   189.9 + *  <p><b>This is NOT part of any supported API.
  189.10 + *  If you write code that depends on this, you do so at your own risk.
  189.11   *  This code and its internal interfaces are subject to change or
  189.12   *  deletion without notice.</b>
  189.13   */
   190.1 --- a/src/share/classes/com/sun/tools/javac/util/Constants.java	Thu Jun 17 16:28:21 2010 -0700
   190.2 +++ b/src/share/classes/com/sun/tools/javac/util/Constants.java	Mon Jun 21 22:09:18 2010 -0700
   190.3 @@ -32,8 +32,8 @@
   190.4  /**
   190.5   * Utilities for operating on constant values.
   190.6   *
   190.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   190.8 - * you write code that depends on this, you do so at your own risk.
   190.9 + * <p><b>This is NOT part of any supported API.
  190.10 + * If you write code that depends on this, you do so at your own risk.
  190.11   * This code and its internal interfaces are subject to change or
  190.12   * deletion without notice.</b>
  190.13   */
   191.1 --- a/src/share/classes/com/sun/tools/javac/util/Context.java	Thu Jun 17 16:28:21 2010 -0700
   191.2 +++ b/src/share/classes/com/sun/tools/javac/util/Context.java	Mon Jun 21 22:09:18 2010 -0700
   191.3 @@ -91,8 +91,8 @@
   191.4   *     NewPhase.preRegister(context);
   191.5   * </pre>
   191.6   *
   191.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   191.8 - *  you write code that depends on this, you do so at your own risk.
   191.9 + *  <p><b>This is NOT part of any supported API.
  191.10 + *  If you write code that depends on this, you do so at your own risk.
  191.11   *  This code and its internal interfaces are subject to change or
  191.12   *  deletion without notice.</b>
  191.13   */
   192.1 --- a/src/share/classes/com/sun/tools/javac/util/Convert.java	Thu Jun 17 16:28:21 2010 -0700
   192.2 +++ b/src/share/classes/com/sun/tools/javac/util/Convert.java	Mon Jun 21 22:09:18 2010 -0700
   192.3 @@ -28,8 +28,8 @@
   192.4  /** Utility class for static conversion methods between numbers
   192.5   *  and strings in various formats.
   192.6   *
   192.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   192.8 - *  you write code that depends on this, you do so at your own risk.
   192.9 + *  <p><b>This is NOT part of any supported API.
  192.10 + *  If you write code that depends on this, you do so at your own risk.
  192.11   *  This code and its internal interfaces are subject to change or
  192.12   *  deletion without notice.</b>
  192.13   */
   193.1 --- a/src/share/classes/com/sun/tools/javac/util/DiagnosticSource.java	Thu Jun 17 16:28:21 2010 -0700
   193.2 +++ b/src/share/classes/com/sun/tools/javac/util/DiagnosticSource.java	Mon Jun 21 22:09:18 2010 -0700
   193.3 @@ -40,8 +40,8 @@
   193.4   * A simple abstraction of a source file, as needed for use in a diagnostic message.
   193.5   * Provides access to the line and position in a line for any given character offset.
   193.6   *
   193.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   193.8 - *  you write code that depends on this, you do so at your own risk.
   193.9 + *  <p><b>This is NOT part of any supported API.
  193.10 + *  If you write code that depends on this, you do so at your own risk.
  193.11   *  This code and its internal interfaces are subject to change or
  193.12   *  deletion without notice.</b>
  193.13   */
   194.1 --- a/src/share/classes/com/sun/tools/javac/util/FatalError.java	Thu Jun 17 16:28:21 2010 -0700
   194.2 +++ b/src/share/classes/com/sun/tools/javac/util/FatalError.java	Mon Jun 21 22:09:18 2010 -0700
   194.3 @@ -29,8 +29,8 @@
   194.4   *  of the main compiler method.  It is used when some non-recoverable
   194.5   *  error has been detected in the compiler environment at runtime.
   194.6   *
   194.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   194.8 - *  you write code that depends on this, you do so at your own risk.
   194.9 + *  <p><b>This is NOT part of any supported API.
  194.10 + *  If you write code that depends on this, you do so at your own risk.
  194.11   *  This code and its internal interfaces are subject to change or
  194.12   *  deletion without notice.</b>
  194.13   */
   195.1 --- a/src/share/classes/com/sun/tools/javac/util/ForwardingDiagnosticFormatter.java	Thu Jun 17 16:28:21 2010 -0700
   195.2 +++ b/src/share/classes/com/sun/tools/javac/util/ForwardingDiagnosticFormatter.java	Mon Jun 21 22:09:18 2010 -0700
   195.3 @@ -38,7 +38,7 @@
   195.4   * A delegated diagnostic formatter delegates all formatting
   195.5   * actions to an underlying formatter (aka the delegated formatter).
   195.6   *
   195.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   195.8 + * <p><b>This is NOT part of any supported API.
   195.9   * If you write code that depends on this, you do so at your own risk.
  195.10   * This code and its internal interfaces are subject to change or
  195.11   * deletion without notice.</b>
   196.1 --- a/src/share/classes/com/sun/tools/javac/util/JCDiagnostic.java	Thu Jun 17 16:28:21 2010 -0700
   196.2 +++ b/src/share/classes/com/sun/tools/javac/util/JCDiagnostic.java	Mon Jun 21 22:09:18 2010 -0700
   196.3 @@ -38,8 +38,8 @@
   196.4  
   196.5  /** An abstraction of a diagnostic message generated by the compiler.
   196.6   *
   196.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   196.8 - *  you write code that depends on this, you do so at your own risk.
   196.9 + *  <p><b>This is NOT part of any supported API.
  196.10 + *  If you write code that depends on this, you do so at your own risk.
  196.11   *  This code and its internal interfaces are subject to change or
  196.12   *  deletion without notice.</b>
  196.13   */
   197.1 --- a/src/share/classes/com/sun/tools/javac/util/JavacMessages.java	Thu Jun 17 16:28:21 2010 -0700
   197.2 +++ b/src/share/classes/com/sun/tools/javac/util/JavacMessages.java	Mon Jun 21 22:09:18 2010 -0700
   197.3 @@ -37,8 +37,8 @@
   197.4  /**
   197.5   *  Support for formatted localized messages.
   197.6   *
   197.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   197.8 - *  you write code that depends on this, you do so at your own risk.
   197.9 + *  <p><b>This is NOT part of any supported API.
  197.10 + *  If you write code that depends on this, you do so at your own risk.
  197.11   *  This code and its internal interfaces are subject to change or
  197.12   *  deletion without notice.</b>
  197.13   */
   198.1 --- a/src/share/classes/com/sun/tools/javac/util/LayoutCharacters.java	Thu Jun 17 16:28:21 2010 -0700
   198.2 +++ b/src/share/classes/com/sun/tools/javac/util/LayoutCharacters.java	Mon Jun 21 22:09:18 2010 -0700
   198.3 @@ -28,8 +28,8 @@
   198.4  /** An interface containing layout character constants used in Java
   198.5   *  programs.
   198.6   *
   198.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   198.8 - *  you write code that depends on this, you do so at your own risk.
   198.9 + *  <p><b>This is NOT part of any supported API.
  198.10 + *  If you write code that depends on this, you do so at your own risk.
  198.11   *  This code and its internal interfaces are subject to change or
  198.12   *  deletion without notice.</b>
  198.13   */
   199.1 --- a/src/share/classes/com/sun/tools/javac/util/List.java	Thu Jun 17 16:28:21 2010 -0700
   199.2 +++ b/src/share/classes/com/sun/tools/javac/util/List.java	Mon Jun 21 22:09:18 2010 -0700
   199.3 @@ -43,8 +43,8 @@
   199.4   *  <p>Lists are always trailed by a sentinel element, whose head and tail
   199.5   *  are both null.
   199.6   *
   199.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   199.8 - *  you write code that depends on this, you do so at your own risk.
   199.9 + *  <p><b>This is NOT part of any supported API.
  199.10 + *  If you write code that depends on this, you do so at your own risk.
  199.11   *  This code and its internal interfaces are subject to change or
  199.12   *  deletion without notice.</b>
  199.13   */
  199.14 @@ -103,6 +103,7 @@
  199.15  
  199.16      /** Construct a list consisting of given elements.
  199.17       */
  199.18 +    @SuppressWarnings("varargs")
  199.19      public static <A> List<A> of(A x1, A x2, A x3, A... rest) {
  199.20          return new List<A>(x1, new List<A>(x2, new List<A>(x3, from(rest))));
  199.21      }
   200.1 --- a/src/share/classes/com/sun/tools/javac/util/ListBuffer.java	Thu Jun 17 16:28:21 2010 -0700
   200.2 +++ b/src/share/classes/com/sun/tools/javac/util/ListBuffer.java	Mon Jun 21 22:09:18 2010 -0700
   200.3 @@ -33,8 +33,8 @@
   200.4  /** A class for constructing lists by appending elements. Modelled after
   200.5   *  java.lang.StringBuffer.
   200.6   *
   200.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   200.8 - *  you write code that depends on this, you do so at your own risk.
   200.9 + *  <p><b>This is NOT part of any supported API.
  200.10 + *  If you write code that depends on this, you do so at your own risk.
  200.11   *  This code and its internal interfaces are subject to change or
  200.12   *  deletion without notice.</b>
  200.13   */
   201.1 --- a/src/share/classes/com/sun/tools/javac/util/Log.java	Thu Jun 17 16:28:21 2010 -0700
   201.2 +++ b/src/share/classes/com/sun/tools/javac/util/Log.java	Mon Jun 21 22:09:18 2010 -0700
   201.3 @@ -41,8 +41,8 @@
   201.4  /** A class for error logs. Reports errors and warnings, and
   201.5   *  keeps track of error numbers and positions.
   201.6   *
   201.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   201.8 - *  you write code that depends on this, you do so at your own risk.
   201.9 + *  <p><b>This is NOT part of any supported API.
  201.10 + *  If you write code that depends on this, you do so at your own risk.
  201.11   *  This code and its internal interfaces are subject to change or
  201.12   *  deletion without notice.</b>
  201.13   */
  201.14 @@ -125,8 +125,8 @@
  201.15          this.promptOnError = options.get("-prompt") != null;
  201.16          this.emitWarnings = options.get("-Xlint:none") == null;
  201.17          this.suppressNotes = options.get("suppressNotes") != null;
  201.18 -        this.MaxErrors = getIntOption(options, "-Xmaxerrs", 100);
  201.19 -        this.MaxWarnings = getIntOption(options, "-Xmaxwarns", 100);
  201.20 +        this.MaxErrors = getIntOption(options, "-Xmaxerrs", getDefaultMaxErrors());
  201.21 +        this.MaxWarnings = getIntOption(options, "-Xmaxwarns", getDefaultMaxWarnings());
  201.22  
  201.23          boolean rawDiagnostics = options.get("rawDiagnostics") != null;
  201.24          messages = JavacMessages.instance(context);
  201.25 @@ -155,6 +155,18 @@
  201.26              return defaultValue;
  201.27          }
  201.28  
  201.29 +        /** Default value for -Xmaxerrs.
  201.30 +         */
  201.31 +        protected int getDefaultMaxErrors() {
  201.32 +            return 100;
  201.33 +        }
  201.34 +
  201.35 +        /** Default value for -Xmaxwarns.
  201.36 +         */
  201.37 +        protected int getDefaultMaxWarnings() {
  201.38 +            return 100;
  201.39 +        }
  201.40 +
  201.41      /** The default writer for diagnostics
  201.42       */
  201.43      static final PrintWriter defaultWriter(Context context) {
   202.1 --- a/src/share/classes/com/sun/tools/javac/util/MandatoryWarningHandler.java	Thu Jun 17 16:28:21 2010 -0700
   202.2 +++ b/src/share/classes/com/sun/tools/javac/util/MandatoryWarningHandler.java	Mon Jun 21 22:09:18 2010 -0700
   202.3 @@ -43,8 +43,8 @@
   202.4   * made on any API to generate a warning at all. In consequence, this handler only
   202.5   * gets to handle those warnings that JLS says must be generated.
   202.6   *
   202.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   202.8 - *  you write code that depends on this, you do so at your own risk.
   202.9 + *  <p><b>This is NOT part of any supported API.
  202.10 + *  If you write code that depends on this, you do so at your own risk.
  202.11   *  This code and its internal interfaces are subject to change or
  202.12   *  deletion without notice.</b>
  202.13   */
   203.1 --- a/src/share/classes/com/sun/tools/javac/util/Name.java	Thu Jun 17 16:28:21 2010 -0700
   203.2 +++ b/src/share/classes/com/sun/tools/javac/util/Name.java	Mon Jun 21 22:09:18 2010 -0700
   203.3 @@ -29,8 +29,8 @@
   203.4   *  Utf8 format. Names are stored in a Name.Table, and are unique within
   203.5   *  that table.
   203.6   *
   203.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   203.8 - *  you write code that depends on this, you do so at your own risk.
   203.9 + *  <p><b>This is NOT part of any supported API.
  203.10 + *  If you write code that depends on this, you do so at your own risk.
  203.11   *  This code and its internal interfaces are subject to change or
  203.12   *  deletion without notice.</b>
  203.13   */
   204.1 --- a/src/share/classes/com/sun/tools/javac/util/Names.java	Thu Jun 17 16:28:21 2010 -0700
   204.2 +++ b/src/share/classes/com/sun/tools/javac/util/Names.java	Mon Jun 21 22:09:18 2010 -0700
   204.3 @@ -29,8 +29,8 @@
   204.4   * Access to the compiler's name table.  STandard names are defined,
   204.5   * as well as methods to create new names.
   204.6   *
   204.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   204.8 - *  you write code that depends on this, you do so at your own risk.
   204.9 + *  <p><b>This is NOT part of any supported API.
  204.10 + *  If you write code that depends on this, you do so at your own risk.
  204.11   *  This code and its internal interfaces are subject to change or
  204.12   *  deletion without notice.</b>
  204.13   */
   205.1 --- a/src/share/classes/com/sun/tools/javac/util/Options.java	Thu Jun 17 16:28:21 2010 -0700
   205.2 +++ b/src/share/classes/com/sun/tools/javac/util/Options.java	Mon Jun 21 22:09:18 2010 -0700
   205.3 @@ -32,8 +32,8 @@
   205.4   *  If an option has an argument, the option name is mapped to the argument.
   205.5   *  If a set option has no argument, it is mapped to itself.
   205.6   *
   205.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   205.8 - *  you write code that depends on this, you do so at your own risk.
   205.9 + *  <p><b>This is NOT part of any supported API.
  205.10 + *  If you write code that depends on this, you do so at your own risk.
  205.11   *  This code and its internal interfaces are subject to change or
  205.12   *  deletion without notice.</b>
  205.13   */
   206.1 --- a/src/share/classes/com/sun/tools/javac/util/Pair.java	Thu Jun 17 16:28:21 2010 -0700
   206.2 +++ b/src/share/classes/com/sun/tools/javac/util/Pair.java	Mon Jun 21 22:09:18 2010 -0700
   206.3 @@ -27,8 +27,8 @@
   206.4  
   206.5  /** A generic class for pairs.
   206.6   *
   206.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   206.8 - *  you write code that depends on this, you do so at your own risk.
   206.9 + *  <p><b>This is NOT part of any supported API.
  206.10 + *  If you write code that depends on this, you do so at your own risk.
  206.11   *  This code and its internal interfaces are subject to change or
  206.12   *  deletion without notice.</b>
  206.13   */
   207.1 --- a/src/share/classes/com/sun/tools/javac/util/Position.java	Thu Jun 17 16:28:21 2010 -0700
   207.2 +++ b/src/share/classes/com/sun/tools/javac/util/Position.java	Mon Jun 21 22:09:18 2010 -0700
   207.3 @@ -36,8 +36,8 @@
   207.4   *  expansion is optional and no Unicode excape translation is considered.
   207.5   *  The first character is at location (1,1).
   207.6   *
   207.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   207.8 - *  you write code that depends on this, you do so at your own risk.
   207.9 + *  <p><b>This is NOT part of any supported API.
  207.10 + *  If you write code that depends on this, you do so at your own risk.
  207.11   *  This code and its internal interfaces are subject to change or
  207.12   *  deletion without notice.</b>
  207.13   */
   208.1 --- a/src/share/classes/com/sun/tools/javac/util/PropagatedException.java	Thu Jun 17 16:28:21 2010 -0700
   208.2 +++ b/src/share/classes/com/sun/tools/javac/util/PropagatedException.java	Mon Jun 21 22:09:18 2010 -0700
   208.3 @@ -28,7 +28,7 @@
   208.4  /**
   208.5   * Used to propagate exceptions through to the user.
   208.6   *
   208.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   208.8 + * <p><b>This is NOT part of any supported API.
   208.9   * If you write code that depends on this, you do so at your own
  208.10   * risk.  This code and its internal interfaces are subject to change
  208.11   * or deletion without notice.</b></p>
   209.1 --- a/src/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java	Thu Jun 17 16:28:21 2010 -0700
   209.2 +++ b/src/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java	Mon Jun 21 22:09:18 2010 -0700
   209.3 @@ -41,7 +41,7 @@
   209.4   * or not the source name and position are set. This formatter provides a standardized, localize-independent
   209.5   * implementation of a diagnostic formatter; as such, this formatter is best suited for testing purposes.
   209.6   *
   209.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   209.8 + * <p><b>This is NOT part of any supported API.
   209.9   * If you write code that depends on this, you do so at your own risk.
  209.10   * This code and its internal interfaces are subject to change or
  209.11   * deletion without notice.</b>
   210.1 --- a/src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java	Thu Jun 17 16:28:21 2010 -0700
   210.2 +++ b/src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java	Mon Jun 21 22:09:18 2010 -0700
   210.3 @@ -59,7 +59,7 @@
   210.4   * to two different type-variables with the same name, their representation is
   210.5   * disambiguated by appending an index to the type variable name.
   210.6   *
   210.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   210.8 + * <p><b>This is NOT part of any supported API.
   210.9   * If you write code that depends on this, you do so at your own risk.
  210.10   * This code and its internal interfaces are subject to change or
  210.11   * deletion without notice.</b>
   211.1 --- a/src/share/classes/com/sun/tools/javac/util/SharedNameTable.java	Thu Jun 17 16:28:21 2010 -0700
   211.2 +++ b/src/share/classes/com/sun/tools/javac/util/SharedNameTable.java	Mon Jun 21 22:09:18 2010 -0700
   211.3 @@ -32,8 +32,8 @@
   211.4   * byte array, expanding it as needed. This avoids the overhead incurred
   211.5   * by using an array of bytes for each name.
   211.6   *
   211.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   211.8 - *  you write code that depends on this, you do so at your own risk.
   211.9 + *  <p><b>This is NOT part of any supported API.
  211.10 + *  If you write code that depends on this, you do so at your own risk.
  211.11   *  This code and its internal interfaces are subject to change or
  211.12   *  deletion without notice.</b>
  211.13   */
   212.1 --- a/src/share/classes/com/sun/tools/javac/util/UnsharedNameTable.java	Thu Jun 17 16:28:21 2010 -0700
   212.2 +++ b/src/share/classes/com/sun/tools/javac/util/UnsharedNameTable.java	Mon Jun 21 22:09:18 2010 -0700
   212.3 @@ -32,8 +32,8 @@
   212.4   * using weak references. It is recommended for use when a single shared
   212.5   * byte array is unsuitable.
   212.6   *
   212.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   212.8 - *  you write code that depends on this, you do so at your own risk.
   212.9 + *  <p><b>This is NOT part of any supported API.
  212.10 + *  If you write code that depends on this, you do so at your own risk.
  212.11   *  This code and its internal interfaces are subject to change or
  212.12   *  deletion without notice.</b>
  212.13   */
   213.1 --- a/src/share/classes/com/sun/tools/javac/util/Warner.java	Thu Jun 17 16:28:21 2010 -0700
   213.2 +++ b/src/share/classes/com/sun/tools/javac/util/Warner.java	Mon Jun 21 22:09:18 2010 -0700
   213.3 @@ -31,7 +31,7 @@
   213.4   * An interface to support optional warnings, needed for support of
   213.5   * unchecked conversions and unchecked casts.
   213.6   *
   213.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   213.8 + * <p><b>This is NOT part of any supported API.
   213.9   * If you write code that depends on this, you do so at your own risk.
  213.10   * This code and its internal interfaces are subject to change or
  213.11   * deletion without notice.</b>
   214.1 --- a/src/share/classes/com/sun/tools/javadoc/DocletInvoker.java	Thu Jun 17 16:28:21 2010 -0700
   214.2 +++ b/src/share/classes/com/sun/tools/javadoc/DocletInvoker.java	Mon Jun 21 22:09:18 2010 -0700
   214.3 @@ -155,10 +155,8 @@
   214.4      public boolean start(RootDoc root) {
   214.5          Object retVal;
   214.6          String methodName = "start";
   214.7 -        Class<?>[] paramTypes = new Class<?>[1];
   214.8 -        Object[] params = new Object[1];
   214.9 -        paramTypes[0] = RootDoc.class;
  214.10 -        params[0] = root;
  214.11 +        Class<?>[] paramTypes = { RootDoc.class };
  214.12 +        Object[] params = { root };
  214.13          try {
  214.14              retVal = invoke(methodName, null, paramTypes, params);
  214.15          } catch (DocletInvokeException exc) {
  214.16 @@ -181,10 +179,8 @@
  214.17      public int optionLength(String option) {
  214.18          Object retVal;
  214.19          String methodName = "optionLength";
  214.20 -        Class<?>[] paramTypes = new Class<?>[1];
  214.21 -        Object[] params = new Object[1];
  214.22 -        paramTypes[0] = option.getClass();
  214.23 -        params[0] = option;
  214.24 +        Class<?>[] paramTypes = { String.class };
  214.25 +        Object[] params = { option };
  214.26          try {
  214.27              retVal = invoke(methodName, new Integer(0), paramTypes, params);
  214.28          } catch (DocletInvokeException exc) {
  214.29 @@ -208,12 +204,8 @@
  214.30          String options[][] = optlist.toArray(new String[optlist.length()][]);
  214.31          String methodName = "validOptions";
  214.32          DocErrorReporter reporter = messager;
  214.33 -        Class<?>[] paramTypes = new Class<?>[2];
  214.34 -        Object[] params = new Object[2];
  214.35 -        paramTypes[0] = options.getClass();
  214.36 -        paramTypes[1] = DocErrorReporter.class;
  214.37 -        params[0] = options;
  214.38 -        params[1] = reporter;
  214.39 +        Class<?>[] paramTypes = { String[][].class, DocErrorReporter.class };
  214.40 +        Object[] params = { options, reporter };
  214.41          try {
  214.42              retVal = invoke(methodName, Boolean.TRUE, paramTypes, params);
  214.43          } catch (DocletInvokeException exc) {
   215.1 --- a/src/share/classes/com/sun/tools/javadoc/Messager.java	Thu Jun 17 16:28:21 2010 -0700
   215.2 +++ b/src/share/classes/com/sun/tools/javadoc/Messager.java	Mon Jun 21 22:09:18 2010 -0700
   215.3 @@ -86,7 +86,7 @@
   215.4          private static final long serialVersionUID = 0;
   215.5      }
   215.6  
   215.7 -    private final String programName;
   215.8 +    final String programName;
   215.9  
  215.10      private ResourceBundle messageRB = null;
  215.11  
  215.12 @@ -121,6 +121,16 @@
  215.13          this.programName = programName;
  215.14      }
  215.15  
  215.16 +    @Override
  215.17 +    protected int getDefaultMaxErrors() {
  215.18 +        return Integer.MAX_VALUE;
  215.19 +    }
  215.20 +
  215.21 +    @Override
  215.22 +    protected int getDefaultMaxWarnings() {
  215.23 +        return Integer.MAX_VALUE;
  215.24 +    }
  215.25 +
  215.26      /**
  215.27       * Reset resource bundle, eg. locale has changed.
  215.28       */
  215.29 @@ -231,11 +241,13 @@
  215.30       * @param msg message to print
  215.31       */
  215.32      public void printError(SourcePosition pos, String msg) {
  215.33 -        String prefix = (pos == null) ? programName : pos.toString();
  215.34 -        errWriter.println(prefix + ": " + getText("javadoc.error") + " - " + msg);
  215.35 -        errWriter.flush();
  215.36 -        prompt();
  215.37 -        nerrors++;
  215.38 +        if (nerrors < MaxErrors) {
  215.39 +            String prefix = (pos == null) ? programName : pos.toString();
  215.40 +            errWriter.println(prefix + ": " + getText("javadoc.error") + " - " + msg);
  215.41 +            errWriter.flush();
  215.42 +            prompt();
  215.43 +            nerrors++;
  215.44 +        }
  215.45      }
  215.46  
  215.47      /**
  215.48 @@ -256,10 +268,12 @@
  215.49       * @param msg message to print
  215.50       */
  215.51      public void printWarning(SourcePosition pos, String msg) {
  215.52 -        String prefix = (pos == null) ? programName : pos.toString();
  215.53 -        warnWriter.println(prefix +  ": " + getText("javadoc.warning") +" - " + msg);
  215.54 -        warnWriter.flush();
  215.55 -        nwarnings++;
  215.56 +        if (nwarnings < MaxWarnings) {
  215.57 +            String prefix = (pos == null) ? programName : pos.toString();
  215.58 +            warnWriter.println(prefix +  ": " + getText("javadoc.warning") +" - " + msg);
  215.59 +            warnWriter.flush();
  215.60 +            nwarnings++;
  215.61 +        }
  215.62      }
  215.63  
  215.64      /**
   216.1 --- a/src/share/classes/com/sun/tools/javadoc/Start.java	Thu Jun 17 16:28:21 2010 -0700
   216.2 +++ b/src/share/classes/com/sun/tools/javadoc/Start.java	Mon Jun 21 22:09:18 2010 -0700
   216.3 @@ -51,8 +51,6 @@
   216.4   * @author Neal Gafter (rewrite)
   216.5   */
   216.6  class Start {
   216.7 -    /** Context for this invocation. */
   216.8 -    private final Context context;
   216.9  
  216.10      private final String defaultDocletClassName;
  216.11      private final ClassLoader docletParentClassLoader;
  216.12 @@ -98,8 +96,8 @@
  216.13            PrintWriter noticeWriter,
  216.14            String defaultDocletClassName,
  216.15            ClassLoader docletParentClassLoader) {
  216.16 -        context = new Context();
  216.17 -        messager = new Messager(context, programName, errWriter, warnWriter, noticeWriter);
  216.18 +        Context tempContext = new Context(); // interim context until option decoding completed
  216.19 +        messager = new Messager(tempContext, programName, errWriter, warnWriter, noticeWriter);
  216.20          this.defaultDocletClassName = defaultDocletClassName;
  216.21          this.docletParentClassLoader = docletParentClassLoader;
  216.22      }
  216.23 @@ -110,8 +108,8 @@
  216.24  
  216.25      Start(String programName, String defaultDocletClassName,
  216.26            ClassLoader docletParentClassLoader) {
  216.27 -        context = new Context();
  216.28 -        messager = new Messager(context, programName);
  216.29 +        Context tempContext = new Context(); // interim context until option decoding completed
  216.30 +        messager = new Messager(tempContext, programName);
  216.31          this.defaultDocletClassName = defaultDocletClassName;
  216.32          this.docletParentClassLoader = docletParentClassLoader;
  216.33      }
  216.34 @@ -145,6 +143,13 @@
  216.35      }
  216.36  
  216.37      /**
  216.38 +     * Usage
  216.39 +     */
  216.40 +    private void Xusage() {
  216.41 +        messager.notice("main.Xusage");
  216.42 +    }
  216.43 +
  216.44 +    /**
  216.45       * Exit
  216.46       */
  216.47      private void exit() {
  216.48 @@ -213,6 +218,15 @@
  216.49          setDocletInvoker(argv);
  216.50          ListBuffer<String> subPackages = new ListBuffer<String>();
  216.51          ListBuffer<String> excludedPackages = new ListBuffer<String>();
  216.52 +
  216.53 +        Context context = new Context();
  216.54 +        // Setup a new Messager, using the same initial parameters as the
  216.55 +        // existing Messager, except that this one will be able to use any
  216.56 +        // options that may be set up below.
  216.57 +        Messager.preRegister(context,
  216.58 +                messager.programName,
  216.59 +                messager.errWriter, messager.warnWriter, messager.noticeWriter);
  216.60 +
  216.61          Options compOpts = Options.instance(context);
  216.62          boolean docClasses = false;
  216.63  
  216.64 @@ -310,6 +324,15 @@
  216.65                      usageError("main.locale_first");
  216.66                  oneArg(argv, i++);
  216.67                  docLocale = argv[i];
  216.68 +            } else if (arg.equals("-Xmaxerrs") || arg.equals("-Xmaxwarns")) {
  216.69 +                oneArg(argv, i++);
  216.70 +                if (compOpts.get(arg) != null) {
  216.71 +                    usageError("main.option.already.seen", arg);
  216.72 +                }
  216.73 +                compOpts.put(arg, argv[i]);
  216.74 +            } else if (arg.equals("-X")) {
  216.75 +                Xusage();
  216.76 +                exit();
  216.77              } else if (arg.startsWith("-XD")) {
  216.78                  String s = arg.substring("-XD".length());
  216.79                  int eq = s.indexOf('=');
   217.1 --- a/src/share/classes/com/sun/tools/javadoc/resources/javadoc.properties	Thu Jun 17 16:28:21 2010 -0700
   217.2 +++ b/src/share/classes/com/sun/tools/javadoc/resources/javadoc.properties	Mon Jun 21 22:09:18 2010 -0700
   217.3 @@ -49,7 +49,13 @@
   217.4    -locale <name>            Locale to be used, e.g. en_US or en_US_WIN\n\
   217.5    -encoding <name>          Source file encoding name\n\
   217.6    -quiet                    Do not display status messages\n\
   217.7 -  -J<flag>                  Pass <flag> directly to the runtime system\n
   217.8 +  -J<flag>                  Pass <flag> directly to the runtime system\n\
   217.9 +  -X                        Print a synopsis of nonstandard options\n
  217.10 +main.Xusage=\
  217.11 +  -Xmaxerrs <number>        Set the maximum number of errors to print\n\
  217.12 +  -Xmaxwarns <number>       Set the maximum number of warnings to print\n\
  217.13 +\n\
  217.14 +These options are non-standard and subject to change without notice.
  217.15  main.option.already.seen=The {0} option may be specified no more than once.
  217.16  main.requires_argument=option {0} requires an argument.
  217.17  main.locale_first=option -locale must be first on the command line.
  217.18 @@ -65,7 +71,7 @@
  217.19  main.fatal.error=fatal error
  217.20  main.fatal.exception=fatal exception
  217.21  main.out.of.memory=java.lang.OutOfMemoryError: Please increase memory.\n\
  217.22 -For example, on the Sun Classic or HotSpot VMs, add the option -J-Xmx\n\
  217.23 +For example, on the JDK Classic or HotSpot VMs, add the option -J-Xmx\n\
  217.24  such as -J-Xmx32m.
  217.25  main.done_in=[done in {0} ms]
  217.26  main.doclet_method_must_be_static=In doclet class {0}, method {1} must be static.
   218.1 --- a/src/share/classes/com/sun/tools/javadoc/resources/javadoc_zh_CN.properties	Thu Jun 17 16:28:21 2010 -0700
   218.2 +++ b/src/share/classes/com/sun/tools/javadoc/resources/javadoc_zh_CN.properties	Mon Jun 21 22:09:18 2010 -0700
   218.3 @@ -65,7 +65,7 @@
   218.4  main.fatal.error=\u81f4\u547d\u9519\u8bef
   218.5  main.fatal.exception=\u81f4\u547d\u5f02\u5e38
   218.6  main.out.of.memory=java.lang.OutOfMemoryError\uff1a\u8bf7\u589e\u52a0\u5185\u5b58\u3002\n\
   218.7 -\u4f8b\u5982\uff0c\u5bf9\u4e8e Sun Classic \u6216 HotSpot VM\uff0c\u8bf7\u6dfb\u52a0\u9009\u9879 -J-Xmx\uff0c\n\
   218.8 +\u4f8b\u5982\uff0c\u5bf9\u4e8e JDK Classic \u6216 HotSpot VM\uff0c\u8bf7\u6dfb\u52a0\u9009\u9879 -J-Xmx\uff0c\n\
   218.9  \u5982 -J-Xmx32m\u3002
  218.10  main.done_in=[\u5728{0} \u6beb\u79d2\u5185\u5b8c\u6210]
  218.11  main.doclet_method_must_be_static=\u5728 doclet \u7c7b {0} \u4e2d\uff0c\u65b9\u6cd5 {1} \u5fc5\u987b\u4e3a\u9759\u6001\u3002
   219.1 --- a/src/share/classes/com/sun/tools/javah/Gen.java	Thu Jun 17 16:28:21 2010 -0700
   219.2 +++ b/src/share/classes/com/sun/tools/javah/Gen.java	Mon Jun 21 22:09:18 2010 -0700
   219.3 @@ -60,7 +60,7 @@
   219.4   * original writing, this interface is rich enough to support JNI and the
   219.5   * old 1.0-style native method interface.
   219.6   *
   219.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   219.8 + * <p><b>This is NOT part of any supported API.
   219.9   * If you write code that depends on this, you do so at your own
  219.10   * risk.  This code and its internal interfaces are subject to change
  219.11   * or deletion without notice.</b></p>
   220.1 --- a/src/share/classes/com/sun/tools/javah/InternalError.java	Thu Jun 17 16:28:21 2010 -0700
   220.2 +++ b/src/share/classes/com/sun/tools/javah/InternalError.java	Mon Jun 21 22:09:18 2010 -0700
   220.3 @@ -26,8 +26,8 @@
   220.4  package com.sun.tools.javah;
   220.5  
   220.6  /**
   220.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   220.8 - *  you write code that depends on this, you do so at your own risk.
   220.9 + *  <p><b>This is NOT part of any supported API.
  220.10 + *  If you write code that depends on this, you do so at your own risk.
  220.11   *  This code and its internal interfaces are subject to change or
  220.12   *  deletion without notice.</b>
  220.13   */
   221.1 --- a/src/share/classes/com/sun/tools/javah/JNI.java	Thu Jun 17 16:28:21 2010 -0700
   221.2 +++ b/src/share/classes/com/sun/tools/javah/JNI.java	Mon Jun 21 22:09:18 2010 -0700
   221.3 @@ -42,7 +42,7 @@
   221.4  /**
   221.5   * Header file generator for JNI.
   221.6   *
   221.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   221.8 + * <p><b>This is NOT part of any supported API.
   221.9   * If you write code that depends on this, you do so at your own
  221.10   * risk.  This code and its internal interfaces are subject to change
  221.11   * or deletion without notice.</b></p>
   222.1 --- a/src/share/classes/com/sun/tools/javah/JavahFileManager.java	Thu Jun 17 16:28:21 2010 -0700
   222.2 +++ b/src/share/classes/com/sun/tools/javah/JavahFileManager.java	Mon Jun 21 22:09:18 2010 -0700
   222.3 @@ -36,8 +36,8 @@
   222.4  /**
   222.5   *  javah's implementation of JavaFileManager.
   222.6   *
   222.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   222.8 - *  you write code that depends on this, you do so at your own risk.
   222.9 + *  <p><b>This is NOT part of any supported API.
  222.10 + *  If you write code that depends on this, you do so at your own risk.
  222.11   *  This code and its internal interfaces are subject to change or
  222.12   *  deletion without notice.</b>
  222.13   */
   223.1 --- a/src/share/classes/com/sun/tools/javah/JavahTask.java	Thu Jun 17 16:28:21 2010 -0700
   223.2 +++ b/src/share/classes/com/sun/tools/javah/JavahTask.java	Mon Jun 21 22:09:18 2010 -0700
   223.3 @@ -59,7 +59,7 @@
   223.4  import javax.lang.model.type.TypeMirror;
   223.5  import javax.lang.model.type.TypeVisitor;
   223.6  import javax.lang.model.util.ElementFilter;
   223.7 -import javax.lang.model.util.SimpleTypeVisitor6;
   223.8 +import javax.lang.model.util.SimpleTypeVisitor7;
   223.9  import javax.lang.model.util.Types;
  223.10  
  223.11  import javax.tools.Diagnostic;
  223.12 @@ -76,7 +76,7 @@
  223.13   * Javah generates support files for native methods.
  223.14   * Parse commandline options & Invokes javadoc to execute those commands.
  223.15   *
  223.16 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
  223.17 + * <p><b>This is NOT part of any supported API.
  223.18   * If you write code that depends on this, you do so at your own
  223.19   * risk.  This code and its internal interfaces are subject to change
  223.20   * or deletion without notice.</b></p>
  223.21 @@ -705,7 +705,7 @@
  223.22          }
  223.23  
  223.24          private TypeVisitor<Void,Types> checkMethodParametersVisitor =
  223.25 -                new SimpleTypeVisitor6<Void,Types>() {
  223.26 +                new SimpleTypeVisitor7<Void,Types>() {
  223.27              @Override
  223.28              public Void visitArray(ArrayType t, Types types) {
  223.29                  visit(t.getComponentType(), types);
   224.1 --- a/src/share/classes/com/sun/tools/javah/JavahTool.java	Thu Jun 17 16:28:21 2010 -0700
   224.2 +++ b/src/share/classes/com/sun/tools/javah/JavahTool.java	Mon Jun 21 22:09:18 2010 -0700
   224.3 @@ -40,7 +40,7 @@
   224.4  import javax.tools.StandardJavaFileManager;
   224.5  
   224.6  /*
   224.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   224.8 + * <p><b>This is NOT part of any supported API.
   224.9   * If you write code that depends on this, you do so at your own
  224.10   * risk.  This code and its internal interfaces are subject to change
  224.11   * or deletion without notice.</b></p>
   225.1 --- a/src/share/classes/com/sun/tools/javah/LLNI.java	Thu Jun 17 16:28:21 2010 -0700
   225.2 +++ b/src/share/classes/com/sun/tools/javah/LLNI.java	Mon Jun 21 22:09:18 2010 -0700
   225.3 @@ -45,10 +45,10 @@
   225.4  import javax.lang.model.type.TypeMirror;
   225.5  import javax.lang.model.type.TypeVisitor;
   225.6  import javax.lang.model.util.ElementFilter;
   225.7 -import javax.lang.model.util.SimpleTypeVisitor6;
   225.8 +import javax.lang.model.util.SimpleTypeVisitor7;
   225.9  
  225.10  /*
  225.11 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
  225.12 + * <p><b>This is NOT part of any supported API.
  225.13   * If you write code that depends on this, you do so at your own
  225.14   * risk.  This code and its internal interfaces are subject to change
  225.15   * or deletion without notice.</b></p>
  225.16 @@ -620,7 +620,7 @@
  225.17      }
  225.18  
  225.19      protected final boolean isLongOrDouble(TypeMirror t) {
  225.20 -        TypeVisitor<Boolean,Void> v = new SimpleTypeVisitor6<Boolean,Void>() {
  225.21 +        TypeVisitor<Boolean,Void> v = new SimpleTypeVisitor7<Boolean,Void>() {
  225.22              public Boolean defaultAction(TypeMirror t, Void p){
  225.23                  return false;
  225.24              }
   226.1 --- a/src/share/classes/com/sun/tools/javah/Main.java	Thu Jun 17 16:28:21 2010 -0700
   226.2 +++ b/src/share/classes/com/sun/tools/javah/Main.java	Mon Jun 21 22:09:18 2010 -0700
   226.3 @@ -30,8 +30,8 @@
   226.4  /**
   226.5   *  Main entry point.
   226.6   *
   226.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   226.8 - *  you write code that depends on this, you do so at your own risk.
   226.9 + *  <p><b>This is NOT part of any supported API.
  226.10 + *  If you write code that depends on this, you do so at your own risk.
  226.11   *  This code and its internal interfaces are subject to change or
  226.12   *  deletion without notice.</b>
  226.13   */
   227.1 --- a/src/share/classes/com/sun/tools/javah/Mangle.java	Thu Jun 17 16:28:21 2010 -0700
   227.2 +++ b/src/share/classes/com/sun/tools/javah/Mangle.java	Mon Jun 21 22:09:18 2010 -0700
   227.3 @@ -37,7 +37,7 @@
   227.4   * this more fine grained and distribute the functionality to the
   227.5   * generators.
   227.6   *
   227.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   227.8 + * <p><b>This is NOT part of any supported API.
   227.9   * If you write code that depends on this, you do so at your own
  227.10   * risk.  This code and its internal interfaces are subject to change
  227.11   * or deletion without notice.</b></p>
   228.1 --- a/src/share/classes/com/sun/tools/javah/NativeHeaderTool.java	Thu Jun 17 16:28:21 2010 -0700
   228.2 +++ b/src/share/classes/com/sun/tools/javah/NativeHeaderTool.java	Mon Jun 21 22:09:18 2010 -0700
   228.3 @@ -44,8 +44,8 @@
   228.4   * @see JavaFileManager
   228.5   * @since 1.7
   228.6   *
   228.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   228.8 - *  you write code that depends on this, you do so at your own risk.
   228.9 + *  <p><b>This is NOT part of any supported API.
  228.10 + *  If you write code that depends on this, you do so at your own risk.
  228.11   *  This code and its internal interfaces are subject to change or
  228.12   *  deletion without notice.</b>
  228.13   */
   229.1 --- a/src/share/classes/com/sun/tools/javah/TypeSignature.java	Thu Jun 17 16:28:21 2010 -0700
   229.2 +++ b/src/share/classes/com/sun/tools/javah/TypeSignature.java	Mon Jun 21 22:09:18 2010 -0700
   229.3 @@ -38,12 +38,12 @@
   229.4  import javax.lang.model.type.TypeVariable;
   229.5  import javax.lang.model.type.TypeVisitor;
   229.6  import javax.lang.model.util.Elements;
   229.7 -import javax.lang.model.util.SimpleTypeVisitor6;
   229.8 +import javax.lang.model.util.SimpleTypeVisitor7;
   229.9  
  229.10  /**
  229.11   * Returns internal type signature.
  229.12   *
  229.13 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
  229.14 + * <p><b>This is NOT part of any supported API.
  229.15   * If you write code that depends on this, you do so at your own
  229.16   * risk.  This code and its internal interfaces are subject to change
  229.17   * or deletion without notice.</b></p>
  229.18 @@ -239,7 +239,7 @@
  229.19  
  229.20  
  229.21      String qualifiedTypeName(TypeMirror type) {
  229.22 -        TypeVisitor<Name, Void> v = new SimpleTypeVisitor6<Name, Void>() {
  229.23 +        TypeVisitor<Name, Void> v = new SimpleTypeVisitor7<Name, Void>() {
  229.24              @Override
  229.25              public Name visitArray(ArrayType t, Void p) {
  229.26                  return t.getComponentType().accept(this, p);
   230.1 --- a/src/share/classes/com/sun/tools/javah/Util.java	Thu Jun 17 16:28:21 2010 -0700
   230.2 +++ b/src/share/classes/com/sun/tools/javah/Util.java	Mon Jun 21 22:09:18 2010 -0700
   230.3 @@ -44,7 +44,7 @@
   230.4   *      bug   -- Bug has occurred in javah
   230.5   *      fatal -- We can't even find resources, so bail fast, don't localize
   230.6   *
   230.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   230.8 + * <p><b>This is NOT part of any supported API.
   230.9   * If you write code that depends on this, you do so at your own
  230.10   * risk.  This code and its internal interfaces are subject to change
  230.11   * or deletion without notice.</b></p>
   231.1 --- a/src/share/classes/com/sun/tools/javap/AnnotationWriter.java	Thu Jun 17 16:28:21 2010 -0700
   231.2 +++ b/src/share/classes/com/sun/tools/javap/AnnotationWriter.java	Mon Jun 21 22:09:18 2010 -0700
   231.3 @@ -40,8 +40,8 @@
   231.4  /**
   231.5   *  A writer for writing annotations as text.
   231.6   *
   231.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   231.8 - *  you write code that depends on this, you do so at your own risk.
   231.9 + *  <p><b>This is NOT part of any supported API.
  231.10 + *  If you write code that depends on this, you do so at your own risk.
  231.11   *  This code and its internal interfaces are subject to change or
  231.12   *  deletion without notice.</b>
  231.13   */
   232.1 --- a/src/share/classes/com/sun/tools/javap/AttributeWriter.java	Thu Jun 17 16:28:21 2010 -0700
   232.2 +++ b/src/share/classes/com/sun/tools/javap/AttributeWriter.java	Mon Jun 21 22:09:18 2010 -0700
   232.3 @@ -64,8 +64,8 @@
   232.4  /*
   232.5   *  A writer for writing Attributes as text.
   232.6   *
   232.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   232.8 - *  you write code that depends on this, you do so at your own risk.
   232.9 + *  <p><b>This is NOT part of any supported API.
  232.10 + *  If you write code that depends on this, you do so at your own risk.
  232.11   *  This code and its internal interfaces are subject to change or
  232.12   *  deletion without notice.</b>
  232.13   */
   233.1 --- a/src/share/classes/com/sun/tools/javap/BasicWriter.java	Thu Jun 17 16:28:21 2010 -0700
   233.2 +++ b/src/share/classes/com/sun/tools/javap/BasicWriter.java	Mon Jun 21 22:09:18 2010 -0700
   233.3 @@ -35,8 +35,8 @@
   233.4   *  A writer similar to a PrintWriter but which does not hide exceptions.
   233.5   *  The standard print calls are line-buffered; report calls write messages directly.
   233.6   *
   233.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   233.8 - *  you write code that depends on this, you do so at your own risk.
   233.9 + *  <p><b>This is NOT part of any supported API.
  233.10 + *  If you write code that depends on this, you do so at your own risk.
  233.11   *  This code and its internal interfaces are subject to change or
  233.12   *  deletion without notice.</b>
  233.13   */
   234.1 --- a/src/share/classes/com/sun/tools/javap/ClassWriter.java	Thu Jun 17 16:28:21 2010 -0700
   234.2 +++ b/src/share/classes/com/sun/tools/javap/ClassWriter.java	Mon Jun 21 22:09:18 2010 -0700
   234.3 @@ -54,8 +54,8 @@
   234.4  /*
   234.5   *  The main javap class to write the contents of a class file as text.
   234.6   *
   234.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   234.8 - *  you write code that depends on this, you do so at your own risk.
   234.9 + *  <p><b>This is NOT part of any supported API.
  234.10 + *  If you write code that depends on this, you do so at your own risk.
  234.11   *  This code and its internal interfaces are subject to change or
  234.12   *  deletion without notice.</b>
  234.13   */
   235.1 --- a/src/share/classes/com/sun/tools/javap/CodeWriter.java	Thu Jun 17 16:28:21 2010 -0700
   235.2 +++ b/src/share/classes/com/sun/tools/javap/CodeWriter.java	Mon Jun 21 22:09:18 2010 -0700
   235.3 @@ -40,8 +40,8 @@
   235.4  /*
   235.5   *  Write the contents of a Code attribute.
   235.6   *
   235.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   235.8 - *  you write code that depends on this, you do so at your own risk.
   235.9 + *  <p><b>This is NOT part of any supported API.
  235.10 + *  If you write code that depends on this, you do so at your own risk.
  235.11   *  This code and its internal interfaces are subject to change or
  235.12   *  deletion without notice.</b>
  235.13   */
   236.1 --- a/src/share/classes/com/sun/tools/javap/ConstantWriter.java	Thu Jun 17 16:28:21 2010 -0700
   236.2 +++ b/src/share/classes/com/sun/tools/javap/ConstantWriter.java	Mon Jun 21 22:09:18 2010 -0700
   236.3 @@ -34,8 +34,8 @@
   236.4  /*
   236.5   *  Write a constant pool entry.
   236.6   *
   236.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   236.8 - *  you write code that depends on this, you do so at your own risk.
   236.9 + *  <p><b>This is NOT part of any supported API.
  236.10 + *  If you write code that depends on this, you do so at your own risk.
  236.11   *  This code and its internal interfaces are subject to change or
  236.12   *  deletion without notice.</b>
  236.13   */
   237.1 --- a/src/share/classes/com/sun/tools/javap/Context.java	Thu Jun 17 16:28:21 2010 -0700
   237.2 +++ b/src/share/classes/com/sun/tools/javap/Context.java	Mon Jun 21 22:09:18 2010 -0700
   237.3 @@ -31,8 +31,8 @@
   237.4  /*
   237.5   *  Class from which to put/get shared resources.
   237.6   *
   237.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   237.8 - *  you write code that depends on this, you do so at your own risk.
   237.9 + *  <p><b>This is NOT part of any supported API.
  237.10 + *  If you write code that depends on this, you do so at your own risk.
  237.11   *  This code and its internal interfaces are subject to change or
  237.12   *  deletion without notice.</b>
  237.13   */
   238.1 --- a/src/share/classes/com/sun/tools/javap/DisassemblerTool.java	Thu Jun 17 16:28:21 2010 -0700
   238.2 +++ b/src/share/classes/com/sun/tools/javap/DisassemblerTool.java	Mon Jun 21 22:09:18 2010 -0700
   238.3 @@ -44,8 +44,8 @@
   238.4   * @see JavaFileManager
   238.5   * @since 1.7
   238.6   *
   238.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   238.8 - *  you write code that depends on this, you do so at your own risk.
   238.9 + *  <p><b>This is NOT part of any supported API.
  238.10 + *  If you write code that depends on this, you do so at your own risk.
  238.11   *  This code and its internal interfaces are subject to change or
  238.12   *  deletion without notice.</b>
  238.13   */
   239.1 --- a/src/share/classes/com/sun/tools/javap/InstructionDetailWriter.java	Thu Jun 17 16:28:21 2010 -0700
   239.2 +++ b/src/share/classes/com/sun/tools/javap/InstructionDetailWriter.java	Mon Jun 21 22:09:18 2010 -0700
   239.3 @@ -31,8 +31,8 @@
   239.4  /*
   239.5   *  Write additional details for an instruction.
   239.6   *
   239.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   239.8 - *  you write code that depends on this, you do so at your own risk.
   239.9 + *  <p><b>This is NOT part of any supported API.
  239.10 + *  If you write code that depends on this, you do so at your own risk.
  239.11   *  This code and its internal interfaces are subject to change or
  239.12   *  deletion without notice.</b>
  239.13   */
   240.1 --- a/src/share/classes/com/sun/tools/javap/InternalError.java	Thu Jun 17 16:28:21 2010 -0700
   240.2 +++ b/src/share/classes/com/sun/tools/javap/InternalError.java	Mon Jun 21 22:09:18 2010 -0700
   240.3 @@ -26,8 +26,8 @@
   240.4  package com.sun.tools.javap;
   240.5  
   240.6  /**
   240.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   240.8 - *  you write code that depends on this, you do so at your own risk.
   240.9 + *  <p><b>This is NOT part of any supported API.
  240.10 + *  If you write code that depends on this, you do so at your own risk.
  240.11   *  This code and its internal interfaces are subject to change or
  240.12   *  deletion without notice.</b>
  240.13   */
   241.1 --- a/src/share/classes/com/sun/tools/javap/JavapFileManager.java	Thu Jun 17 16:28:21 2010 -0700
   241.2 +++ b/src/share/classes/com/sun/tools/javap/JavapFileManager.java	Mon Jun 21 22:09:18 2010 -0700
   241.3 @@ -36,8 +36,8 @@
   241.4  /**
   241.5   *  javap's implementation of JavaFileManager.
   241.6   *
   241.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   241.8 - *  you write code that depends on this, you do so at your own risk.
   241.9 + *  <p><b>This is NOT part of any supported API.
  241.10 + *  If you write code that depends on this, you do so at your own risk.
  241.11   *  This code and its internal interfaces are subject to change or
  241.12   *  deletion without notice.</b>
  241.13   */
   242.1 --- a/src/share/classes/com/sun/tools/javap/JavapTask.java	Thu Jun 17 16:28:21 2010 -0700
   242.2 +++ b/src/share/classes/com/sun/tools/javap/JavapTask.java	Mon Jun 21 22:09:18 2010 -0700
   242.3 @@ -69,8 +69,8 @@
   242.4   *  "Main" class for javap, normally accessed from the command line
   242.5   *  via Main, or from JSR199 via DisassemblerTool.
   242.6   *
   242.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   242.8 - *  you write code that depends on this, you do so at your own risk.
   242.9 + *  <p><b>This is NOT part of any supported API.
  242.10 + *  If you write code that depends on this, you do so at your own risk.
  242.11   *  This code and its internal interfaces are subject to change or
  242.12   *  deletion without notice.</b>
  242.13   */
   243.1 --- a/src/share/classes/com/sun/tools/javap/LocalVariableTableWriter.java	Thu Jun 17 16:28:21 2010 -0700
   243.2 +++ b/src/share/classes/com/sun/tools/javap/LocalVariableTableWriter.java	Mon Jun 21 22:09:18 2010 -0700
   243.3 @@ -42,8 +42,8 @@
   243.4  /**
   243.5   * Annotate instructions with details about local variables.
   243.6   *
   243.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   243.8 - *  you write code that depends on this, you do so at your own risk.
   243.9 + *  <p><b>This is NOT part of any supported API.
  243.10 + *  If you write code that depends on this, you do so at your own risk.
  243.11   *  This code and its internal interfaces are subject to change or
  243.12   *  deletion without notice.</b>
  243.13   */
   244.1 --- a/src/share/classes/com/sun/tools/javap/LocalVariableTypeTableWriter.java	Thu Jun 17 16:28:21 2010 -0700
   244.2 +++ b/src/share/classes/com/sun/tools/javap/LocalVariableTypeTableWriter.java	Mon Jun 21 22:09:18 2010 -0700
   244.3 @@ -43,8 +43,8 @@
   244.4  /**
   244.5   * Annotate instructions with details about local variables.
   244.6   *
   244.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   244.8 - *  you write code that depends on this, you do so at your own risk.
   244.9 + *  <p><b>This is NOT part of any supported API.
  244.10 + *  If you write code that depends on this, you do so at your own risk.
  244.11   *  This code and its internal interfaces are subject to change or
  244.12   *  deletion without notice.</b>
  244.13   */
   245.1 --- a/src/share/classes/com/sun/tools/javap/Main.java	Thu Jun 17 16:28:21 2010 -0700
   245.2 +++ b/src/share/classes/com/sun/tools/javap/Main.java	Mon Jun 21 22:09:18 2010 -0700
   245.3 @@ -30,8 +30,8 @@
   245.4  /**
   245.5   *  Main entry point.
   245.6   *
   245.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   245.8 - *  you write code that depends on this, you do so at your own risk.
   245.9 + *  <p><b>This is NOT part of any supported API.
  245.10 + *  If you write code that depends on this, you do so at your own risk.
  245.11   *  This code and its internal interfaces are subject to change or
  245.12   *  deletion without notice.</b>
  245.13   */
   246.1 --- a/src/share/classes/com/sun/tools/javap/Messages.java	Thu Jun 17 16:28:21 2010 -0700
   246.2 +++ b/src/share/classes/com/sun/tools/javap/Messages.java	Mon Jun 21 22:09:18 2010 -0700
   246.3 @@ -30,8 +30,8 @@
   246.4  /**
   246.5   *  Access to javap messages.
   246.6   *
   246.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   246.8 - *  you write code that depends on this, you do so at your own risk.
   246.9 + *  <p><b>This is NOT part of any supported API.
  246.10 + *  If you write code that depends on this, you do so at your own risk.
  246.11   *  This code and its internal interfaces are subject to change or
  246.12   *  deletion without notice.</b>
  246.13   */
   247.1 --- a/src/share/classes/com/sun/tools/javap/Options.java	Thu Jun 17 16:28:21 2010 -0700
   247.2 +++ b/src/share/classes/com/sun/tools/javap/Options.java	Mon Jun 21 22:09:18 2010 -0700
   247.3 @@ -34,8 +34,8 @@
   247.4  /*
   247.5   *  Provides access to javap's options, set via the command line
   247.6   *  or JSR 199 API.
   247.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   247.8 - *  you write code that depends on this, you do so at your own risk.
   247.9 + *  <p><b>This is NOT part of any supported API.
  247.10 + *  If you write code that depends on this, you do so at your own risk.
  247.11   *  This code and its internal interfaces are subject to change or
  247.12   *  deletion without notice.</b>
  247.13   */
   248.1 --- a/src/share/classes/com/sun/tools/javap/SourceWriter.java	Thu Jun 17 16:28:21 2010 -0700
   248.2 +++ b/src/share/classes/com/sun/tools/javap/SourceWriter.java	Mon Jun 21 22:09:18 2010 -0700
   248.3 @@ -52,8 +52,8 @@
   248.4  /**
   248.5   * Annotate instructions with source code.
   248.6   *
   248.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   248.8 - *  you write code that depends on this, you do so at your own risk.
   248.9 + *  <p><b>This is NOT part of any supported API.
  248.10 + *  If you write code that depends on this, you do so at your own risk.
  248.11   *  This code and its internal interfaces are subject to change or
  248.12   *  deletion without notice.</b>
  248.13   */
   249.1 --- a/src/share/classes/com/sun/tools/javap/StackMapWriter.java	Thu Jun 17 16:28:21 2010 -0700
   249.2 +++ b/src/share/classes/com/sun/tools/javap/StackMapWriter.java	Mon Jun 21 22:09:18 2010 -0700
   249.3 @@ -45,8 +45,8 @@
   249.4  /**
   249.5   * Annotate instructions with stack map.
   249.6   *
   249.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   249.8 - *  you write code that depends on this, you do so at your own risk.
   249.9 + *  <p><b>This is NOT part of any supported API.
  249.10 + *  If you write code that depends on this, you do so at your own risk.
  249.11   *  This code and its internal interfaces are subject to change or
  249.12   *  deletion without notice.</b>
  249.13   */
   250.1 --- a/src/share/classes/com/sun/tools/javap/TryBlockWriter.java	Thu Jun 17 16:28:21 2010 -0700
   250.2 +++ b/src/share/classes/com/sun/tools/javap/TryBlockWriter.java	Mon Jun 21 22:09:18 2010 -0700
   250.3 @@ -37,8 +37,8 @@
   250.4  /**
   250.5   * Annotate instructions with details about try blocks.
   250.6   *
   250.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   250.8 - *  you write code that depends on this, you do so at your own risk.
   250.9 + *  <p><b>This is NOT part of any supported API.
  250.10 + *  If you write code that depends on this, you do so at your own risk.
  250.11   *  This code and its internal interfaces are subject to change or
  250.12   *  deletion without notice.</b>
  250.13   */
   251.1 --- a/src/share/classes/com/sun/tools/javap/TypeAnnotationWriter.java	Thu Jun 17 16:28:21 2010 -0700
   251.2 +++ b/src/share/classes/com/sun/tools/javap/TypeAnnotationWriter.java	Mon Jun 21 22:09:18 2010 -0700
   251.3 @@ -41,8 +41,8 @@
   251.4  /**
   251.5   * Annotate instructions with details about type annotations.
   251.6   *
   251.7 - *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If
   251.8 - *  you write code that depends on this, you do so at your own risk.
   251.9 + *  <p><b>This is NOT part of any supported API.
  251.10 + *  If you write code that depends on this, you do so at your own risk.
  251.11   *  This code and its internal interfaces are subject to change or
  251.12   *  deletion without notice.</b>
  251.13   */
   252.1 --- a/src/share/classes/javax/lang/model/element/ElementVisitor.java	Thu Jun 17 16:28:21 2010 -0700
   252.2 +++ b/src/share/classes/javax/lang/model/element/ElementVisitor.java	Mon Jun 21 22:09:18 2010 -0700
   252.3 @@ -62,6 +62,7 @@
   252.4   * @author Scott Seligman
   252.5   * @author Peter von der Ah&eacute;
   252.6   * @see AbstractElementVisitor6
   252.7 + * @see AbstractElementVisitor7
   252.8   * @since 1.6
   252.9   */
  252.10  public interface ElementVisitor<R, P> {
   253.1 --- a/src/share/classes/javax/lang/model/type/MirroredTypeException.java	Thu Jun 17 16:28:21 2010 -0700
   253.2 +++ b/src/share/classes/javax/lang/model/type/MirroredTypeException.java	Mon Jun 21 22:09:18 2010 -0700
   253.3 @@ -42,7 +42,7 @@
   253.4   * @see Element#getAnnotation(Class)
   253.5   * @since 1.6
   253.6   */
   253.7 -public class MirroredTypeException extends RuntimeException {
   253.8 +public class MirroredTypeException extends MirroredTypesException {
   253.9  
  253.10      private static final long serialVersionUID = 269;
  253.11  
  253.12 @@ -54,7 +54,7 @@
  253.13       * @param type  the type being accessed
  253.14       */
  253.15      public MirroredTypeException(TypeMirror type) {
  253.16 -        super("Attempt to access Class object for TypeMirror " + type.toString());
  253.17 +        super("Attempt to access Class object for TypeMirror " + type.toString(), type);
  253.18          this.type = type;
  253.19      }
  253.20  
  253.21 @@ -76,5 +76,6 @@
  253.22          throws IOException, ClassNotFoundException {
  253.23          s.defaultReadObject();
  253.24          type = null;
  253.25 +        types = null;
  253.26      }
  253.27  }
   254.1 --- a/src/share/classes/javax/lang/model/type/MirroredTypesException.java	Thu Jun 17 16:28:21 2010 -0700
   254.2 +++ b/src/share/classes/javax/lang/model/type/MirroredTypesException.java	Mon Jun 21 22:09:18 2010 -0700
   254.3 @@ -49,7 +49,17 @@
   254.4  
   254.5      private static final long serialVersionUID = 269;
   254.6  
   254.7 -    private transient List<? extends TypeMirror> types; // cannot be serialized
   254.8 +    transient List<? extends TypeMirror> types; // cannot be serialized
   254.9 +
  254.10 +    /*
  254.11 +     * Trusted constructor to be called by MirroredTypeException.
  254.12 +     */
  254.13 +    MirroredTypesException(String message, TypeMirror type) {
  254.14 +        super(message);
  254.15 +        List<TypeMirror> tmp = (new ArrayList<TypeMirror>());
  254.16 +        tmp.add(type);
  254.17 +        types = Collections.unmodifiableList(tmp);
  254.18 +    }
  254.19  
  254.20      /**
  254.21       * Constructs a new MirroredTypesException for the specified types.
   255.1 --- a/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java	Thu Jun 17 16:28:21 2010 -0700
   255.2 +++ b/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java	Mon Jun 21 22:09:18 2010 -0700
   255.3 @@ -62,6 +62,8 @@
   255.4   * @author Joseph D. Darcy
   255.5   * @author Scott Seligman
   255.6   * @author Peter von der Ah&eacute;
   255.7 + *
   255.8 + * @see AbstractAnnotationValueVisitor7
   255.9   * @since 1.6
  255.10   */
  255.11  @SupportedSourceVersion(RELEASE_6)
   256.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   256.2 +++ b/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor7.java	Mon Jun 21 22:09:18 2010 -0700
   256.3 @@ -0,0 +1,73 @@
   256.4 +/*
   256.5 + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
   256.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   256.7 + *
   256.8 + * This code is free software; you can redistribute it and/or modify it
   256.9 + * under the terms of the GNU General Public License version 2 only, as
  256.10 + * published by the Free Software Foundation.  Oracle designates this
  256.11 + * particular file as subject to the "Classpath" exception as provided
  256.12 + * by Oracle in the LICENSE file that accompanied this code.
  256.13 + *
  256.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
  256.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  256.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  256.17 + * version 2 for more details (a copy is included in the LICENSE file that
  256.18 + * accompanied this code).
  256.19 + *
  256.20 + * You should have received a copy of the GNU General Public License version
  256.21 + * 2 along with this work; if not, write to the Free Software Foundation,
  256.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  256.23 + *
  256.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  256.25 + * or visit www.oracle.com if you need additional information or have any
  256.26 + * questions.
  256.27 + */
  256.28 +
  256.29 +package javax.lang.model.util;
  256.30 +
  256.31 +import java.util.List;
  256.32 +import javax.lang.model.element.*;
  256.33 +
  256.34 +import javax.lang.model.type.TypeMirror;
  256.35 +import static javax.lang.model.SourceVersion.*;
  256.36 +import javax.lang.model.SourceVersion;
  256.37 +import javax.annotation.processing.SupportedSourceVersion;
  256.38 +
  256.39 +/**
  256.40 + * A skeletal visitor for annotation values with default behavior
  256.41 + * appropriate for the {@link SourceVersion#RELEASE_7 RELEASE_7}
  256.42 + * source version.
  256.43 + *
  256.44 + * <p> <b>WARNING:</b> The {@code AnnotationValueVisitor} interface
  256.45 + * implemented by this class may have methods added to it in the
  256.46 + * future to accommodate new, currently unknown, language structures
  256.47 + * added to future versions of the Java&trade; programming language.
  256.48 + * Therefore, methods whose names begin with {@code "visit"} may be
  256.49 + * added to this class in the future; to avoid incompatibilities,
  256.50 + * classes which extend this class should not declare any instance
  256.51 + * methods with names beginning with {@code "visit"}.
  256.52 + *
  256.53 + * <p>When such a new visit method is added, the default
  256.54 + * implementation in this class will be to call the {@link
  256.55 + * #visitUnknown visitUnknown} method.  A new abstract annotation
  256.56 + * value visitor class will also be introduced to correspond to the
  256.57 + * new language level; this visitor will have different default
  256.58 + * behavior for the visit method in question.  When the new visitor is
  256.59 + * introduced, all or portions of this visitor may be deprecated.
  256.60 + *
  256.61 + * @param <R> the return type of this visitor's methods
  256.62 + * @param <P> the type of the additional parameter to this visitor's methods.
  256.63 + *
  256.64 + * @see AbstractAnnotationValueVisitor6
  256.65 + * @since 1.7
  256.66 + */
  256.67 +@SupportedSourceVersion(RELEASE_7)
  256.68 +public abstract class AbstractAnnotationValueVisitor7<R, P> extends AbstractAnnotationValueVisitor6<R, P> {
  256.69 +
  256.70 +    /**
  256.71 +     * Constructor for concrete subclasses to call.
  256.72 +     */
  256.73 +    protected AbstractAnnotationValueVisitor7() {
  256.74 +        super();
  256.75 +    }
  256.76 +}
   257.1 --- a/src/share/classes/javax/lang/model/util/AbstractElementVisitor6.java	Thu Jun 17 16:28:21 2010 -0700
   257.2 +++ b/src/share/classes/javax/lang/model/util/AbstractElementVisitor6.java	Mon Jun 21 22:09:18 2010 -0700
   257.3 @@ -65,6 +65,8 @@
   257.4   * @author Joseph D. Darcy
   257.5   * @author Scott Seligman
   257.6   * @author Peter von der Ah&eacute;
   257.7 + *
   257.8 + * @see AbstractElementVisitor7
   257.9   * @since 1.6
  257.10   */
  257.11  @SupportedSourceVersion(RELEASE_6)
   258.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   258.2 +++ b/src/share/classes/javax/lang/model/util/AbstractElementVisitor7.java	Mon Jun 21 22:09:18 2010 -0700
   258.3 @@ -0,0 +1,75 @@
   258.4 +/*
   258.5 + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
   258.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   258.7 + *
   258.8 + * This code is free software; you can redistribute it and/or modify it
   258.9 + * under the terms of the GNU General Public License version 2 only, as
  258.10 + * published by the Free Software Foundation.  Oracle designates this
  258.11 + * particular file as subject to the "Classpath" exception as provided
  258.12 + * by Oracle in the LICENSE file that accompanied this code.
  258.13 + *
  258.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
  258.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  258.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  258.17 + * version 2 for more details (a copy is included in the LICENSE file that
  258.18 + * accompanied this code).
  258.19 + *
  258.20 + * You should have received a copy of the GNU General Public License version
  258.21 + * 2 along with this work; if not, write to the Free Software Foundation,
  258.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  258.23 + *
  258.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  258.25 + * or visit www.oracle.com if you need additional information or have any
  258.26 + * questions.
  258.27 + */
  258.28 +
  258.29 +package javax.lang.model.util;
  258.30 +
  258.31 +import javax.lang.model.element.*;
  258.32 +import javax.annotation.processing.SupportedSourceVersion;
  258.33 +import javax.lang.model.element.*;
  258.34 +import static javax.lang.model.element.ElementKind.*;
  258.35 +import static javax.lang.model.SourceVersion.*;
  258.36 +import javax.lang.model.SourceVersion;
  258.37 +
  258.38 +
  258.39 +/**
  258.40 + * A skeletal visitor of program elements with default behavior
  258.41 + * appropriate for the {@link SourceVersion#RELEASE_7 RELEASE_7}
  258.42 + * source version.
  258.43 + *
  258.44 + * <p> <b>WARNING:</b> The {@code ElementVisitor} interface
  258.45 + * implemented by this class may have methods added to it in the
  258.46 + * future to accommodate new, currently unknown, language structures
  258.47 + * added to future versions of the Java&trade; programming language.
  258.48 + * Therefore, methods whose names begin with {@code "visit"} may be
  258.49 + * added to this class in the future; to avoid incompatibilities,
  258.50 + * classes which extend this class should not declare any instance
  258.51 + * methods with names beginning with {@code "visit"}.
  258.52 + *
  258.53 + * <p>When such a new visit method is added, the default
  258.54 + * implementation in this class will be to call the {@link
  258.55 + * #visitUnknown visitUnknown} method.  A new abstract element visitor
  258.56 + * class will also be introduced to correspond to the new language
  258.57 + * level; this visitor will have different default behavior for the
  258.58 + * visit method in question.  When the new visitor is introduced, all
  258.59 + * or portions of this visitor may be deprecated.
  258.60 + *
  258.61 + * @param <R> the return type of this visitor's methods.  Use {@link
  258.62 + *            Void} for visitors that do not need to return results.
  258.63 + * @param <P> the type of the additional parameter to this visitor's
  258.64 + *            methods.  Use {@code Void} for visitors that do not need an
  258.65 + *            additional parameter.
  258.66 + *
  258.67 + * @see AbstractElementVisitor6
  258.68 + * @since 1.7
  258.69 + */
  258.70 +@SupportedSourceVersion(RELEASE_7)
  258.71 +public abstract class AbstractElementVisitor7<R, P> extends AbstractElementVisitor6<R, P> {
  258.72 +    /**
  258.73 +     * Constructor for concrete subclasses to call.
  258.74 +     */
  258.75 +    protected AbstractElementVisitor7(){
  258.76 +        super();
  258.77 +    }
  258.78 +}
   259.1 --- a/src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java	Thu Jun 17 16:28:21 2010 -0700
   259.2 +++ b/src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java	Mon Jun 21 22:09:18 2010 -0700
   259.3 @@ -57,6 +57,8 @@
   259.4   * @author Joseph D. Darcy
   259.5   * @author Scott Seligman
   259.6   * @author Peter von der Ah&eacute;
   259.7 + *
   259.8 + * @see AbstractTypeVisitor7
   259.9   * @since 1.6
  259.10   */
  259.11  public abstract class AbstractTypeVisitor6<R, P> implements TypeVisitor<R, P> {
   260.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   260.2 +++ b/src/share/classes/javax/lang/model/util/AbstractTypeVisitor7.java	Mon Jun 21 22:09:18 2010 -0700
   260.3 @@ -0,0 +1,67 @@
   260.4 +/*
   260.5 + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
   260.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   260.7 + *
   260.8 + * This code is free software; you can redistribute it and/or modify it
   260.9 + * under the terms of the GNU General Public License version 2 only, as
  260.10 + * published by the Free Software Foundation.  Oracle designates this
  260.11 + * particular file as subject to the "Classpath" exception as provided
  260.12 + * by Oracle in the LICENSE file that accompanied this code.
  260.13 + *
  260.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
  260.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  260.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  260.17 + * version 2 for more details (a copy is included in the LICENSE file that
  260.18 + * accompanied this code).
  260.19 + *
  260.20 + * You should have received a copy of the GNU General Public License version
  260.21 + * 2 along with this work; if not, write to the Free Software Foundation,
  260.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  260.23 + *
  260.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  260.25 + * or visit www.oracle.com if you need additional information or have any
  260.26 + * questions.
  260.27 + */
  260.28 +
  260.29 +package javax.lang.model.util;
  260.30 +
  260.31 +import javax.lang.model.type.*;
  260.32 +
  260.33 +/**
  260.34 + * A skeletal visitor of types with default behavior appropriate for
  260.35 + * the version 7 language level.
  260.36 + *
  260.37 + * <p> <b>WARNING:</b> The {@code TypeVisitor} interface implemented
  260.38 + * by this class may have methods added to it in the future to
  260.39 + * accommodate new, currently unknown, language structures added to
  260.40 + * future versions of the Java&trade; programming language.
  260.41 + * Therefore, methods whose names begin with {@code "visit"} may be
  260.42 + * added to this class in the future; to avoid incompatibilities,
  260.43 + * classes which extend this class should not declare any instance
  260.44 + * methods with names beginning with {@code "visit"}.
  260.45 + *
  260.46 + * <p>When such a new visit method is added, the default
  260.47 + * implementation in this class will be to call the {@link
  260.48 + * #visitUnknown visitUnknown} method.  A new abstract type visitor
  260.49 + * class will also be introduced to correspond to the new language
  260.50 + * level; this visitor will have different default behavior for the
  260.51 + * visit method in question.  When the new visitor is introduced, all
  260.52 + * or portions of this visitor may be deprecated.
  260.53 + *
  260.54 + * @param <R> the return type of this visitor's methods.  Use {@link
  260.55 + *            Void} for visitors that do not need to return results.
  260.56 + * @param <P> the type of the additional parameter to this visitor's
  260.57 + *            methods.  Use {@code Void} for visitors that do not need an
  260.58 + *            additional parameter.
  260.59 + *
  260.60 + * @see AbstractTypeVisitor6
  260.61 + * @since 1.7
  260.62 + */
  260.63 +public abstract class AbstractTypeVisitor7<R, P> extends AbstractTypeVisitor6<R, P> {
  260.64 +    /**
  260.65 +     * Constructor for concrete subclasses to call.
  260.66 +     */
  260.67 +    protected AbstractTypeVisitor7() {
  260.68 +        super();
  260.69 +    }
  260.70 +}
   261.1 --- a/src/share/classes/javax/lang/model/util/ElementKindVisitor6.java	Thu Jun 17 16:28:21 2010 -0700
   261.2 +++ b/src/share/classes/javax/lang/model/util/ElementKindVisitor6.java	Mon Jun 21 22:09:18 2010 -0700
   261.3 @@ -76,6 +76,8 @@
   261.4   * @author Joseph D. Darcy
   261.5   * @author Scott Seligman
   261.6   * @author Peter von der Ah&eacute;
   261.7 + *
   261.8 + * @see ElementKindVisitor7
   261.9   * @since 1.6
  261.10   */
  261.11  @SupportedSourceVersion(RELEASE_6)
   262.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   262.2 +++ b/src/share/classes/javax/lang/model/util/ElementKindVisitor7.java	Mon Jun 21 22:09:18 2010 -0700
   262.3 @@ -0,0 +1,97 @@
   262.4 +/*
   262.5 + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
   262.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   262.7 + *
   262.8 + * This code is free software; you can redistribute it and/or modify it
   262.9 + * under the terms of the GNU General Public License version 2 only, as
  262.10 + * published by the Free Software Foundation.  Oracle designates this
  262.11 + * particular file as subject to the "Classpath" exception as provided
  262.12 + * by Oracle in the LICENSE file that accompanied this code.
  262.13 + *
  262.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
  262.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  262.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  262.17 + * version 2 for more details (a copy is included in the LICENSE file that
  262.18 + * accompanied this code).
  262.19 + *
  262.20 + * You should have received a copy of the GNU General Public License version
  262.21 + * 2 along with this work; if not, write to the Free Software Foundation,
  262.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  262.23 + *
  262.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  262.25 + * or visit www.oracle.com if you need additional information or have any
  262.26 + * questions.
  262.27 + */
  262.28 +
  262.29 +package javax.lang.model.util;
  262.30 +
  262.31 +import javax.lang.model.element.*;
  262.32 +import static javax.lang.model.element.ElementKind.*;
  262.33 +import javax.annotation.processing.SupportedSourceVersion;
  262.34 +import static javax.lang.model.SourceVersion.*;
  262.35 +import javax.lang.model.SourceVersion;
  262.36 +
  262.37 +/**
  262.38 + * A visitor of program elements based on their {@linkplain
  262.39 + * ElementKind kind} with default behavior appropriate for the {@link
  262.40 + * SourceVersion#RELEASE_6 RELEASE_6} source version.  For {@linkplain
  262.41 + * Element elements} <tt><i>XYZ</i></tt> that may have more than one
  262.42 + * kind, the <tt>visit<i>XYZ</i></tt> methods in this class delegate
  262.43 + * to the <tt>visit<i>XYZKind</i></tt> method corresponding to the
  262.44 + * first argument's kind.  The <tt>visit<i>XYZKind</i></tt> methods
  262.45 + * call {@link #defaultAction defaultAction}, passing their arguments
  262.46 + * to {@code defaultAction}'s corresponding parameters.
  262.47 + *
  262.48 + * <p> Methods in this class may be overridden subject to their
  262.49 + * general contract.  Note that annotating methods in concrete
  262.50 + * subclasses with {@link java.lang.Override @Override} will help
  262.51 + * ensure that methods are overridden as intended.
  262.52 + *
  262.53 + * <p> <b>WARNING:</b> The {@code ElementVisitor} interface
  262.54 + * implemented by this class may have methods added to it or the
  262.55 + * {@code ElementKind} {@code enum} used in this case may have
  262.56 + * constants added to it in the future to accommodate new, currently
  262.57 + * unknown, language structures added to future versions of the
  262.58 + * Java&trade; programming language.  Therefore, methods whose names
  262.59 + * begin with {@code "visit"} may be added to this class in the
  262.60 + * future; to avoid incompatibilities, classes which extend this class
  262.61 + * should not declare any instance methods with names beginning with
  262.62 + * {@code "visit"}.
  262.63 + *
  262.64 + * <p>When such a new visit method is added, the default
  262.65 + * implementation in this class will be to call the {@link
  262.66 + * #visitUnknown visitUnknown} method.  A new abstract element kind
  262.67 + * visitor class will also be introduced to correspond to the new
  262.68 + * language level; this visitor will have different default behavior
  262.69 + * for the visit method in question.  When the new visitor is
  262.70 + * introduced, all or portions of this visitor may be deprecated.
  262.71 + *
  262.72 + * @param <R> the return type of this visitor's methods.  Use {@link
  262.73 + *            Void} for visitors that do not need to return results.
  262.74 + * @param <P> the type of the additional parameter to this visitor's
  262.75 + *            methods.  Use {@code Void} for visitors that do not need an
  262.76 + *            additional parameter.
  262.77 + *
  262.78 + * @see ElementKindVisitor6
  262.79 + * @since 1.7
  262.80 + */
  262.81 +@SupportedSourceVersion(RELEASE_7)
  262.82 +public class ElementKindVisitor7<R, P> extends ElementKindVisitor6<R, P> {
  262.83 +    /**
  262.84 +     * Constructor for concrete subclasses; uses {@code null} for the
  262.85 +     * default value.
  262.86 +     */
  262.87 +    protected ElementKindVisitor7() {
  262.88 +        super(null);
  262.89 +    }
  262.90 +
  262.91 +    /**
  262.92 +     * Constructor for concrete subclasses; uses the argument for the
  262.93 +     * default value.
  262.94 +     *
  262.95 +     * @param defaultValue the value to assign to {@link #DEFAULT_VALUE}
  262.96 +     */
  262.97 +    protected ElementKindVisitor7(R defaultValue) {
  262.98 +        super(defaultValue);
  262.99 +    }
 262.100 +}
   263.1 --- a/src/share/classes/javax/lang/model/util/ElementScanner6.java	Thu Jun 17 16:28:21 2010 -0700
   263.2 +++ b/src/share/classes/javax/lang/model/util/ElementScanner6.java	Mon Jun 21 22:09:18 2010 -0700
   263.3 @@ -88,6 +88,8 @@
   263.4   * @author Joseph D. Darcy
   263.5   * @author Scott Seligman
   263.6   * @author Peter von der Ah&eacute;
   263.7 + *
   263.8 + * @see ElementScanner7
   263.9   * @since 1.6
  263.10   */
  263.11  @SupportedSourceVersion(RELEASE_6)
   264.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   264.2 +++ b/src/share/classes/javax/lang/model/util/ElementScanner7.java	Mon Jun 21 22:09:18 2010 -0700
   264.3 @@ -0,0 +1,108 @@
   264.4 +/*
   264.5 + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
   264.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   264.7 + *
   264.8 + * This code is free software; you can redistribute it and/or modify it
   264.9 + * under the terms of the GNU General Public License version 2 only, as
  264.10 + * published by the Free Software Foundation.  Oracle designates this
  264.11 + * particular file as subject to the "Classpath" exception as provided
  264.12 + * by Oracle in the LICENSE file that accompanied this code.
  264.13 + *
  264.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
  264.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  264.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  264.17 + * version 2 for more details (a copy is included in the LICENSE file that
  264.18 + * accompanied this code).
  264.19 + *
  264.20 + * You should have received a copy of the GNU General Public License version
  264.21 + * 2 along with this work; if not, write to the Free Software Foundation,
  264.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  264.23 + *
  264.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  264.25 + * or visit www.oracle.com if you need additional information or have any
  264.26 + * questions.
  264.27 + */
  264.28 +
  264.29 +package javax.lang.model.util;
  264.30 +
  264.31 +import javax.lang.model.element.*;
  264.32 +import javax.annotation.processing.SupportedSourceVersion;
  264.33 +import static javax.lang.model.element.ElementKind.*;
  264.34 +import javax.lang.model.SourceVersion;
  264.35 +import static javax.lang.model.SourceVersion.*;
  264.36 +
  264.37 +
  264.38 +/**
  264.39 + * A scanning visitor of program elements with default behavior
  264.40 + * appropriate for the {@link SourceVersion#RELEASE_7 RELEASE_7}
  264.41 + * source version.  The <tt>visit<i>XYZ</i></tt> methods in this
  264.42 + * class scan their component elements by calling {@code scan} on
  264.43 + * their {@linkplain Element#getEnclosedElements enclosed elements},
  264.44 + * {@linkplain ExecutableElement#getParameters parameters}, etc., as
  264.45 + * indicated in the individual method specifications.  A subclass can
  264.46 + * control the order elements are visited by overriding the
  264.47 + * <tt>visit<i>XYZ</i></tt> methods.  Note that clients of a scanner
  264.48 + * may get the desired behavior be invoking {@code v.scan(e, p)} rather
  264.49 + * than {@code v.visit(e, p)} on the root objects of interest.
  264.50 + *
  264.51 + * <p>When a subclass overrides a <tt>visit<i>XYZ</i></tt> method, the
  264.52 + * new method can cause the enclosed elements to be scanned in the
  264.53 + * default way by calling <tt>super.visit<i>XYZ</i></tt>.  In this
  264.54 + * fashion, the concrete visitor can control the ordering of traversal
  264.55 + * over the component elements with respect to the additional
  264.56 + * processing; for example, consistently calling
  264.57 + * <tt>super.visit<i>XYZ</i></tt> at the start of the overridden
  264.58 + * methods will yield a preorder traversal, etc.  If the component
  264.59 + * elements should be traversed in some other order, instead of
  264.60 + * calling <tt>super.visit<i>XYZ</i></tt>, an overriding visit method
  264.61 + * should call {@code scan} with the elements in the desired order.
  264.62 + *
  264.63 + * <p> Methods in this class may be overridden subject to their
  264.64 + * general contract.  Note that annotating methods in concrete
  264.65 + * subclasses with {@link java.lang.Override @Override} will help
  264.66 + * ensure that methods are overridden as intended.
  264.67 + *
  264.68 + * <p> <b>WARNING:</b> The {@code ElementVisitor} interface
  264.69 + * implemented by this class may have methods added to it in the
  264.70 + * future to accommodate new, currently unknown, language structures
  264.71 + * added to future versions of the Java&trade; programming language.
  264.72 + * Therefore, methods whose names begin with {@code "visit"} may be
  264.73 + * added to this class in the future; to avoid incompatibilities,
  264.74 + * classes which extend this class should not declare any instance
  264.75 + * methods with names beginning with {@code "visit"}.
  264.76 + *
  264.77 + * <p>When such a new visit method is added, the default
  264.78 + * implementation in this class will be to call the {@link
  264.79 + * #visitUnknown visitUnknown} method.  A new element scanner visitor
  264.80 + * class will also be introduced to correspond to the new language
  264.81 + * level; this visitor will have different default behavior for the
  264.82 + * visit method in question.  When the new visitor is introduced, all
  264.83 + * or portions of this visitor may be deprecated.
  264.84 + *
  264.85 + * @param <R> the return type of this visitor's methods.  Use {@link
  264.86 + *            Void} for visitors that do not need to return results.
  264.87 + * @param <P> the type of the additional parameter to this visitor's
  264.88 + *            methods.  Use {@code Void} for visitors that do not need an
  264.89 + *            additional parameter.
  264.90 + *
  264.91 + * @see ElementScanner6
  264.92 + * @since 1.7
  264.93 + */
  264.94 +@SupportedSourceVersion(RELEASE_7)
  264.95 +public class ElementScanner7<R, P> extends ElementScanner6<R, P> {
  264.96 +    /**
  264.97 +     * Constructor for concrete subclasses; uses {@code null} for the
  264.98 +     * default value.
  264.99 +     */
 264.100 +    protected ElementScanner7(){
 264.101 +        super(null);
 264.102 +    }
 264.103 +
 264.104 +    /**
 264.105 +     * Constructor for concrete subclasses; uses the argument for the
 264.106 +     * default value.
 264.107 +     */
 264.108 +    protected ElementScanner7(R defaultValue){
 264.109 +        super(defaultValue);
 264.110 +    }
 264.111 +}
   265.1 --- a/src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor6.java	Thu Jun 17 16:28:21 2010 -0700
   265.2 +++ b/src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor6.java	Mon Jun 21 22:09:18 2010 -0700
   265.3 @@ -69,6 +69,8 @@
   265.4   * @author Joseph D. Darcy
   265.5   * @author Scott Seligman
   265.6   * @author Peter von der Ah&eacute;
   265.7 + *
   265.8 + * @see SimpleAnnotationValueVisitor7
   265.9   * @since 1.6
  265.10   */
  265.11  @SupportedSourceVersion(RELEASE_6)
   266.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   266.2 +++ b/src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor7.java	Mon Jun 21 22:09:18 2010 -0700
   266.3 @@ -0,0 +1,90 @@
   266.4 +/*
   266.5 + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
   266.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   266.7 + *
   266.8 + * This code is free software; you can redistribute it and/or modify it
   266.9 + * under the terms of the GNU General Public License version 2 only, as
  266.10 + * published by the Free Software Foundation.  Oracle designates this
  266.11 + * particular file as subject to the "Classpath" exception as provided
  266.12 + * by Oracle in the LICENSE file that accompanied this code.
  266.13 + *
  266.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
  266.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  266.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  266.17 + * version 2 for more details (a copy is included in the LICENSE file that
  266.18 + * accompanied this code).
  266.19 + *
  266.20 + * You should have received a copy of the GNU General Public License version
  266.21 + * 2 along with this work; if not, write to the Free Software Foundation,
  266.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  266.23 + *
  266.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  266.25 + * or visit www.oracle.com if you need additional information or have any
  266.26 + * questions.
  266.27 + */
  266.28 +
  266.29 +package javax.lang.model.util;
  266.30 +
  266.31 +import java.util.List;
  266.32 +import javax.lang.model.element.*;
  266.33 +
  266.34 +import javax.lang.model.type.TypeMirror;
  266.35 +import static javax.lang.model.SourceVersion.*;
  266.36 +import javax.lang.model.SourceVersion;
  266.37 +import javax.annotation.processing.SupportedSourceVersion;
  266.38 +
  266.39 +/**
  266.40 + * A simple visitor for annotation values with default behavior
  266.41 + * appropriate for the {@link SourceVersion#RELEASE_7 RELEASE_7}
  266.42 + * source version.  Visit methods call {@link
  266.43 + * #defaultAction} passing their arguments to {@code defaultAction}'s
  266.44 + * corresponding parameters.
  266.45 + *
  266.46 + * <p> Methods in this class may be overridden subject to their
  266.47 + * general contract.  Note that annotating methods in concrete
  266.48 + * subclasses with {@link java.lang.Override @Override} will help
  266.49 + * ensure that methods are overridden as intended.
  266.50 + *
  266.51 + * <p> <b>WARNING:</b> The {@code AnnotationValueVisitor} interface
  266.52 + * implemented by this class may have methods added to it in the
  266.53 + * future to accommodate new, currently unknown, language structures
  266.54 + * added to future versions of the Java&trade; programming language.
  266.55 + * Therefore, methods whose names begin with {@code "visit"} may be
  266.56 + * added to this class in the future; to avoid incompatibilities,
  266.57 + * classes which extend this class should not declare any instance
  266.58 + * methods with names beginning with {@code "visit"}.
  266.59 + *
  266.60 + * <p>When such a new visit method is added, the default
  266.61 + * implementation in this class will be to call the {@link
  266.62 + * #visitUnknown visitUnknown} method.  A new simple annotation
  266.63 + * value visitor class will also be introduced to correspond to the
  266.64 + * new language level; this visitor will have different default
  266.65 + * behavior for the visit method in question.  When the new visitor is
  266.66 + * introduced, all or portions of this visitor may be deprecated.
  266.67 + *
  266.68 + * @param <R> the return type of this visitor's methods
  266.69 + * @param <P> the type of the additional parameter to this visitor's methods.
  266.70 + *
  266.71 + * @see SimpleAnnotationValueVisitor6
  266.72 + * @since 1.7
  266.73 + */
  266.74 +@SupportedSourceVersion(RELEASE_7)
  266.75 +public class SimpleAnnotationValueVisitor7<R, P> extends SimpleAnnotationValueVisitor6<R, P> {
  266.76 +    /**
  266.77 +     * Constructor for concrete subclasses; uses {@code null} for the
  266.78 +     * default value.
  266.79 +     */
  266.80 +    protected SimpleAnnotationValueVisitor7() {
  266.81 +        super(null);
  266.82 +    }
  266.83 +
  266.84 +    /**
  266.85 +     * Constructor for concrete subclasses; uses the argument for the
  266.86 +     * default value.
  266.87 +     *
  266.88 +     * @param defaultValue the value to assign to {@link #DEFAULT_VALUE}
  266.89 +     */
  266.90 +    protected SimpleAnnotationValueVisitor7(R defaultValue) {
  266.91 +        super(defaultValue);
  266.92 +    }
  266.93 +}
   267.1 --- a/src/share/classes/javax/lang/model/util/SimpleElementVisitor6.java	Thu Jun 17 16:28:21 2010 -0700
   267.2 +++ b/src/share/classes/javax/lang/model/util/SimpleElementVisitor6.java	Mon Jun 21 22:09:18 2010 -0700
   267.3 @@ -71,6 +71,8 @@
   267.4   * @author Joseph D. Darcy
   267.5   * @author Scott Seligman
   267.6   * @author Peter von der Ah&eacute;
   267.7 + *
   267.8 + * @see SimpleElementVisitor7
   267.9   * @since 1.6
  267.10   */
  267.11  @SupportedSourceVersion(RELEASE_6)
   268.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   268.2 +++ b/src/share/classes/javax/lang/model/util/SimpleElementVisitor7.java	Mon Jun 21 22:09:18 2010 -0700
   268.3 @@ -0,0 +1,92 @@
   268.4 +/*
   268.5 + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
   268.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   268.7 + *
   268.8 + * This code is free software; you can redistribute it and/or modify it
   268.9 + * under the terms of the GNU General Public License version 2 only, as
  268.10 + * published by the Free Software Foundation.  Oracle designates this
  268.11 + * particular file as subject to the "Classpath" exception as provided
  268.12 + * by Oracle in the LICENSE file that accompanied this code.
  268.13 + *
  268.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
  268.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  268.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  268.17 + * version 2 for more details (a copy is included in the LICENSE file that
  268.18 + * accompanied this code).
  268.19 + *
  268.20 + * You should have received a copy of the GNU General Public License version
  268.21 + * 2 along with this work; if not, write to the Free Software Foundation,
  268.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  268.23 + *
  268.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  268.25 + * or visit www.oracle.com if you need additional information or have any
  268.26 + * questions.
  268.27 + */
  268.28 +
  268.29 +package javax.lang.model.util;
  268.30 +
  268.31 +import javax.lang.model.element.*;
  268.32 +import javax.annotation.processing.SupportedSourceVersion;
  268.33 +import static javax.lang.model.element.ElementKind.*;
  268.34 +import javax.lang.model.SourceVersion;
  268.35 +import static javax.lang.model.SourceVersion.*;
  268.36 +
  268.37 +/**
  268.38 + * A simple visitor of program elements with default behavior
  268.39 + * appropriate for the {@link SourceVersion#RELEASE_7 RELEASE_7}
  268.40 + * source version.
  268.41 + *
  268.42 + * Visit methods corresponding to {@code RELEASE_7} language
  268.43 + * constructs call {@link #defaultAction}, passing their arguments to
  268.44 + * {@code defaultAction}'s corresponding parameters.
  268.45 + *
  268.46 + * <p> Methods in this class may be overridden subject to their
  268.47 + * general contract.  Note that annotating methods in concrete
  268.48 + * subclasses with {@link java.lang.Override @Override} will help
  268.49 + * ensure that methods are overridden as intended.
  268.50 + *
  268.51 + * <p> <b>WARNING:</b> The {@code ElementVisitor} interface
  268.52 + * implemented by this class may have methods added to it in the
  268.53 + * future to accommodate new, currently unknown, language structures
  268.54 + * added to future versions of the Java&trade; programming language.
  268.55 + * Therefore, methods whose names begin with {@code "visit"} may be
  268.56 + * added to this class in the future; to avoid incompatibilities,
  268.57 + * classes which extend this class should not declare any instance
  268.58 + * methods with names beginning with {@code "visit"}.
  268.59 + *
  268.60 + * <p>When such a new visit method is added, the default
  268.61 + * implementation in this class will be to call the {@link
  268.62 + * #visitUnknown visitUnknown} method.  A new simple element visitor
  268.63 + * class will also be introduced to correspond to the new language
  268.64 + * level; this visitor will have different default behavior for the
  268.65 + * visit method in question.  When the new visitor is introduced, all
  268.66 + * or portions of this visitor may be deprecated.
  268.67 + *
  268.68 + * @param <R> the return type of this visitor's methods.  Use {@code Void}
  268.69 + *             for visitors that do not need to return results.
  268.70 + * @param <P> the type of the additional parameter to this visitor's methods.  Use {@code Void}
  268.71 + *              for visitors that do not need an additional parameter.
  268.72 + *
  268.73 + * @see SimpleElementVisitor6
  268.74 + * @since 1.7
  268.75 + */
  268.76 +@SupportedSourceVersion(RELEASE_7)
  268.77 +public class SimpleElementVisitor7<R, P> extends SimpleElementVisitor6<R, P> {
  268.78 +    /**
  268.79 +     * Constructor for concrete subclasses; uses {@code null} for the
  268.80 +     * default value.
  268.81 +     */
  268.82 +    protected SimpleElementVisitor7(){
  268.83 +        super(null);
  268.84 +    }
  268.85 +
  268.86 +    /**
  268.87 +     * Constructor for concrete subclasses; uses the argument for the
  268.88 +     * default value.
  268.89 +     *
  268.90 +     * @param defaultValue the value to assign to {@link #DEFAULT_VALUE}
  268.91 +     */
  268.92 +    protected SimpleElementVisitor7(R defaultValue){
  268.93 +        super(defaultValue);
  268.94 +    }
  268.95 +}
   269.1 --- a/src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java	Thu Jun 17 16:28:21 2010 -0700
   269.2 +++ b/src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java	Mon Jun 21 22:09:18 2010 -0700
   269.3 @@ -70,6 +70,8 @@
   269.4   * @author Joseph D. Darcy
   269.5   * @author Scott Seligman
   269.6   * @author Peter von der Ah&eacute;
   269.7 + *
   269.8 + * @see SimpleTypeVisitor7
   269.9   * @since 1.6
  269.10   */
  269.11  @SupportedSourceVersion(RELEASE_6)
   270.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   270.2 +++ b/src/share/classes/javax/lang/model/util/SimpleTypeVisitor7.java	Mon Jun 21 22:09:18 2010 -0700
   270.3 @@ -0,0 +1,91 @@
   270.4 +/*
   270.5 + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
   270.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   270.7 + *
   270.8 + * This code is free software; you can redistribute it and/or modify it
   270.9 + * under the terms of the GNU General Public License version 2 only, as
  270.10 + * published by the Free Software Foundation.  Oracle designates this
  270.11 + * particular file as subject to the "Classpath" exception as provided
  270.12 + * by Oracle in the LICENSE file that accompanied this code.
  270.13 + *
  270.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
  270.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  270.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  270.17 + * version 2 for more details (a copy is included in the LICENSE file that
  270.18 + * accompanied this code).
  270.19 + *
  270.20 + * You should have received a copy of the GNU General Public License version
  270.21 + * 2 along with this work; if not, write to the Free Software Foundation,
  270.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  270.23 + *
  270.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  270.25 + * or visit www.oracle.com if you need additional information or have any
  270.26 + * questions.
  270.27 + */
  270.28 +
  270.29 +package javax.lang.model.util;
  270.30 +
  270.31 +import javax.lang.model.type.*;
  270.32 +import javax.annotation.processing.SupportedSourceVersion;
  270.33 +import javax.lang.model.SourceVersion;
  270.34 +import static javax.lang.model.SourceVersion.*;
  270.35 +
  270.36 +/**
  270.37 + * A simple visitor of types with default behavior appropriate for the
  270.38 + * {@link SourceVersion#RELEASE_7 RELEASE_7} source version.
  270.39 + *
  270.40 + * Visit methods corresponding to {@code RELEASE_7} language
  270.41 + * constructs call {@link #defaultAction}, passing their arguments to
  270.42 + * {@code defaultAction}'s corresponding parameters.
  270.43 + *
  270.44 + * <p> Methods in this class may be overridden subject to their
  270.45 + * general contract.  Note that annotating methods in concrete
  270.46 + * subclasses with {@link java.lang.Override @Override} will help
  270.47 + * ensure that methods are overridden as intended.
  270.48 + *
  270.49 + * <p> <b>WARNING:</b> The {@code TypeVisitor} interface implemented
  270.50 + * by this class may have methods added to it in the future to
  270.51 + * accommodate new, currently unknown, language structures added to
  270.52 + * future versions of the Java&trade; programming language.
  270.53 + * Therefore, methods whose names begin with {@code "visit"} may be
  270.54 + * added to this class in the future; to avoid incompatibilities,
  270.55 + * classes which extend this class should not declare any instance
  270.56 + * methods with names beginning with {@code "visit"}.
  270.57 + *
  270.58 + * <p>When such a new visit method is added, the default
  270.59 + * implementation in this class will be to call the {@link
  270.60 + * #visitUnknown visitUnknown} method.  A new simple type visitor
  270.61 + * class will also be introduced to correspond to the new language
  270.62 + * level; this visitor will have different default behavior for the
  270.63 + * visit method in question.  When the new visitor is introduced, all
  270.64 + * or portions of this visitor may be deprecated.
  270.65 + *
  270.66 + * @param <R> the return type of this visitor's methods.  Use {@link
  270.67 + *            Void} for visitors that do not need to return results.
  270.68 + * @param <P> the type of the additional parameter to this visitor's
  270.69 + *            methods.  Use {@code Void} for visitors that do not need an
  270.70 + *            additional parameter.
  270.71 + *
  270.72 + * @see SimpleTypeVisitor6
  270.73 + * @since 1.7
  270.74 + */
  270.75 +@SupportedSourceVersion(RELEASE_7)
  270.76 +public class SimpleTypeVisitor7<R, P> extends SimpleTypeVisitor6<R, P> {
  270.77 +    /**
  270.78 +     * Constructor for concrete subclasses; uses {@code null} for the
  270.79 +     * default value.
  270.80 +     */
  270.81 +    protected SimpleTypeVisitor7(){
  270.82 +        super(null);
  270.83 +    }
  270.84 +
  270.85 +    /**
  270.86 +     * Constructor for concrete subclasses; uses the argument for the
  270.87 +     * default value.
  270.88 +     *
  270.89 +     * @param defaultValue the value to assign to {@link #DEFAULT_VALUE}
  270.90 +     */
  270.91 +    protected SimpleTypeVisitor7(R defaultValue){
  270.92 +        super(defaultValue);
  270.93 +    }
  270.94 +}
   271.1 --- a/src/share/classes/javax/lang/model/util/TypeKindVisitor6.java	Thu Jun 17 16:28:21 2010 -0700
   271.2 +++ b/src/share/classes/javax/lang/model/util/TypeKindVisitor6.java	Mon Jun 21 22:09:18 2010 -0700
   271.3 @@ -74,6 +74,8 @@
   271.4   * @author Joseph D. Darcy
   271.5   * @author Scott Seligman
   271.6   * @author Peter von der Ah&eacute;
   271.7 + *
   271.8 + * @see TypeKindVisitor7
   271.9   * @since 1.6
  271.10   */
  271.11  @SupportedSourceVersion(RELEASE_6)
   272.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   272.2 +++ b/src/share/classes/javax/lang/model/util/TypeKindVisitor7.java	Mon Jun 21 22:09:18 2010 -0700
   272.3 @@ -0,0 +1,95 @@
   272.4 +/*
   272.5 + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
   272.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   272.7 + *
   272.8 + * This code is free software; you can redistribute it and/or modify it
   272.9 + * under the terms of the GNU General Public License version 2 only, as
  272.10 + * published by the Free Software Foundation.  Oracle designates this
  272.11 + * particular file as subject to the "Classpath" exception as provided
  272.12 + * by Oracle in the LICENSE file that accompanied this code.
  272.13 + *
  272.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
  272.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  272.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  272.17 + * version 2 for more details (a copy is included in the LICENSE file that
  272.18 + * accompanied this code).
  272.19 + *
  272.20 + * You should have received a copy of the GNU General Public License version
  272.21 + * 2 along with this work; if not, write to the Free Software Foundation,
  272.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  272.23 + *
  272.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  272.25 + * or visit www.oracle.com if you need additional information or have any
  272.26 + * questions.
  272.27 + */
  272.28 +
  272.29 +package javax.lang.model.util;
  272.30 +
  272.31 +import javax.lang.model.type.*;
  272.32 +import javax.annotation.processing.SupportedSourceVersion;
  272.33 +import static javax.lang.model.element.ElementKind.*;
  272.34 +import static javax.lang.model.SourceVersion.*;
  272.35 +import javax.lang.model.SourceVersion;
  272.36 +
  272.37 +/**
  272.38 + * A visitor of types based on their {@linkplain TypeKind kind} with
  272.39 + * default behavior appropriate for the {@link SourceVersion#RELEASE_7
  272.40 + * RELEASE_7} source version.  For {@linkplain
  272.41 + * TypeMirror types} <tt><i>XYZ</i></tt> that may have more than one
  272.42 + * kind, the <tt>visit<i>XYZ</i></tt> methods in this class delegate
  272.43 + * to the <tt>visit<i>XYZKind</i></tt> method corresponding to the
  272.44 + * first argument's kind.  The <tt>visit<i>XYZKind</i></tt> methods
  272.45 + * call {@link #defaultAction defaultAction}, passing their arguments
  272.46 + * to {@code defaultAction}'s corresponding parameters.
  272.47 + *
  272.48 + * <p> Methods in this class may be overridden subject to their
  272.49 + * general contract.  Note that annotating methods in concrete
  272.50 + * subclasses with {@link java.lang.Override @Override} will help
  272.51 + * ensure that methods are overridden as intended.
  272.52 + *
  272.53 + * <p> <b>WARNING:</b> The {@code TypeVisitor} interface implemented
  272.54 + * by this class may have methods added to it in the future to
  272.55 + * accommodate new, currently unknown, language structures added to
  272.56 + * future versions of the Java&trade; programming language.
  272.57 + * Therefore, methods whose names begin with {@code "visit"} may be
  272.58 + * added to this class in the future; to avoid incompatibilities,
  272.59 + * classes which extend this class should not declare any instance
  272.60 + * methods with names beginning with {@code "visit"}.
  272.61 + *
  272.62 + * <p>When such a new visit method is added, the default
  272.63 + * implementation in this class will be to call the {@link
  272.64 + * #visitUnknown visitUnknown} method.  A new type kind visitor class
  272.65 + * will also be introduced to correspond to the new language level;
  272.66 + * this visitor will have different default behavior for the visit
  272.67 + * method in question.  When the new visitor is introduced, all or
  272.68 + * portions of this visitor may be deprecated.
  272.69 + *
  272.70 + * @param <R> the return type of this visitor's methods.  Use {@link
  272.71 + *            Void} for visitors that do not need to return results.
  272.72 + * @param <P> the type of the additional parameter to this visitor's
  272.73 + *            methods.  Use {@code Void} for visitors that do not need an
  272.74 + *            additional parameter.
  272.75 + *
  272.76 + * @see TypeKindVisitor6
  272.77 + * @since 1.7
  272.78 + */
  272.79 +@SupportedSourceVersion(RELEASE_7)
  272.80 +public class TypeKindVisitor7<R, P> extends TypeKindVisitor6<R, P> {
  272.81 +    /**
  272.82 +     * Constructor for concrete subclasses to call; uses {@code null}
  272.83 +     * for the default value.
  272.84 +     */
  272.85 +    protected TypeKindVisitor7() {
  272.86 +        super(null);
  272.87 +    }
  272.88 +
  272.89 +    /**
  272.90 +     * Constructor for concrete subclasses to call; uses the argument
  272.91 +     * for the default value.
  272.92 +     *
  272.93 +     * @param defaultValue the value to assign to {@link #DEFAULT_VALUE}
  272.94 +     */
  272.95 +    protected TypeKindVisitor7(R defaultValue) {
  272.96 +        super(defaultValue);
  272.97 +    }
  272.98 +}
   273.1 --- a/src/share/classes/javax/tools/JavaFileManager.java	Thu Jun 17 16:28:21 2010 -0700
   273.2 +++ b/src/share/classes/javax/tools/JavaFileManager.java	Mon Jun 21 22:09:18 2010 -0700
   273.3 @@ -256,7 +256,7 @@
   273.4       *
   273.5       * <p>Optionally, this file manager might consider the sibling as
   273.6       * a hint for where to place the output.  The exact semantics of
   273.7 -     * this hint is unspecified.  Sun's compiler, javac, for
   273.8 +     * this hint is unspecified.  The JDK compiler, javac, for
   273.9       * example, will place class files in the same directories as
  273.10       * originating source files unless a class file output directory
  273.11       * is provided.  To facilitate this behavior, javac might provide
  273.12 @@ -338,7 +338,7 @@
  273.13       *
  273.14       * <p>Optionally, this file manager might consider the sibling as
  273.15       * a hint for where to place the output.  The exact semantics of
  273.16 -     * this hint is unspecified.  Sun's compiler, javac, for
  273.17 +     * this hint is unspecified.  The JDK compiler, javac, for
  273.18       * example, will place class files in the same directories as
  273.19       * originating source files unless a class file output directory
  273.20       * is provided.  To facilitate this behavior, javac might provide
   274.1 --- a/src/share/sample/javac/processing/src/CheckNamesProcessor.java	Thu Jun 17 16:28:21 2010 -0700
   274.2 +++ b/src/share/sample/javac/processing/src/CheckNamesProcessor.java	Mon Jun 21 22:09:18 2010 -0700
   274.3 @@ -138,7 +138,7 @@
   274.4      public SourceVersion getSupportedSourceVersion() {
   274.5          /*
   274.6           * Return latest source version instead of a fixed version
   274.7 -         * like RELEASE_6.  To return a fixed version, this class
   274.8 +         * like RELEASE_7.  To return a fixed version, this class
   274.9           * could be annotated with a SupportedSourceVersion
  274.10           * annotation.
  274.11           *
  274.12 @@ -190,7 +190,7 @@
  274.13          /**
  274.14           * Visitor to implement name checks.
  274.15           */
  274.16 -        private class NameCheckScanner extends ElementScanner6<Void, Void> {
  274.17 +        private class NameCheckScanner extends ElementScanner7<Void, Void> {
  274.18              // The visitor could be enhanced to return true/false if
  274.19              // there were warnings reported or a count of the number
  274.20              // of warnings.  This could be facilitated by using
  274.21 @@ -312,7 +312,7 @@
  274.22              @Override
  274.23              public Void visitUnknown(Element e, Void p) {
  274.24                  // This method will be called if a kind of element
  274.25 -                // added after JDK 6 is visited.  Since as of this
  274.26 +                // added after JDK 7 is visited.  Since as of this
  274.27                  // writing the conventions for such constructs aren't
  274.28                  // known, issue a warning.
  274.29                  messager.printMessage(WARNING,
   275.1 --- a/test/tools/apt/mirror/declaration/pkg1/pkg2/package.html	Thu Jun 17 16:28:21 2010 -0700
   275.2 +++ b/test/tools/apt/mirror/declaration/pkg1/pkg2/package.html	Mon Jun 21 22:09:18 2010 -0700
   275.3 @@ -24,7 +24,6 @@
   275.4  Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   275.5  or visit www.oracle.com if you need additional information or have any
   275.6  questions.
   275.7 -
   275.8  -->
   275.9  
  275.10  </head>
   276.1 --- a/test/tools/javac/6402516/CheckLocalElements.java	Thu Jun 17 16:28:21 2010 -0700
   276.2 +++ b/test/tools/javac/6402516/CheckLocalElements.java	Mon Jun 21 22:09:18 2010 -0700
   276.3 @@ -95,7 +95,7 @@
   276.4          return encl == null ? "" : encl.accept(qualNameVisitor, null);
   276.5      }
   276.6  
   276.7 -    private ElementVisitor<String,Void> qualNameVisitor = new SimpleElementVisitor6<String,Void>() {
   276.8 +    private ElementVisitor<String,Void> qualNameVisitor = new SimpleElementVisitor7<String,Void>() {
   276.9          protected String defaultAction(Element e, Void ignore) {
  276.10              return "";
  276.11          }
   277.1 --- a/test/tools/javac/6948381/T6948381.java	Thu Jun 17 16:28:21 2010 -0700
   277.2 +++ b/test/tools/javac/6948381/T6948381.java	Mon Jun 21 22:09:18 2010 -0700
   277.3 @@ -1,5 +1,5 @@
   277.4  /*
   277.5 - * Copyright 2010 Sun Microsystems, Inc.  All Rights Reserved.
   277.6 + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
   277.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   277.8   *
   277.9   * This code is free software; you can redistribute it and/or modify it
  277.10 @@ -16,9 +16,9 @@
  277.11   * 2 along with this work; if not, write to the Free Software Foundation,
  277.12   * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  277.13   *
  277.14 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  277.15 - * CA 95054 USA or visit www.sun.com if you need additional information or
  277.16 - * have any questions.
  277.17 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  277.18 + * or visit www.oracle.com if you need additional information or have any
  277.19 + * questions.
  277.20   */
  277.21  
  277.22  /**
   278.1 --- a/test/tools/javac/6948381/npe/A.java	Thu Jun 17 16:28:21 2010 -0700
   278.2 +++ b/test/tools/javac/6948381/npe/A.java	Mon Jun 21 22:09:18 2010 -0700
   278.3 @@ -1,5 +1,5 @@
   278.4  /*
   278.5 - * Copyright 2010 Sun Microsystems, Inc.  All Rights Reserved.
   278.6 + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
   278.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   278.8   *
   278.9   * This code is free software; you can redistribute it and/or modify it
  278.10 @@ -16,9 +16,9 @@
  278.11   * 2 along with this work; if not, write to the Free Software Foundation,
  278.12   * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  278.13   *
  278.14 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  278.15 - * CA 95054 USA or visit www.sun.com if you need additional information or
  278.16 - * have any questions.
  278.17 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  278.18 + * or visit www.oracle.com if you need additional information or have any
  278.19 + * questions.
  278.20   */
  278.21  
  278.22  package npe;
   279.1 --- a/test/tools/javac/6948381/npe/B.java	Thu Jun 17 16:28:21 2010 -0700
   279.2 +++ b/test/tools/javac/6948381/npe/B.java	Mon Jun 21 22:09:18 2010 -0700
   279.3 @@ -1,5 +1,5 @@
   279.4  /*
   279.5 - * Copyright 2010 Sun Microsystems, Inc.  All Rights Reserved.
   279.6 + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
   279.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   279.8   *
   279.9   * This code is free software; you can redistribute it and/or modify it
  279.10 @@ -16,9 +16,9 @@
  279.11   * 2 along with this work; if not, write to the Free Software Foundation,
  279.12   * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  279.13   *
  279.14 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  279.15 - * CA 95054 USA or visit www.sun.com if you need additional information or
  279.16 - * have any questions.
  279.17 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  279.18 + * or visit www.oracle.com if you need additional information or have any
  279.19 + * questions.
  279.20   */
  279.21  
  279.22  package npe;
   280.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   280.2 +++ b/test/tools/javac/T6956638.java	Mon Jun 21 22:09:18 2010 -0700
   280.3 @@ -0,0 +1,156 @@
   280.4 +/*
   280.5 + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
   280.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   280.7 + *
   280.8 + * This code is free software; you can redistribute it and/or modify it
   280.9 + * under the terms of the GNU General Public License version 2 only, as
  280.10 + * published by the Free Software Foundation.
  280.11 + *
  280.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  280.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  280.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  280.15 + * version 2 for more details (a copy is included in the LICENSE file that
  280.16 + * accompanied this code).
  280.17 + *
  280.18 + * You should have received a copy of the GNU General Public License version
  280.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  280.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  280.21 + *
  280.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  280.23 + * or visit www.oracle.com if you need additional information or have any
  280.24 + * questions.
  280.25 + */
  280.26 +
  280.27 +import java.io.BufferedWriter;
  280.28 +import java.io.File;
  280.29 +import java.io.FileWriter;
  280.30 +import java.io.IOException;
  280.31 +import java.io.StringWriter;
  280.32 +import java.util.Arrays;
  280.33 +import java.util.Iterator;
  280.34 +import java.util.List;
  280.35 +
  280.36 +import javax.lang.model.element.Element;
  280.37 +import javax.tools.DiagnosticCollector;
  280.38 +import javax.tools.JavaCompiler;
  280.39 +import javax.tools.JavaFileObject;
  280.40 +import javax.tools.StandardJavaFileManager;
  280.41 +import javax.tools.ToolProvider;
  280.42 +
  280.43 +import com.sun.source.tree.CompilationUnitTree;
  280.44 +import com.sun.source.util.JavacTask;
  280.45 +
  280.46 +/**
  280.47 + * @test
  280.48 + * @bug 6956638
  280.49 + * @summary JavacTask.generate does not generate all required files
  280.50 + */
  280.51 +public class T6956638 {
  280.52 +    public static void main(String[] args) throws Exception {
  280.53 +        new T6956638().run();
  280.54 +    }
  280.55 +
  280.56 +    void run() throws Exception {
  280.57 +        File srcDir = new File("src");
  280.58 +
  280.59 +        File[] files = {
  280.60 +            writeFile(new File(srcDir, "T1.java"),
  280.61 +                "public class T1 extends T2 {}\n"),
  280.62 +            writeFile(new File(srcDir, "T2.java"),
  280.63 +                "public class T2 extends T3 {}\n"),
  280.64 +            writeFile(new File(srcDir, "T3.java"),
  280.65 +                "public class T3 { public static final int C = 1; }\n"),
  280.66 +            writeFile(new File(srcDir, "Test.java"),
  280.67 +                "public class Test { public static final int D = T1.C; }\n")
  280.68 +        };
  280.69 +
  280.70 +        for (File f1: files) {
  280.71 +            for (File f2: files) {
  280.72 +                if (f2 == f1) continue;
  280.73 +                for (File f3: files) {
  280.74 +                    if (f3 == f2 || f3 == f1) continue;
  280.75 +                    for (File f4: files) {
  280.76 +                        if (f4 == f3 || f4 == f2 || f4 == f1) continue;
  280.77 +                        try {
  280.78 +                            test(f1, f2, f3, f4);
  280.79 +                        } catch (Exception e) {
  280.80 +                            error(e);
  280.81 +                        }
  280.82 +                    }
  280.83 +                }
  280.84 +            }
  280.85 +        }
  280.86 +
  280.87 +        if (errors > 0)
  280.88 +            throw new Exception(errors + " tests failed");
  280.89 +    }
  280.90 +
  280.91 +    void test(File... sourceFiles) throws Exception {
  280.92 +        System.err.println("Test " + (++count) + ": " + Arrays.asList(sourceFiles));
  280.93 +
  280.94 +        File classesDir = new File("classes" + count);
  280.95 +        classesDir.mkdirs();
  280.96 +
  280.97 +        StringWriter compilerOutputStream = new StringWriter();
  280.98 +
  280.99 +        List<String> compileOptions = Arrays.asList("-d", classesDir.getPath());
 280.100 +        JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
 280.101 +        DiagnosticCollector<JavaFileObject> diagnosticCollector = new DiagnosticCollector<JavaFileObject>();
 280.102 +        StandardJavaFileManager fileManager = compiler.getStandardFileManager(diagnosticCollector, null, null);
 280.103 +        Iterable<? extends JavaFileObject> sourceFileObjects = fileManager.getJavaFileObjects(sourceFiles);
 280.104 +        System.err.println("1- javac given java source JavaFileObjects " + sourceFileObjects);
 280.105 +        JavaCompiler.CompilationTask task = compiler.getTask(compilerOutputStream, fileManager, null, compileOptions, null, sourceFileObjects);
 280.106 +        JavacTask javacTask = (JavacTask) task;
 280.107 +
 280.108 +        Iterable<? extends CompilationUnitTree> parsedTrees = javacTask.parse();
 280.109 +        Iterable<? extends Element> analyzedTrees = javacTask.analyze();
 280.110 +        Iterable<? extends JavaFileObject> generatedFiles = javacTask.generate();
 280.111 +
 280.112 +        System.err.println("2- parsed:" + size(parsedTrees) + " analysed:" + size(analyzedTrees) + " generated:" + size(generatedFiles));
 280.113 +
 280.114 +        System.err.print("3-");
 280.115 +        for (JavaFileObject f : generatedFiles)
 280.116 +            System.err.print(" " + f);
 280.117 +        System.err.println("");
 280.118 +
 280.119 +        System.err.print("5-");
 280.120 +        for (File f : classesDir.listFiles())
 280.121 +            System.err.print(" " + f);
 280.122 +        System.err.println("");
 280.123 +
 280.124 +        System.err.println("----");
 280.125 +        System.err.println(compilerOutputStream.toString());
 280.126 +
 280.127 +        if (size(generatedFiles) != size(parsedTrees)) {
 280.128 +            throw new Exception("wrong number of files generated: " + size(generatedFiles)
 280.129 +                    + " expected: " + size(parsedTrees));
 280.130 +        }
 280.131 +    }
 280.132 +
 280.133 +    private void error(Throwable t) {
 280.134 +        t.printStackTrace();
 280.135 +        errors++;
 280.136 +    }
 280.137 +
 280.138 +    int count;
 280.139 +    int errors;
 280.140 +
 280.141 +    private static <E> int size(Iterable<E> x) {
 280.142 +        int n = 0;
 280.143 +        for (Iterator<E> iter = x.iterator(); iter.hasNext(); ++n)
 280.144 +            iter.next();
 280.145 +        return n;
 280.146 +    }
 280.147 +
 280.148 +    private static File writeFile(File f, String str) throws IOException {
 280.149 +        f.getParentFile().mkdirs();
 280.150 +        BufferedWriter fout = new BufferedWriter(new FileWriter(f));
 280.151 +        try {
 280.152 +            fout.write(str);
 280.153 +            fout.flush();
 280.154 +        } finally {
 280.155 +            fout.close();
 280.156 +        }
 280.157 +        return f;
 280.158 +    }
 280.159 +}
   281.1 --- a/test/tools/javac/api/TestOperators.java	Thu Jun 17 16:28:21 2010 -0700
   281.2 +++ b/test/tools/javac/api/TestOperators.java	Mon Jun 21 22:09:18 2010 -0700
   281.3 @@ -299,7 +299,7 @@
   281.4          final Trees trees = Trees.instance(processingEnv);
   281.5          final Messager log = processingEnv.getMessager();
   281.6          final Elements elements = processingEnv.getElementUtils();
   281.7 -        class Scan extends ElementScanner6<Void,Void> {
   281.8 +        class Scan extends ElementScanner7<Void,Void> {
   281.9              @Override
  281.10              public Void visitExecutable(ExecutableElement e, Void p) {
  281.11                  Object debug = e; // info for exception handler
   282.1 --- a/test/tools/javac/api/evalexpr/ByteArrayClassLoader.java	Thu Jun 17 16:28:21 2010 -0700
   282.2 +++ b/test/tools/javac/api/evalexpr/ByteArrayClassLoader.java	Mon Jun 21 22:09:18 2010 -0700
   282.3 @@ -28,7 +28,7 @@
   282.4  /**
   282.5   * A class loader which loads classes from byte arrays.
   282.6   *
   282.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   282.8 + * <p><b>This is NOT part of any supported API.
   282.9   * If you write code that depends on this, you do so at your own
  282.10   * risk.  This code and its internal interfaces are subject to change
  282.11   * or deletion without notice.</b></p>
   283.1 --- a/test/tools/javac/api/evalexpr/CompileFromString.java	Thu Jun 17 16:28:21 2010 -0700
   283.2 +++ b/test/tools/javac/api/evalexpr/CompileFromString.java	Mon Jun 21 22:09:18 2010 -0700
   283.3 @@ -32,7 +32,7 @@
   283.4  /**
   283.5   * JSR 199 Demo application: compile from a String.
   283.6   *
   283.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   283.8 + * <p><b>This is NOT part of any supported API.
   283.9   * If you write code that depends on this, you do so at your own
  283.10   * risk.  This code and its internal interfaces are subject to change
  283.11   * or deletion without notice.</b></p>
   284.1 --- a/test/tools/javac/api/evalexpr/MemoryFileManager.java	Thu Jun 17 16:28:21 2010 -0700
   284.2 +++ b/test/tools/javac/api/evalexpr/MemoryFileManager.java	Mon Jun 21 22:09:18 2010 -0700
   284.3 @@ -43,7 +43,7 @@
   284.4   * This file manager delegates to another file manager
   284.5   * to lookup classes on boot class path.
   284.6   *
   284.7 - * <p><b>This is NOT part of any API supported by Sun Microsystems.
   284.8 + * <p><b>This is NOT part of any supported API.
   284.9   * If you write code that depends on this, you do so at your own
  284.10   * risk.  This code and its internal interfaces are subject to change
  284.11   * or deletion without notice.</b></p>
   285.1 --- a/test/tools/javac/enum/6424358/T6424358.java	Thu Jun 17 16:28:21 2010 -0700
   285.2 +++ b/test/tools/javac/enum/6424358/T6424358.java	Mon Jun 21 22:09:18 2010 -0700
   285.3 @@ -48,7 +48,7 @@
   285.4          final Messager log = processingEnv.getMessager();
   285.5          final Elements elements = processingEnv.getElementUtils();
   285.6          final TypeElement testMe = elements.getTypeElement("TestMe");
   285.7 -        class Scan extends ElementScanner6<Void,Void> {
   285.8 +        class Scan extends ElementScanner7<Void,Void> {
   285.9              @Override
  285.10              public Void visitExecutable(ExecutableElement e, Void p) {
  285.11                  System.err.println("Looking at " + e);
   286.1 --- a/test/tools/javac/generics/diamond/T6951833.java	Thu Jun 17 16:28:21 2010 -0700
   286.2 +++ b/test/tools/javac/generics/diamond/T6951833.java	Mon Jun 21 22:09:18 2010 -0700
   286.3 @@ -1,5 +1,5 @@
   286.4  /*
   286.5 - * Copyright 2010 Sun Microsystems, Inc.  All Rights Reserved.
   286.6 + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
   286.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   286.8   *
   286.9   * This code is free software; you can redistribute it and/or modify it
  286.10 @@ -16,9 +16,9 @@
  286.11   * 2 along with this work; if not, write to the Free Software Foundation,
  286.12   * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  286.13   *
  286.14 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  286.15 - * CA 95054 USA or visit www.sun.com if you need additional information or
  286.16 - * have any questions.
  286.17 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  286.18 + * or visit www.oracle.com if you need additional information or have any
  286.19 + * questions.
  286.20   */
  286.21  
  286.22  /*
   287.1 --- a/test/tools/javac/generics/typevars/T6880344.java	Thu Jun 17 16:28:21 2010 -0700
   287.2 +++ b/test/tools/javac/generics/typevars/T6880344.java	Mon Jun 21 22:09:18 2010 -0700
   287.3 @@ -1,5 +1,5 @@
   287.4  /*
   287.5 - * Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
   287.6 + * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
   287.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   287.8   *
   287.9   * This code is free software; you can redistribute it and/or modify it
  287.10 @@ -16,9 +16,9 @@
  287.11   * 2 along with this work; if not, write to the Free Software Foundation,
  287.12   * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  287.13   *
  287.14 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  287.15 - * CA 95054 USA or visit www.sun.com if you need additional information or
  287.16 - * have any questions.
  287.17 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  287.18 + * or visit www.oracle.com if you need additional information or have any
  287.19 + * questions.
  287.20   */
  287.21  
  287.22  /*
   288.1 --- a/test/tools/javac/processing/model/6194785/T6194785.java	Thu Jun 17 16:28:21 2010 -0700
   288.2 +++ b/test/tools/javac/processing/model/6194785/T6194785.java	Mon Jun 21 22:09:18 2010 -0700
   288.3 @@ -43,7 +43,7 @@
   288.4      {
   288.5          final Messager log = processingEnv.getMessager();
   288.6          final Elements elements = processingEnv.getElementUtils();
   288.7 -        class Scan extends ElementScanner6<Void,Void> {
   288.8 +        class Scan extends ElementScanner7<Void,Void> {
   288.9              @Override
  288.10              public Void visitExecutable(ExecutableElement e, Void ignored) {
  288.11                  for (VariableElement p : e.getParameters())
   289.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   289.2 +++ b/test/tools/javac/processing/model/type/MirroredTypeEx/Plurality.java	Mon Jun 21 22:09:18 2010 -0700
   289.3 @@ -0,0 +1,192 @@
   289.4 +/*
   289.5 + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
   289.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   289.7 + *
   289.8 + * This code is free software; you can redistribute it and/or modify it
   289.9 + * under the terms of the GNU General Public License version 2 only, as
  289.10 + * published by the Free Software Foundation.
  289.11 + *
  289.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  289.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  289.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  289.15 + * version 2 for more details (a copy is included in the LICENSE file that
  289.16 + * accompanied this code).
  289.17 + *
  289.18 + * You should have received a copy of the GNU General Public License version
  289.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  289.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  289.21 + *
  289.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  289.23 + * or visit www.oracle.com if you need additional information or have any
  289.24 + * questions.
  289.25 + */
  289.26 +
  289.27 +/*
  289.28 + * @test
  289.29 + * @bug     6519115
  289.30 + * @summary Verify MirroredTypeException vs MirroredTypesException is thrown
  289.31 + * @compile Plurality.java
  289.32 + * @compile -processor Plurality -proc:only Plurality.java
  289.33 + * @author  Joseph D. Darcy
  289.34 + */
  289.35 +import java.lang.annotation.*;
  289.36 +import java.math.BigDecimal;
  289.37 +import java.util.*;
  289.38 +import javax.annotation.processing.*;
  289.39 +import javax.lang.model.*;
  289.40 +import javax.lang.model.element.*;
  289.41 +import javax.lang.model.type.*;
  289.42 +import javax.lang.model.util.*;
  289.43 +
  289.44 +@SupportedAnnotationTypes("*")
  289.45 +@P0
  289.46 +@P1
  289.47 +@P2
  289.48 +@S1
  289.49 +public class Plurality extends AbstractProcessor {
  289.50 +    private boolean executed = false;
  289.51 +
  289.52 +    Elements elements;
  289.53 +    Types types;
  289.54 +
  289.55 +    @Override
  289.56 +    public void init(ProcessingEnvironment penv) {
  289.57 +        super.init(penv);
  289.58 +        elements = penv.getElementUtils();
  289.59 +        types =  penv.getTypeUtils();
  289.60 +    }
  289.61 +
  289.62 +
  289.63 +    public boolean process(Set<? extends TypeElement> annotations,
  289.64 +                           RoundEnvironment roundEnv) {
  289.65 +        if (!roundEnv.processingOver()) {
  289.66 +            executed = true;
  289.67 +            // Processing just this type
  289.68 +            Element e = elements.getTypeElement("Plurality");
  289.69 +            Class[] classes = null;
  289.70 +
  289.71 +            P0 p0 = e.getAnnotation(P0.class);
  289.72 +            try {
  289.73 +                classes = p0.value();
  289.74 +            } catch (MirroredTypesException mtse) {
  289.75 +                if (mtse instanceof MirroredTypeException) {
  289.76 +                    throw new RuntimeException("Wrong exception type!");
  289.77 +                }
  289.78 +
  289.79 +                List<? extends TypeMirror> types = mtse.getTypeMirrors();
  289.80 +                if (types.size() != 0)
  289.81 +                    throw new RuntimeException("List size != 0: " +
  289.82 +                                               types);
  289.83 +            }
  289.84 +
  289.85 +            P1 p1 = e.getAnnotation(P1.class);
  289.86 +            try {
  289.87 +                classes = p1.value();
  289.88 +            } catch (MirroredTypesException mtse) {
  289.89 +                if (mtse instanceof MirroredTypeException) {
  289.90 +                    throw new RuntimeException("Wrong exception type!");
  289.91 +                }
  289.92 +
  289.93 +                List<? extends TypeMirror> types = mtse.getTypeMirrors();
  289.94 +                if (types.size() != 1)
  289.95 +                    throw new RuntimeException("List size != 1: " +
  289.96 +                                               types);
  289.97 +                checkTypeListMatchesClasses(types,
  289.98 +                                            this.getClass().getAnnotation(P1.class).value());
  289.99 +            }
 289.100 +
 289.101 +
 289.102 +            P2 p2 = e.getAnnotation(P2.class);
 289.103 +            try {
 289.104 +                classes = p2.value();
 289.105 +            } catch(MirroredTypesException mtse) {
 289.106 +                if (mtse instanceof MirroredTypeException) {
 289.107 +                    throw new RuntimeException("Wrong exception type!");
 289.108 +                }
 289.109 +
 289.110 +                List<? extends TypeMirror> types = mtse.getTypeMirrors();
 289.111 +                if (types.size() != 2)
 289.112 +                    throw new RuntimeException("List size != 2: " +
 289.113 +                                               types);
 289.114 +                checkTypeListMatchesClasses(types,
 289.115 +                                            this.getClass().getAnnotation(P2.class).value());
 289.116 +            }
 289.117 +
 289.118 +            Class<?> clazz = null;
 289.119 +            S1 s1 = e.getAnnotation(S1.class);
 289.120 +            try {
 289.121 +                clazz = s1.value();
 289.122 +            } catch(MirroredTypesException mtse) {
 289.123 +                List<? extends TypeMirror> types = mtse.getTypeMirrors();
 289.124 +                if (types.size() != 1)
 289.125 +                    throw new RuntimeException("List size != 1: " +
 289.126 +                                               types);
 289.127 +                Class<?>[] clazzes = new Class<?>[1];
 289.128 +                clazzes[0] = this.getClass().getAnnotation(S1.class).value();
 289.129 +                checkTypeListMatchesClasses(types,
 289.130 +                                            clazzes);
 289.131 +            }
 289.132 +
 289.133 +            try {
 289.134 +                clazz = s1.value();
 289.135 +            } catch(MirroredTypeException mte) {
 289.136 +                TypeMirror type = mte.getTypeMirror();
 289.137 +                if (type == null) {
 289.138 +                    throw new RuntimeException("Expected null");
 289.139 +                }
 289.140 +                List<TypeMirror> types = new ArrayList<>();
 289.141 +                types.add(type);
 289.142 +                Class<?>[] clazzes = new Class<?>[1];
 289.143 +                clazzes[0] = this.getClass().getAnnotation(S1.class).value();
 289.144 +                checkTypeListMatchesClasses(types, clazzes);
 289.145 +            }
 289.146 +        } else {
 289.147 +            if (!executed) {
 289.148 +                throw new RuntimeException("Didn't seem to do anything!");
 289.149 +            }
 289.150 +        }
 289.151 +        return true;
 289.152 +    }
 289.153 +
 289.154 +    private static void checkTypeListMatchesClasses(List<? extends TypeMirror> types,
 289.155 +                                               Class<?>[] classes) {
 289.156 +        if (types.size() != classes.length)
 289.157 +            throw new RuntimeException("Size mismatch:\n\t" + types +
 289.158 +                                       "\n\t" + Arrays.toString(classes));
 289.159 +        int i = -1;
 289.160 +        for(Class<?> clazz : classes) {
 289.161 +            i++;
 289.162 +            String canonicalName = clazz.getCanonicalName();
 289.163 +            String toStringName = types.get(i).toString();
 289.164 +            if (!canonicalName.equals(toStringName))
 289.165 +                throw new RuntimeException("Mismatched names: " +
 289.166 +                                           canonicalName + "\t" +
 289.167 +                                           toStringName);
 289.168 +        }
 289.169 +    }
 289.170 +
 289.171 +    @Override
 289.172 +    public SourceVersion getSupportedSourceVersion() {
 289.173 +        return SourceVersion.latest();
 289.174 +    }
 289.175 +}
 289.176 +
 289.177 +@Retention(RetentionPolicy.RUNTIME)
 289.178 +@interface P0 {
 289.179 +    Class[] value() default {};
 289.180 +}
 289.181 +
 289.182 +@Retention(RetentionPolicy.RUNTIME)
 289.183 +@interface P1 {
 289.184 +    Class[] value() default {Integer.class};
 289.185 +}
 289.186 +
 289.187 +@Retention(RetentionPolicy.RUNTIME)
 289.188 +@interface P2 {
 289.189 +    Class[] value() default {String.class, Number.class};
 289.190 +}
 289.191 +
 289.192 +@Retention(RetentionPolicy.RUNTIME)
 289.193 +@interface S1 {
 289.194 +    Class value() default BigDecimal.class;
 289.195 +}
   290.1 --- a/test/tools/javac/processing/model/type/NoTypes.java	Thu Jun 17 16:28:21 2010 -0700
   290.2 +++ b/test/tools/javac/processing/model/type/NoTypes.java	Mon Jun 21 22:09:18 2010 -0700
   290.3 @@ -89,7 +89,7 @@
   290.4          verifyKind(NONE, types.getNoType(NONE));
   290.5  
   290.6          // The return type of a constructor or void method is VOID.
   290.7 -        class Scanner extends ElementScanner6<Void, Void> {
   290.8 +        class Scanner extends ElementScanner7<Void, Void> {
   290.9              @Override
  290.10              public Void visitExecutable(ExecutableElement e, Void p) {
  290.11                  verifyKind(VOID, e.getReturnType());
  290.12 @@ -104,10 +104,10 @@
  290.13  
  290.14      /**
  290.15       * Verify that a NoType instance is of a particular kind,
  290.16 -     * and that TypeKindVisitor6 properly dispatches on it.
  290.17 +     * and that TypeKindVisitor7 properly dispatches on it.
  290.18       */
  290.19      private void verifyKind(TypeKind kind, TypeMirror type) {
  290.20 -        class Vis extends TypeKindVisitor6<TypeKind, Void> {
  290.21 +        class Vis extends TypeKindVisitor7<TypeKind, Void> {
  290.22              @Override
  290.23              public TypeKind visitNoTypeAsVoid(NoType t, Void p) {
  290.24                  return VOID;
   291.1 --- a/test/tools/javac/processing/model/util/deprecation/TestDeprecation.java	Thu Jun 17 16:28:21 2010 -0700
   291.2 +++ b/test/tools/javac/processing/model/util/deprecation/TestDeprecation.java	Mon Jun 21 22:09:18 2010 -0700
   291.3 @@ -67,7 +67,7 @@
   291.4          return true;
   291.5      }
   291.6  
   291.7 -    private class DeprecationChecker extends ElementScanner6<Boolean,Void> {
   291.8 +    private class DeprecationChecker extends ElementScanner7<Boolean,Void> {
   291.9          private Elements elementUtils;
  291.10          private boolean failure;
  291.11          DeprecationChecker() {
   292.1 --- a/test/tools/javac/varargs/6730476/T6730476a.java	Thu Jun 17 16:28:21 2010 -0700
   292.2 +++ b/test/tools/javac/varargs/6730476/T6730476a.java	Mon Jun 21 22:09:18 2010 -0700
   292.3 @@ -27,7 +27,7 @@
   292.4   *
   292.5   * @summary invalid "unchecked generic array" warning
   292.6   * @author mcimadamore
   292.7 - * @compile T6730476a.java -Xlint -Werror
   292.8 + * @compile T6730476a.java -Xlint:unchecked -Werror
   292.9   *
  292.10   */
  292.11  
   293.1 --- a/test/tools/javac/varargs/6806876/T6806876.out	Thu Jun 17 16:28:21 2010 -0700
   293.2 +++ b/test/tools/javac/varargs/6806876/T6806876.out	Mon Jun 21 22:09:18 2010 -0700
   293.3 @@ -1,4 +1,6 @@
   293.4  T6806876.java:11:32: compiler.warn.unchecked.generic.array.creation: java.lang.Number&java.lang.Comparable<? extends java.lang.Number&java.lang.Comparable<?>>[]
   293.5  - compiler.err.warnings.and.werror
   293.6 +- compiler.note.varargs.filename: T6806876.java
   293.7 +- compiler.note.varargs.recompile
   293.8  1 error
   293.9  1 warning
   294.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   294.2 +++ b/test/tools/javac/varargs/warning/Warn4.java	Mon Jun 21 22:09:18 2010 -0700
   294.3 @@ -0,0 +1,259 @@
   294.4 +/*
   294.5 + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
   294.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   294.7 + *
   294.8 + * This code is free software; you can redistribute it and/or modify it
   294.9 + * under the terms of the GNU General Public License version 2 only, as
  294.10 + * published by the Free Software Foundation.
  294.11 + *
  294.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  294.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  294.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  294.15 + * version 2 for more details (a copy is included in the LICENSE file that
  294.16 + * accompanied this code).
  294.17 + *
  294.18 + * You should have received a copy of the GNU General Public License version
  294.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  294.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  294.21 + *
  294.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  294.23 + * or visit www.oracle.com if you need additional information or have any
  294.24 + * questions.
  294.25 + */
  294.26 +
  294.27 +/**
  294.28 + * @test
  294.29 + * @bug     6945418
  294.30 + * @summary Project Coin: Simplified Varargs Method Invocation
  294.31 + * @author  mcimadamore
  294.32 + * @run main Warn4
  294.33 + */
  294.34 +import com.sun.source.util.JavacTask;
  294.35 +import java.net.URI;
  294.36 +import java.util.Arrays;
  294.37 +import java.util.Set;
  294.38 +import java.util.HashSet;
  294.39 +import javax.tools.Diagnostic;
  294.40 +import javax.tools.JavaCompiler;
  294.41 +import javax.tools.JavaFileObject;
  294.42 +import javax.tools.SimpleJavaFileObject;
  294.43 +import javax.tools.ToolProvider;
  294.44 +
  294.45 +public class Warn4 {
  294.46 +
  294.47 +    final static Warning[] error = null;
  294.48 +    final static Warning[] none = new Warning[] {};
  294.49 +    final static Warning[] vararg = new Warning[] { Warning.VARARGS };
  294.50 +    final static Warning[] unchecked = new Warning[] { Warning.UNCHECKED };
  294.51 +    final static Warning[] both = new Warning[] { Warning.VARARGS, Warning.UNCHECKED };
  294.52 +
  294.53 +    enum Warning {
  294.54 +        UNCHECKED("unchecked"),
  294.55 +        VARARGS("varargs");
  294.56 +
  294.57 +        String category;
  294.58 +
  294.59 +        Warning(String category) {
  294.60 +            this.category = category;
  294.61 +        }
  294.62 +
  294.63 +        boolean isEnabled(XlintOption xlint, SuppressLevel suppressLevel) {
  294.64 +            return Arrays.asList(xlint.enabledWarnings).contains(this);
  294.65 +        }
  294.66 +
  294.67 +        boolean isSuppressed(SuppressLevel suppressLevel) {
  294.68 +            return Arrays.asList(suppressLevel.suppressedWarnings).contains(VARARGS);
  294.69 +        }
  294.70 +    }
  294.71 +
  294.72 +    enum XlintOption {
  294.73 +        NONE(),
  294.74 +        UNCHECKED(Warning.UNCHECKED),
  294.75 +        VARARGS(Warning.VARARGS),
  294.76 +        ALL(Warning.UNCHECKED, Warning.VARARGS);
  294.77 +
  294.78 +        Warning[] enabledWarnings;
  294.79 +
  294.80 +        XlintOption(Warning... enabledWarnings) {
  294.81 +            this.enabledWarnings = enabledWarnings;
  294.82 +        }
  294.83 +
  294.84 +        String getXlintOption() {
  294.85 +            StringBuilder buf = new StringBuilder();
  294.86 +            String sep = "";
  294.87 +            for (Warning w : enabledWarnings) {
  294.88 +                buf.append(sep);
  294.89 +                buf.append(w.category);
  294.90 +                sep=",";
  294.91 +            }
  294.92 +            return "-Xlint:" +
  294.93 +                    (this == NONE ? "none" : buf.toString());
  294.94 +        }
  294.95 +    }
  294.96 +
  294.97 +    enum SuppressLevel {
  294.98 +        NONE(),
  294.99 +        UNCHECKED(Warning.UNCHECKED),
 294.100 +        VARARGS(Warning.VARARGS),
 294.101 +        ALL(Warning.UNCHECKED, Warning.VARARGS);
 294.102 +
 294.103 +        Warning[] suppressedWarnings;
 294.104 +
 294.105 +        SuppressLevel(Warning... suppressedWarnings) {
 294.106 +            this.suppressedWarnings = suppressedWarnings;
 294.107 +        }
 294.108 +
 294.109 +        String getSuppressAnnotation() {
 294.110 +            StringBuilder buf = new StringBuilder();
 294.111 +            String sep = "";
 294.112 +            for (Warning w : suppressedWarnings) {
 294.113 +                buf.append(sep);
 294.114 +                buf.append("\"");
 294.115 +                buf.append(w.category);
 294.116 +                buf.append("\"");
 294.117 +                sep=",";
 294.118 +            }
 294.119 +            return this == NONE ? "" :
 294.120 +                "@SuppressWarnings({" + buf.toString() + "})";
 294.121 +        }
 294.122 +    }
 294.123 +
 294.124 +    enum Signature {
 294.125 +
 294.126 +        EXTENDS_TVAR("<Z> void #name(List<? extends Z>#arity arg) { #body }",
 294.127 +            new Warning[][] {both, both, both, both, error, both, both, both, error}),
 294.128 +        SUPER_TVAR("<Z> void #name(List<? super Z>#arity arg) { #body }",
 294.129 +            new Warning[][] {error, both, error, both, error, error, both, both, error}),
 294.130 +        UNBOUND("void #name(List<?>#arity arg) { #body }",
 294.131 +            new Warning[][] {none, none, none, none, none, none, none, none, error}),
 294.132 +        INVARIANT_TVAR("<Z> void #name(List<Z>#arity arg) { #body }",
 294.133 +            new Warning[][] {both, both, both, both, error, both, both, both, error}),
 294.134 +        TVAR("<Z> void #name(Z#arity arg) { #body }",
 294.135 +            new Warning[][] {both, both, both, both, both, both, both, both, vararg}),
 294.136 +        EXTENDS("void #name(List<? extends String>#arity arg) { #body }",
 294.137 +            new Warning[][] {error, error, error, error, error, both, error, both, error}),
 294.138 +        SUPER("void #name(List<? super String>#arity arg) { #body }",
 294.139 +            new Warning[][] {error, error, error, error, error, error, both, both, error}),
 294.140 +        INVARIANT("void #name(List<String>#arity arg) { #body }",
 294.141 +            new Warning[][] {error, error, error, error, error, error, error, both, error}),
 294.142 +        UNPARAMETERIZED("void #name(String#arity arg) { #body }",
 294.143 +            new Warning[][] {error, error, error, error, error, error, error, error, none});
 294.144 +
 294.145 +        String template;
 294.146 +        Warning[][] warnings;
 294.147 +
 294.148 +        Signature(String template, Warning[][] warnings) {
 294.149 +            this.template = template;
 294.150 +            this.warnings = warnings;
 294.151 +        }
 294.152 +
 294.153 +        boolean isApplicableTo(Signature other) {
 294.154 +            return warnings[other.ordinal()] != null;
 294.155 +        }
 294.156 +
 294.157 +        boolean giveUnchecked(Signature other) {
 294.158 +            return warnings[other.ordinal()] == unchecked ||
 294.159 +                    warnings[other.ordinal()] == both;
 294.160 +        }
 294.161 +
 294.162 +        boolean giveVarargs(Signature other) {
 294.163 +            return warnings[other.ordinal()] == vararg ||
 294.164 +                    warnings[other.ordinal()] == both;
 294.165 +        }
 294.166 +    }
 294.167 +
 294.168 +    public static void main(String... args) throws Exception {
 294.169 +        for (XlintOption xlint : XlintOption.values()) {
 294.170 +            for (SuppressLevel suppressLevel : SuppressLevel.values()) {
 294.171 +                for (Signature vararg_meth : Signature.values()) {
 294.172 +                    for (Signature client_meth : Signature.values()) {
 294.173 +                        if (vararg_meth.isApplicableTo(client_meth)) {
 294.174 +                            test(xlint,
 294.175 +                                    suppressLevel,
 294.176 +                                    vararg_meth,
 294.177 +                                    client_meth);
 294.178 +                        }
 294.179 +                    }
 294.180 +                }
 294.181 +            }
 294.182 +        }
 294.183 +    }
 294.184 +
 294.185 +    static void test(XlintOption xlint, SuppressLevel suppressLevel,
 294.186 +            Signature vararg_meth, Signature client_meth) throws Exception {
 294.187 +        final JavaCompiler tool = ToolProvider.getSystemJavaCompiler();
 294.188 +        JavaSource source = new JavaSource(suppressLevel, vararg_meth, client_meth);
 294.189 +        DiagnosticChecker dc = new DiagnosticChecker();
 294.190 +        JavacTask ct = (JavacTask)tool.getTask(null, null, dc,
 294.191 +                Arrays.asList(xlint.getXlintOption()), null, Arrays.asList(source));
 294.192 +        ct.generate(); //to get mandatory notes
 294.193 +        check(dc.warnings,
 294.194 +                dc.notes,
 294.195 +                new boolean[] {vararg_meth.giveUnchecked(client_meth),
 294.196 +                               vararg_meth.giveVarargs(client_meth)},
 294.197 +                source, xlint, suppressLevel);
 294.198 +    }
 294.199 +
 294.200 +    static void check(Set<Warning> warnings, Set<Warning> notes, boolean[] warnArr, JavaSource source, XlintOption xlint, SuppressLevel suppressLevel) {
 294.201 +        boolean badOutput = false;
 294.202 +        for (Warning wkind : Warning.values()) {
 294.203 +            badOutput |= (warnArr[wkind.ordinal()] && !wkind.isSuppressed(suppressLevel)) !=
 294.204 +                    (wkind.isEnabled(xlint, suppressLevel) ?
 294.205 +                        warnings.contains(wkind) :
 294.206 +                        notes.contains(wkind));
 294.207 +        }
 294.208 +        if (badOutput) {
 294.209 +            throw new Error("invalid diagnostics for source:\n" +
 294.210 +                    source.getCharContent(true) +
 294.211 +                    "\nOptions: " + xlint.getXlintOption() +
 294.212 +                    "\nExpected unchecked warning: " + warnArr[0] +
 294.213 +                    "\nExpected unsafe vararg warning: " + warnArr[1] +
 294.214 +                    "\nWarnings: " + warnings +
 294.215 +                    "\nNotes: " + notes);
 294.216 +        }
 294.217 +    }
 294.218 +
 294.219 +    static class JavaSource extends SimpleJavaFileObject {
 294.220 +
 294.221 +        String source;
 294.222 +
 294.223 +        public JavaSource(SuppressLevel suppressLevel, Signature vararg_meth, Signature client_meth) {
 294.224 +            super(URI.create("myfo:/Test.java"), JavaFileObject.Kind.SOURCE);
 294.225 +            String meth1 = vararg_meth.template.replace("#arity", "...");
 294.226 +            meth1 = meth1.replace("#name", "m");
 294.227 +            meth1 = meth1.replace("#body", "");
 294.228 +            meth1 = suppressLevel.getSuppressAnnotation() + meth1;
 294.229 +            String meth2 = client_meth.template.replace("#arity", "");
 294.230 +            meth2 = meth2.replace("#name", "test");
 294.231 +            meth2 = meth2.replace("#body", "m(arg);");
 294.232 +            source = "import java.util.List;\n" +
 294.233 +               "class Test {\n" + meth1 +
 294.234 +               "\n" + meth2 + "\n}\n";
 294.235 +        }
 294.236 +
 294.237 +        @Override
 294.238 +        public CharSequence getCharContent(boolean ignoreEncodingErrors) {
 294.239 +            return source;
 294.240 +        }
 294.241 +    }
 294.242 +
 294.243 +    static class DiagnosticChecker implements javax.tools.DiagnosticListener<JavaFileObject> {
 294.244 +
 294.245 +        Set<Warning> warnings = new HashSet<>();
 294.246 +        Set<Warning> notes = new HashSet<>();
 294.247 +
 294.248 +        public void report(Diagnostic<? extends JavaFileObject> diagnostic) {
 294.249 +            if (diagnostic.getKind() == Diagnostic.Kind.MANDATORY_WARNING ||
 294.250 +                    diagnostic.getKind() == Diagnostic.Kind.WARNING) {
 294.251 +                warnings.add(diagnostic.getCode().contains("varargs") ?
 294.252 +                    Warning.VARARGS :
 294.253 +                    Warning.UNCHECKED);
 294.254 +            }
 294.255 +            else if (diagnostic.getKind() == Diagnostic.Kind.NOTE) {
 294.256 +                notes.add(diagnostic.getCode().contains("varargs") ?
 294.257 +                    Warning.VARARGS :
 294.258 +                    Warning.UNCHECKED);
 294.259 +            }
 294.260 +        }
 294.261 +    }
 294.262 +}
   295.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   295.2 +++ b/test/tools/javadoc/6958836/Test.java	Mon Jun 21 22:09:18 2010 -0700
   295.3 @@ -0,0 +1,120 @@
   295.4 +/*
   295.5 + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
   295.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   295.7 + *
   295.8 + * This code is free software; you can redistribute it and/or modify it
   295.9 + * under the terms of the GNU General Public License version 2 only, as
  295.10 + * published by the Free Software Foundation.
  295.11 + *
  295.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  295.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  295.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  295.15 + * version 2 for more details (a copy is included in the LICENSE file that
  295.16 + * accompanied this code).
  295.17 + *
  295.18 + * You should have received a copy of the GNU General Public License version
  295.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  295.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  295.21 + *
  295.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  295.23 + * or visit www.oracle.com if you need additional information or have any
  295.24 + * questions.
  295.25 + */
  295.26 +
  295.27 +/*
  295.28 + * @test
  295.29 + * @bug 6958836
  295.30 + * @summary javadoc should support -Xmaxerrs and -Xmaxwarns
  295.31 + */
  295.32 +
  295.33 +import java.io.*;
  295.34 +import java.util.*;
  295.35 +
  295.36 +public class Test {
  295.37 +    public static void main(String... args) throws Exception {
  295.38 +        new Test().run();
  295.39 +    }
  295.40 +
  295.41 +    void run() throws Exception {
  295.42 +        javadoc("errs",  list(),                   10,  0);
  295.43 +        javadoc("errs",  list("-Xmaxerrs",   "0"), 10,  0);
  295.44 +        javadoc("errs",  list("-Xmaxerrs",   "2"),  2,  0);
  295.45 +        javadoc("errs",  list("-Xmaxerrs",   "4"),  4,  0);
  295.46 +        javadoc("errs",  list("-Xmaxerrs",  "20"), 10,  0);
  295.47 +
  295.48 +        javadoc("warns", list(),                    0, 10);
  295.49 +        javadoc("warns", list("-Xmaxwarns",  "0"),  0, 10);
  295.50 +        javadoc("warns", list("-Xmaxwarns",  "2"),  0,  2);
  295.51 +        javadoc("warns", list("-Xmaxwarns",  "4"),  0,  4);
  295.52 +        javadoc("warns", list("-Xmaxwarns", "20"),  0, 10);
  295.53 +
  295.54 +        if (errors > 0)
  295.55 +            throw new Exception(errors + " errors occurred.");
  295.56 +    }
  295.57 +
  295.58 +    void javadoc(String pkg, List<String> testOpts,
  295.59 +                int expectErrs, int expectWarns) {
  295.60 +        System.err.println("Test " + (++count) + ": " + pkg + " " + testOpts);
  295.61 +        File testOutDir = new File("test" + count);
  295.62 +
  295.63 +        List<String> opts = new ArrayList<String>();
  295.64 +        // Force en_US locale in lieu of something like -XDrawDiagnostics.
  295.65 +        // For some reason, this must be the first option when used.
  295.66 +        opts.addAll(list("-locale", "en_US"));
  295.67 +        opts.addAll(list("-classpath", System.getProperty("test.src")));
  295.68 +        opts.addAll(list("-d", testOutDir.getPath()));
  295.69 +        opts.addAll(testOpts);
  295.70 +        opts.add(pkg);
  295.71 +
  295.72 +        StringWriter errSW = new StringWriter();
  295.73 +        PrintWriter errPW = new PrintWriter(errSW);
  295.74 +        StringWriter warnSW = new StringWriter();
  295.75 +        PrintWriter warnPW = new PrintWriter(warnSW);
  295.76 +        StringWriter noteSW = new StringWriter();
  295.77 +        PrintWriter notePW = new PrintWriter(noteSW);
  295.78 +
  295.79 +        int rc = com.sun.tools.javadoc.Main.execute("javadoc",
  295.80 +                              errPW, warnPW, notePW,
  295.81 +                              "com.sun.tools.doclets.standard.Standard",
  295.82 +                              getClass().getClassLoader(),
  295.83 +                              opts.toArray(new String[opts.size()]));
  295.84 +        System.err.println("rc: " + rc);
  295.85 +
  295.86 +        errPW.close();
  295.87 +        String errOut = errSW.toString();
  295.88 +        System.err.println("Errors:\n" + errOut);
  295.89 +        warnPW.close();
  295.90 +        String warnOut = warnSW.toString();
  295.91 +        System.err.println("Warnings:\n" + warnOut);
  295.92 +        notePW.close();
  295.93 +        String noteOut = noteSW.toString();
  295.94 +        System.err.println("Notes:\n" + noteOut);
  295.95 +
  295.96 +        check(errOut, "Errors.java", expectErrs);
  295.97 +        check(warnOut, " warning ", expectWarns); // requires -locale en_US
  295.98 +    }
  295.99 +
 295.100 +    void check(String text, String expectText, int expectCount) {
 295.101 +        int foundCount = 0;
 295.102 +        for (String line: text.split("[\r\n]+")) {
 295.103 +            if (line.contains(expectText))
 295.104 +                foundCount++;
 295.105 +        }
 295.106 +        if (foundCount != expectCount) {
 295.107 +            error("incorrect number of matches found: " + foundCount
 295.108 +                  + ", expected: " + expectCount);
 295.109 +        }
 295.110 +    }
 295.111 +
 295.112 +    private List<String> list(String... args) {
 295.113 +        return Arrays.asList(args);
 295.114 +    }
 295.115 +
 295.116 +    void error(String msg) {
 295.117 +        System.err.println(msg);
 295.118 +        errors++;
 295.119 +    }
 295.120 +
 295.121 +    int count;
 295.122 +    int errors;
 295.123 +}
   296.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   296.2 +++ b/test/tools/javadoc/6958836/errs/Errors.java	Mon Jun 21 22:09:18 2010 -0700
   296.3 @@ -0,0 +1,38 @@
   296.4 +/*
   296.5 + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
   296.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   296.7 + *
   296.8 + * This code is free software; you can redistribute it and/or modify it
   296.9 + * under the terms of the GNU General Public License version 2 only, as
  296.10 + * published by the Free Software Foundation.
  296.11 + *
  296.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  296.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  296.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  296.15 + * version 2 for more details (a copy is included in the LICENSE file that
  296.16 + * accompanied this code).
  296.17 + *
  296.18 + * You should have received a copy of the GNU General Public License version
  296.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  296.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  296.21 + *
  296.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  296.23 + * or visit www.oracle.com if you need additional information or have any
  296.24 + * questions.
  296.25 + */
  296.26 +
  296.27 +package errs;
  296.28 +
  296.29 +// class with 10 errors
  296.30 +class Errors {
  296.31 +    X m0() { }
  296.32 +    X m1() { }
  296.33 +    X m2() { }
  296.34 +    X m3() { }
  296.35 +    X m4() { }
  296.36 +    X m5() { }
  296.37 +    X m6() { }
  296.38 +    X m7() { }
  296.39 +    X m8() { }
  296.40 +    X m9() { }
  296.41 +}
   297.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   297.2 +++ b/test/tools/javadoc/6958836/warns/Warnings.java	Mon Jun 21 22:09:18 2010 -0700
   297.3 @@ -0,0 +1,57 @@
   297.4 +/*
   297.5 + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
   297.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   297.7 + *
   297.8 + * This code is free software; you can redistribute it and/or modify it
   297.9 + * under the terms of the GNU General Public License version 2 only, as
  297.10 + * published by the Free Software Foundation.
  297.11 + *
  297.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  297.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  297.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  297.15 + * version 2 for more details (a copy is included in the LICENSE file that
  297.16 + * accompanied this code).
  297.17 + *
  297.18 + * You should have received a copy of the GNU General Public License version
  297.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  297.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  297.21 + *
  297.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  297.23 + * or visit www.oracle.com if you need additional information or have any
  297.24 + * questions.
  297.25 + */
  297.26 +
  297.27 +package warns;
  297.28 +
  297.29 +// class with 10 warnings
  297.30 +public class Warnings {
  297.31 +    /** @param x */
  297.32 +    public void m0() { }
  297.33 +
  297.34 +    /** @param x */
  297.35 +    public void m1() { }
  297.36 +
  297.37 +    /** @param x */
  297.38 +    public void m2() { }
  297.39 +
  297.40 +    /** @param x */
  297.41 +    public void m3() { }
  297.42 +
  297.43 +    /** @param x */
  297.44 +    public void m4() { }
  297.45 +
  297.46 +    /** @param x */
  297.47 +    public void m5() { }
  297.48 +
  297.49 +    /** @param x */
  297.50 +    public void m6() { }
  297.51 +
  297.52 +    /** @param x */
  297.53 +    public void m7() { }
  297.54 +
  297.55 +    /** @param x */
  297.56 +    public void m8() { }
  297.57 +
  297.58 +    /** @param x */
  297.59 +    public void m9() { }
  297.60 +}

mercurial