# HG changeset patch # User lana # Date 1277183358 25200 # Node ID 79df42db724a830512da43ea85c13555f7c45880 # Parent 3190f7182a900af6f2c6283e4782991cdc2d924f# Parent 00d9c252e60c461a9f0cec033f41bd5518007e29 Merge diff -r 3190f7182a90 -r 79df42db724a langtools/make/Makefile --- a/langtools/make/Makefile Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/make/Makefile Mon Jun 21 22:09:18 2010 -0700 @@ -26,9 +26,9 @@ # Makefile for langtools: wrapper around Ant build.xml file # -# On Solaris, the 'make' utility from Sun will not work with these makefiles. -# This little rule is only understood by Sun's make, and is harmless -# when seen by the GNU make tool. If using Sun's make, this causes the +# On Solaris, the standard 'make' utility will not work with these makefiles. +# This little rule is only understood by Solaris make, and is harmless +# when seen by the GNU make tool. If using Solaris make, this causes the # make command to fail. # SUN_MAKE_TEST:sh = @echo "ERROR: PLEASE USE GNU VERSION OF MAKE"; exit 33 @@ -40,15 +40,16 @@ SYSTEM_UNAME := $(shell uname) +# Where is unwanted output to be delivered? +# On Windows, MKS uses the special file "NUL", cygwin uses the customary unix file. ifeq ($(SYSTEM_UNAME), Windows_NT) DEV_NULL = NUL else +DEV_NULL = /dev/null +endif + ifneq (,$(findstring CYGWIN,$(SYSTEM_UNAME))) -DEV_NULL = NUL USING_CYGWIN = true -else -DEV_NULL = /dev/null -endif endif ifdef USING_CYGWIN @@ -202,7 +203,7 @@ #------------------------------------------------------------------- # -# Targets for Sun's internal JPRT build system +# Targets for Oracle's internal JPRT build system CD = cd ZIP = zip diff -r 3190f7182a90 -r 79df42db724a langtools/make/Makefile-classic --- a/langtools/make/Makefile-classic Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/make/Makefile-classic Mon Jun 21 22:09:18 2010 -0700 @@ -28,9 +28,9 @@ # # -# On Solaris, the 'make' utility from Sun will not work with these makefiles. -# This little rule is only understood by Sun's make, and is harmless -# when seen by the GNU make tool. If using Sun's make, this causes the +# On Solaris, the standard 'make' utility will not work with these makefiles. +# This little rule is only understood by Solaris make, and is harmless +# when seen by the GNU make tool. If using Solaris make, this causes the # make command to fail. # SUN_MAKE_TEST:sh = @echo "ERROR: PLEASE USE GNU VERSION OF MAKE"; exit 33 diff -r 3190f7182a90 -r 79df42db724a langtools/make/build.properties --- a/langtools/make/build.properties Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/make/build.properties Mon Jun 21 22:09:18 2010 -0700 @@ -76,17 +76,27 @@ javadoc.jls3.option=-tag "jls3:a:See <cite>${javadoc.jls3.cite}</cite>:" # jtreg, used to run the JDK regression tests +# See http://openjdk.java.net/jtreg/ # Override this path as needed, either on the command line or in # one of the standard user build.properties files (see build.xml) -# jtreg.home = /opt/jtreg/3.2.2_02 +# jtreg.home = /opt/jtreg/4.1 # findbugs +# See http://findbugs.sourceforge.net/ # Override this path as needed, either on the command line or in # one of the standard user build.properties files (see build.xml) # findbugs.home = /opt/findbugs/1.2.1 +# vizant (graph visualization tool for Ant) +# See http://vizant.sourceforge.net/ +# Override this path as needed, either on the command line or in +# one of the standard user build.properties files (see build.xml) + +# vizant.jar = /opt/vizant/0.1.2/vizant-0.1.2.jar +# dot = dot + #------------------------------------------------------------ # The following properties define the packages for each of the tools. @@ -148,12 +158,14 @@ # -# The following files require the import JDK to be available -require.import.jdk.files = \ +# The following files require the latest JDK to be available. +# The API can be provided by using a suitable boot.java.home +# or by setting import.jdk +require.latest.jdk.files = \ com/sun/tools/javac/nio/*.java # The following files in the import jdk source directory are required -# in order to compile the files defined in ${require.import.jdk.files} +# in order to compile the files defined in ${require.latest.jdk.files} # # For NIO, the list of stub files is defined by the contents of the primary # API packages, together with such types that may be required in order to diff -r 3190f7182a90 -r 79df42db724a langtools/make/build.xml --- a/langtools/make/build.xml Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/make/build.xml Mon Jun 21 22:09:18 2010 -0700 @@ -25,12 +25,79 @@ --> + - - - - - - - - + - - + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + @@ -235,7 +322,61 @@ datafile="${build.coverage.dir}/cobertura.ser"/> - + + + + + + ant.home = ${ant.home} + boot.java.home = ${boot.java.home} + target.java.home = ${target.java.home} + jtreg.home = ${jtreg.home} + findbugs.home = ${findbugs.home} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -267,7 +408,10 @@ - + + @@ -300,7 +444,10 @@ - + + @@ -330,7 +477,10 @@ - + + @@ -360,7 +510,10 @@ - + + @@ -393,7 +546,10 @@ - + + @@ -426,9 +582,12 @@ - - + + + - + + @@ -459,7 +623,15 @@ - + + + + + + + @@ -599,7 +771,7 @@ sourcepath="" release="${bootstrap.release}" full.version="${bootstrap.full.version}" - excludes="${require.import.jdk.files} **/package-info.java"/> + excludes="${bootstrap.exclude.files} **/package-info.java"/> @@ -617,7 +789,7 @@ classpath="${build.toolclasses.dir}/"/> - + + from src.classes.dir get javadoc'd; see packageset below --> - - + + - - + + + + + + + + + - + @@ -781,41 +960,19 @@ - - - + + + + + + + + - - - ant.home = ${ant.home} - boot.java.home = ${boot.java.home} - target.java.home = ${target.java.home} - jtreg.home = ${jtreg.home} - findbugs.home = ${findbugs.home} - - - - - - - - - - - - diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/source/tree/Tree.java --- a/langtools/src/share/classes/com/sun/source/tree/Tree.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/Tree.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,7 +30,7 @@ * *

WARNING: This interface and its sub-interfaces are * subject to change as the Java™ programming language evolves. - * These interfaces are implemented by Sun's Java compiler (javac) + * These interfaces are implemented by the JDK Java compiler (javac) * and should not be implemented either directly or indirectly by * other applications. * diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/source/util/JavacTask.java --- a/langtools/src/share/classes/com/sun/source/util/JavacTask.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/source/util/JavacTask.java Mon Jun 21 22:09:18 2010 -0700 @@ -36,7 +36,7 @@ import javax.tools.JavaFileObject; /** - * Provides access to functionality specific to the Sun Java Compiler, javac. + * Provides access to functionality specific to the JDK Java Compiler, javac. * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/source/util/TaskEvent.java --- a/langtools/src/share/classes/com/sun/source/util/TaskEvent.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/source/util/TaskEvent.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,7 +30,7 @@ import javax.tools.JavaFileObject; /** - * Provides details about work that has been done by the Sun Java Compiler, javac. + * Provides details about work that has been done by the JDK Java Compiler, javac. * * @author Jonathan Gibbons * @since 1.6 diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/source/util/TaskListener.java --- a/langtools/src/share/classes/com/sun/source/util/TaskListener.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/source/util/TaskListener.java Mon Jun 21 22:09:18 2010 -0700 @@ -27,7 +27,7 @@ /** - * Provides a listener to monitor the activity of the Sun Java Compiler, javac. + * Provides a listener to monitor the activity of the JDK Java Compiler, javac. * * @author Jonathan Gibbons * @since 1.6 diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/apt/comp/Apt.java --- a/langtools/src/share/classes/com/sun/tools/apt/comp/Apt.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/comp/Apt.java Mon Jun 21 22:09:18 2010 -0700 @@ -60,7 +60,7 @@ /** * Apt compiler phase. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/apt/main/CommandLine.java --- a/langtools/src/share/classes/com/sun/tools/apt/main/CommandLine.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/main/CommandLine.java Mon Jun 21 22:09:18 2010 -0700 @@ -35,8 +35,8 @@ /** * Various utility methods for processing Java tool command line arguments. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/apt/main/JavaCompiler.java --- a/langtools/src/share/classes/com/sun/tools/apt/main/JavaCompiler.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/main/JavaCompiler.java Mon Jun 21 22:09:18 2010 -0700 @@ -45,7 +45,7 @@ import com.sun.tools.javac.parser.DocCommentScanner; /** - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/apt/main/Main.java --- a/langtools/src/share/classes/com/sun/tools/apt/main/Main.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/main/Main.java Mon Jun 21 22:09:18 2010 -0700 @@ -61,7 +61,7 @@ /** This class provides a commandline interface to the apt build-time * tool. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/apt/util/Bark.java --- a/langtools/src/share/classes/com/sun/tools/apt/util/Bark.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/util/Bark.java Mon Jun 21 22:09:18 2010 -0700 @@ -34,8 +34,8 @@ /** A subtype of Log for use in APT. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/AccessFlags.java --- a/langtools/src/share/classes/com/sun/tools/classfile/AccessFlags.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/AccessFlags.java Mon Jun 21 22:09:18 2010 -0700 @@ -32,8 +32,8 @@ /** * See JVMS3, sections 4.2, 4.6, 4.7. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/Annotation.java --- a/langtools/src/share/classes/com/sun/tools/classfile/Annotation.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/Annotation.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,8 +30,8 @@ /** * See JVMS3, section 4.8.16. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/AnnotationDefault_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/AnnotationDefault_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/AnnotationDefault_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,8 +30,8 @@ /** * See JVMS3, section 4.8.15. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/Attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/Attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/Attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -31,8 +31,8 @@ import java.util.Map; /** - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/AttributeException.java --- a/langtools/src/share/classes/com/sun/tools/classfile/AttributeException.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/AttributeException.java Mon Jun 21 22:09:18 2010 -0700 @@ -26,8 +26,8 @@ package com.sun.tools.classfile; /* - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/Attributes.java --- a/langtools/src/share/classes/com/sun/tools/classfile/Attributes.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/Attributes.java Mon Jun 21 22:09:18 2010 -0700 @@ -32,8 +32,8 @@ import java.util.Map; /* - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/CharacterRangeTable_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/CharacterRangeTable_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/CharacterRangeTable_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -28,8 +28,8 @@ import java.io.IOException; /** - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/ClassFile.java --- a/langtools/src/share/classes/com/sun/tools/classfile/ClassFile.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/ClassFile.java Mon Jun 21 22:09:18 2010 -0700 @@ -35,8 +35,8 @@ /** * See JVMS3, section 4.2. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/ClassReader.java --- a/langtools/src/share/classes/com/sun/tools/classfile/ClassReader.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/ClassReader.java Mon Jun 21 22:09:18 2010 -0700 @@ -32,8 +32,8 @@ import java.io.InputStream; /** - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/ClassTranslator.java --- a/langtools/src/share/classes/com/sun/tools/classfile/ClassTranslator.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/ClassTranslator.java Mon Jun 21 22:09:18 2010 -0700 @@ -42,8 +42,8 @@ /** * Rewrites a class file using a map of translations. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/ClassWriter.java --- a/langtools/src/share/classes/com/sun/tools/classfile/ClassWriter.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/ClassWriter.java Mon Jun 21 22:09:18 2010 -0700 @@ -41,8 +41,8 @@ /** * Write a ClassFile data structure to a file or stream. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/Code_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/Code_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/Code_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -32,8 +32,8 @@ /** * See JVMS3, section 4.8.3. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/CompilationID_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/CompilationID_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/CompilationID_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -27,8 +27,8 @@ import java.io.IOException; /** - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/ConstantPool.java --- a/langtools/src/share/classes/com/sun/tools/classfile/ConstantPool.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/ConstantPool.java Mon Jun 21 22:09:18 2010 -0700 @@ -33,8 +33,8 @@ /** * See JVMS3, section 4.5. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/ConstantPoolException.java --- a/langtools/src/share/classes/com/sun/tools/classfile/ConstantPoolException.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/ConstantPoolException.java Mon Jun 21 22:09:18 2010 -0700 @@ -27,8 +27,8 @@ package com.sun.tools.classfile; /* - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/ConstantValue_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/ConstantValue_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/ConstantValue_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,8 +30,8 @@ /** * See JVMS3, section 4.8.2. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/DefaultAttribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/DefaultAttribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/DefaultAttribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -26,8 +26,8 @@ package com.sun.tools.classfile; /* - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/Deprecated_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/Deprecated_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/Deprecated_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,8 +30,8 @@ /** * See JVMS3, section 4.8.15. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/Descriptor.java --- a/langtools/src/share/classes/com/sun/tools/classfile/Descriptor.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/Descriptor.java Mon Jun 21 22:09:18 2010 -0700 @@ -31,8 +31,8 @@ /** * See JVMS3, section 4.4. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/DescriptorException.java --- a/langtools/src/share/classes/com/sun/tools/classfile/DescriptorException.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/DescriptorException.java Mon Jun 21 22:09:18 2010 -0700 @@ -27,8 +27,8 @@ package com.sun.tools.classfile; /* - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/EnclosingMethod_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/EnclosingMethod_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/EnclosingMethod_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -31,8 +31,8 @@ /** * See JVMS3, section 4.8.7. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/Exceptions_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/Exceptions_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/Exceptions_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,8 +30,8 @@ /** * See JVMS3, section 4.8.5. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/ExtendedAnnotation.java --- a/langtools/src/share/classes/com/sun/tools/classfile/ExtendedAnnotation.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/ExtendedAnnotation.java Mon Jun 21 22:09:18 2010 -0700 @@ -36,8 +36,8 @@ /** * See JSR 308 specification, section 4.1 * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/Field.java --- a/langtools/src/share/classes/com/sun/tools/classfile/Field.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/Field.java Mon Jun 21 22:09:18 2010 -0700 @@ -28,8 +28,8 @@ import java.io.IOException; /* - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/InnerClasses_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/InnerClasses_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/InnerClasses_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -32,8 +32,8 @@ /** * See JVMS3, section 4.8.6. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/Instruction.java --- a/langtools/src/share/classes/com/sun/tools/classfile/Instruction.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/Instruction.java Mon Jun 21 22:09:18 2010 -0700 @@ -28,8 +28,8 @@ /** * See JVMS3, chapter 6. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. * diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/LineNumberTable_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/LineNumberTable_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/LineNumberTable_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,8 +30,8 @@ /** * See JVMS3, section 4.8.12. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/LocalVariableTable_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/LocalVariableTable_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/LocalVariableTable_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,8 +30,8 @@ /** * See JVMS3, section 4.8.13. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/LocalVariableTypeTable_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/LocalVariableTypeTable_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/LocalVariableTypeTable_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,8 +30,8 @@ /** * See JVMS3, section 4.8.14. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/Method.java --- a/langtools/src/share/classes/com/sun/tools/classfile/Method.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/Method.java Mon Jun 21 22:09:18 2010 -0700 @@ -28,8 +28,8 @@ import java.io.IOException; /* - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/Opcode.java --- a/langtools/src/share/classes/com/sun/tools/classfile/Opcode.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/Opcode.java Mon Jun 21 22:09:18 2010 -0700 @@ -34,8 +34,8 @@ *

In addition to providing all the standard opcodes defined in JVMS, * this class also provides legacy support for the PicoJava extensions. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/RuntimeAnnotations_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/RuntimeAnnotations_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/RuntimeAnnotations_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,8 +30,8 @@ /** * See JVMS3, section 4.8.16 and 4.8.17. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleAnnotations_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleAnnotations_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleAnnotations_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,8 +30,8 @@ /** * See JVMS3, section 4.8.17. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleParameterAnnotations_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleParameterAnnotations_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleParameterAnnotations_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,8 +30,8 @@ /** * See JVMS3, section 4.8.18. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleTypeAnnotations_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleTypeAnnotations_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleTypeAnnotations_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,8 +30,8 @@ /** * See JSR 308 specification, section 4.1 * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/RuntimeParameterAnnotations_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/RuntimeParameterAnnotations_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/RuntimeParameterAnnotations_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,8 +30,8 @@ /** * See JVMS3, section 4.8.18 and 4.8.19. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/RuntimeTypeAnnotations_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/RuntimeTypeAnnotations_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/RuntimeTypeAnnotations_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,8 +30,8 @@ /** * See JSR 308 specification, section 4 * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/RuntimeVisibleAnnotations_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/RuntimeVisibleAnnotations_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/RuntimeVisibleAnnotations_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,8 +30,8 @@ /** * See JVMS3, section 4.8.16. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/RuntimeVisibleParameterAnnotations_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/RuntimeVisibleParameterAnnotations_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/RuntimeVisibleParameterAnnotations_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,8 +30,8 @@ /** * See JVMS3, section 4.8.18. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/RuntimeVisibleTypeAnnotations_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/RuntimeVisibleTypeAnnotations_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/RuntimeVisibleTypeAnnotations_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,8 +30,8 @@ /** * See JSR 308 specification, section 4.1 * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/Signature.java --- a/langtools/src/share/classes/com/sun/tools/classfile/Signature.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/Signature.java Mon Jun 21 22:09:18 2010 -0700 @@ -32,8 +32,8 @@ /** * See JVMS3 4.4.4. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/Signature_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/Signature_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/Signature_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,8 +30,8 @@ /** * See JVMS3, section 4.8.9. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -32,8 +32,8 @@ /** * See JVMS3, section 4.8.15. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/SourceFile_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/SourceFile_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/SourceFile_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,8 +30,8 @@ /** * See JVMS3, section 4.8.10. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/SourceID_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/SourceID_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/SourceID_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -27,8 +27,8 @@ import java.io.IOException; /** - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/StackMapTable_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/StackMapTable_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/StackMapTable_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,8 +30,8 @@ /** * See JVMS3, section 4.8.4. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/StackMap_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/StackMap_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/StackMap_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -28,8 +28,8 @@ import java.io.IOException; /** - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/Synthetic_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/Synthetic_attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/Synthetic_attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,8 +30,8 @@ /** * See JVMS3, section 4.8.8. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/classfile/Type.java --- a/langtools/src/share/classes/com/sun/tools/classfile/Type.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/Type.java Mon Jun 21 22:09:18 2010 -0700 @@ -34,8 +34,8 @@ * Family of classes used to represent the parsed form of a {@link Descriptor} * or {@link Signature}. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/doclets/formats/html/package.html --- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/package.html Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/package.html Mon Jun 21 22:09:18 2010 -0700 @@ -28,8 +28,7 @@ com.sun.tools.doclets.formats.html package - This is the default doclet provided by doclet provided by - SunTM that produces Javadoc's + This is the default doclet provided with JDK that produces Javadoc's default HTML-formatted API output. For more documentation on this doclet, please refer to the link below. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractBuilder.java --- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractBuilder.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractBuilder.java Mon Jun 21 22:09:18 2010 -0700 @@ -92,44 +92,42 @@ public abstract void build() throws IOException; /** - * Build the documentation, as specified by the given XML elements. + * Build the documentation, as specified by the given XML element. * - * @param elements the XML elements that specify which components to - * document. + * @param node the XML element that specifies which component to document. */ - protected void build(List elements) { - for (int i = 0; i < elements.size(); i++ ) { - Object element = elements.get(i); - String component = (String) - ((element instanceof String) ? - element : - ((List) element).get(0)); - try { - invokeMethod("build" + component, - element instanceof String ? - new Class[] {} : - new Class[] {List.class}, - element instanceof String ? - new Object[] {} : - new Object[] {((List) element).subList(1, - ((List) element).size())}); - } catch (NoSuchMethodException e) { - e.printStackTrace(); - configuration.root.printError("Unknown element: " + component); - throw new DocletAbortException(); - } catch (InvocationTargetException e) { - e.getCause().printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - configuration.root.printError("Exception " + - e.getClass().getName() + - " thrown while processing element: " + component); - throw new DocletAbortException(); - } + protected void build(XMLNode node) { + String component = node.name; + try { + invokeMethod("build" + component, + new Class[] { XMLNode.class }, + new Object[] { node }); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + configuration.root.printError("Unknown element: " + component); + throw new DocletAbortException(); + } catch (InvocationTargetException e) { + e.getCause().printStackTrace(); + } catch (Exception e) { + e.printStackTrace(); + configuration.root.printError("Exception " + + e.getClass().getName() + + " thrown while processing element: " + component); + throw new DocletAbortException(); } } /** + * Build the documentation, as specified by the children of the given XML element. + * + * @param node the XML element that specifies which components to document. + */ + protected void buildChildren(XMLNode node) { + for (XMLNode child: node.children) + build(child); + } + + /** * Given the name and parameters, invoke the method in the builder. This * method is required to invoke the appropriate build method as instructed * by the builder XML file. @@ -138,7 +136,14 @@ * @param paramClasses the types for each parameter. * @param params the parameters of the method. */ - protected abstract void invokeMethod(String methodName, Class[] paramClasses, + protected void invokeMethod(String methodName, Class[] paramClasses, Object[] params) - throws Exception; + throws Exception { + if (DEBUG) { + configuration.root.printError("DEBUG: " + this.getClass().getName() + + "." + methodName); + } + Method method = this.getClass().getMethod(methodName, paramClasses); + method.invoke(this, params); + } } diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractMemberBuilder.java --- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractMemberBuilder.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractMemberBuilder.java Mon Jun 21 22:09:18 2010 -0700 @@ -27,7 +27,6 @@ import com.sun.tools.doclets.internal.toolkit.*; import com.sun.tools.doclets.internal.toolkit.util.*; -import java.util.*; /** * The superclass for all member builders. Member builders are only executed @@ -69,9 +68,10 @@ * * @param elements {@inheritDoc} */ - public void build(List elements) { + @Override + public void build(XMLNode node) { if (hasMembersToDocument()) { - super.build(elements); + super.build(node); } } diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeBuilder.java --- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeBuilder.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeBuilder.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,7 +30,6 @@ import com.sun.javadoc.*; import java.io.*; import java.util.*; -import java.lang.reflect.*; /** * Builds the summary for a given annotation type. @@ -92,20 +91,6 @@ /** * {@inheritDoc} */ - public void invokeMethod(String methodName, Class[] paramClasses, - Object[] params) - throws Exception { - if (DEBUG) { - configuration.root.printError("DEBUG: " + this.getClass().getName() - + "." + methodName); - } - Method method = this.getClass().getMethod(methodName, paramClasses); - method.invoke(this, params); - } - - /** - * {@inheritDoc} - */ public void build() throws IOException { build(LayoutParser.getInstance(configuration).parseXML(ROOT)); } @@ -122,8 +107,8 @@ * * @param elements the XML elements that specify how to document a class. */ - public void buildAnnotationTypeDoc(List elements) throws Exception { - build(elements); + public void buildAnnotationTypeDoc(XMLNode node) throws Exception { + buildChildren(node); writer.close(); copyDocFiles(); } @@ -154,7 +139,7 @@ /** * Build the header of the page. */ - public void buildAnnotationTypeHeader() { + public void buildAnnotationTypeHeader(XMLNode node) { writer.writeHeader(configuration.getText("doclet.AnnotationType") + " " + annotationTypeDoc.name()); } @@ -162,14 +147,14 @@ /** * If this class is deprecated, print the appropriate information. */ - public void buildDeprecationInfo () { + public void buildDeprecationInfo (XMLNode node) { writer.writeAnnotationTypeDeprecationInfo(); } /** * Build the signature of the current annotation type. */ - public void buildAnnotationTypeSignature() { + public void buildAnnotationTypeSignature(XMLNode node) { StringBuffer modifiers = new StringBuffer( annotationTypeDoc.modifiers() + " "); writer.writeAnnotationTypeSignature( @@ -180,14 +165,14 @@ /** * Build the class description. */ - public void buildAnnotationTypeDescription() { + public void buildAnnotationTypeDescription(XMLNode node) { writer.writeAnnotationTypeDescription(); } /** * Build the tag information for the current class. */ - public void buildAnnotationTypeTagInfo() { + public void buildAnnotationTypeTagInfo(XMLNode node) { writer.writeAnnotationTypeTagInfo(); } @@ -197,9 +182,9 @@ * @param elements the XML elements that specify how a member summary is * documented. */ - public void buildMemberSummary(List elements) throws Exception { + public void buildMemberSummary(XMLNode node) throws Exception { configuration.getBuilderFactory(). - getMemberSummaryBuilder(writer).build(elements); + getMemberSummaryBuilder(writer).buildChildren(node); writer.completeMemberSummaryBuild(); } @@ -209,10 +194,10 @@ * @param elements the XML elements that specify how a annotation type * members are documented. */ - public void buildAnnotationTypeOptionalMemberDetails(List elements) + public void buildAnnotationTypeOptionalMemberDetails(XMLNode node) throws Exception { configuration.getBuilderFactory(). - getAnnotationTypeOptionalMemberBuilder(writer).build(elements); + getAnnotationTypeOptionalMemberBuilder(writer).buildChildren(node); } /** @@ -221,17 +206,17 @@ * @param elements the XML elements that specify how a annotation type * members are documented. */ - public void buildAnnotationTypeRequiredMemberDetails(List elements) + public void buildAnnotationTypeRequiredMemberDetails(XMLNode node) throws Exception { configuration.getBuilderFactory(). - getAnnotationTypeRequiredMemberBuilder(writer).build(elements); + getAnnotationTypeRequiredMemberBuilder(writer).buildChildren(node); } /** * Build the footer of the page. */ - public void buildAnnotationTypeFooter() { + public void buildAnnotationTypeFooter(XMLNode node) { writer.writeFooter(); } } diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeOptionalMemberBuilder.java --- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeOptionalMemberBuilder.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeOptionalMemberBuilder.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,7 +30,6 @@ import com.sun.tools.doclets.internal.toolkit.*; import com.sun.javadoc.*; import java.util.*; -import java.lang.reflect.*; /** * Builds documentation for optional annotation type members. @@ -85,6 +84,7 @@ /** * {@inheritDoc} */ + @Override public String getName() { return "AnnotationTypeOptionalMemberDetails"; } @@ -95,34 +95,20 @@ * @param elements the XML elements that specify how to construct this * documentation. */ - public void buildAnnotationTypeOptionalMember(List elements) { + public void buildAnnotationTypeOptionalMember(XMLNode node) { if (writer == null) { return; } for (currentMemberIndex = 0; currentMemberIndex < members.size(); currentMemberIndex++) { - build(elements); + buildChildren(node); } } /** - * {@inheritDoc} - */ - public void invokeMethod(String methodName, Class[] paramClasses, - Object[] params) - throws Exception { - if (DEBUG) { - configuration.root.printError("DEBUG: " + this.getClass().getName() - + "." + methodName); - } - Method method = this.getClass().getMethod(methodName, paramClasses); - method.invoke(this, params); - } - - /** * Document the default value for this optional member. */ - public void buildDefaultValueInfo() { + public void buildDefaultValueInfo(XMLNode node) { ((AnnotationTypeOptionalMemberWriter) writer).writeDefaultValueInfo( (MemberDoc) members.get(currentMemberIndex)); } @@ -130,6 +116,7 @@ /** * {@inheritDoc} */ + @Override public AnnotationTypeRequiredMemberWriter getWriter() { return writer; } diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java --- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,7 +30,6 @@ import com.sun.tools.doclets.internal.toolkit.*; import com.sun.javadoc.*; import java.util.*; -import java.lang.reflect.*; /** * Builds documentation for required annotation type members. @@ -114,20 +113,6 @@ } /** - * {@inheritDoc} - */ - public void invokeMethod(String methodName, Class[] paramClasses, - Object[] params) - throws Exception { - if (DEBUG) { - configuration.root.printError("DEBUG: " + this.getClass().getName() - + "." + methodName); - } - Method method = this.getClass().getMethod(methodName, paramClasses); - method.invoke(this, params); - } - - /** * Returns a list of members that will be documented for the given class. * This information can be used for doclet specific documentation * generation. @@ -161,20 +146,20 @@ * @param elements the XML elements that specify how to construct this * documentation. */ - public void buildAnnotationTypeRequiredMember(List elements) { + public void buildAnnotationTypeRequiredMember(XMLNode node) { if (writer == null) { return; } for (currentMemberIndex = 0; currentMemberIndex < members.size(); currentMemberIndex++) { - build(elements); + buildChildren(node); } } /** * Build the overall header. */ - public void buildHeader() { + public void buildHeader(XMLNode node) { writer.writeHeader(classDoc, configuration.getText("doclet.Annotation_Type_Member_Detail")); } @@ -182,7 +167,7 @@ /** * Build the header for the individual members. */ - public void buildMemberHeader() { + public void buildMemberHeader(XMLNode node) { writer.writeMemberHeader((MemberDoc) members.get( currentMemberIndex), currentMemberIndex == 0); @@ -191,14 +176,14 @@ /** * Build the signature. */ - public void buildSignature() { + public void buildSignature(XMLNode node) { writer.writeSignature((MemberDoc) members.get(currentMemberIndex)); } /** * Build the deprecation information. */ - public void buildDeprecationInfo() { + public void buildDeprecationInfo(XMLNode node) { writer.writeDeprecated((MemberDoc) members.get(currentMemberIndex)); } @@ -206,7 +191,7 @@ * Build the comments for the member. Do nothing if * {@link Configuration#nocomment} is set to true. */ - public void buildMemberComments() { + public void buildMemberComments(XMLNode node) { if(! configuration.nocomment){ writer.writeComments((MemberDoc) members.get(currentMemberIndex)); } @@ -215,21 +200,21 @@ /** * Build the tag information. */ - public void buildTagInfo() { + public void buildTagInfo(XMLNode node) { writer.writeTags((MemberDoc) members.get(currentMemberIndex)); } /** * Build the footer for the individual member. */ - public void buildMemberFooter() { + public void buildMemberFooter(XMLNode node) { writer.writeMemberFooter(); } /** * Build the overall footer. */ - public void buildFooter() { + public void buildFooter(XMLNode node) { writer.writeFooter(classDoc); } diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java --- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,7 +30,6 @@ import com.sun.javadoc.*; import java.io.*; import java.util.*; -import java.lang.reflect.*; /** * Builds the summary for a given class. @@ -108,20 +107,6 @@ /** * {@inheritDoc} */ - public void invokeMethod(String methodName, Class[] paramClasses, - Object[] params) - throws Exception { - if (DEBUG) { - configuration.root.printError("DEBUG: " + this.getClass().getName() - + "." + methodName); - } - Method method = this.getClass().getMethod(methodName, paramClasses); - method.invoke(this, params); - } - - /** - * {@inheritDoc} - */ public void build() throws IOException { build(LayoutParser.getInstance(configuration).parseXML(ROOT)); } @@ -138,8 +123,8 @@ * * @param elements the XML elements that specify how to document a class. */ - public void buildClassDoc(List elements) throws Exception { - build(elements); + public void buildClassDoc(XMLNode node) throws Exception { + buildChildren(node); writer.close(); copyDocFiles(); } @@ -169,7 +154,7 @@ /** * Build the header of the page. */ - public void buildClassHeader() { + public void buildClassHeader(XMLNode node) { String key; if (isInterface) { key = "doclet.Interface"; @@ -185,7 +170,7 @@ /** * Build the class tree documentation. */ - public void buildClassTree() { + public void buildClassTree(XMLNode node) { writer.writeClassTree(); } @@ -193,42 +178,42 @@ * If this is a class, list all interfaces * implemented by this class. */ - public void buildImplementedInterfacesInfo() { + public void buildImplementedInterfacesInfo(XMLNode node) { writer.writeImplementedInterfacesInfo(); } /** * If this is an interface, list all super interfaces. */ - public void buildSuperInterfacesInfo() { + public void buildSuperInterfacesInfo(XMLNode node) { writer.writeSuperInterfacesInfo(); } /** * List the parameters of this class. */ - public void buildTypeParamInfo() { + public void buildTypeParamInfo(XMLNode node) { writer.writeTypeParamInfo(); } /** * List all the classes extend this one. */ - public void buildSubClassInfo() { + public void buildSubClassInfo(XMLNode node) { writer.writeSubClassInfo(); } /** * List all the interfaces that extend this one. */ - public void buildSubInterfacesInfo() { + public void buildSubInterfacesInfo(XMLNode node) { writer.writeSubInterfacesInfo(); } /** * If this is an interface, list all classes that implement this interface. */ - public void buildInterfaceUsageInfo () { + public void buildInterfaceUsageInfo (XMLNode node) { writer.writeInterfaceUsageInfo(); } @@ -236,21 +221,21 @@ * If this is an inner class or interface, list the enclosing class or * interface. */ - public void buildNestedClassInfo () { + public void buildNestedClassInfo (XMLNode node) { writer.writeNestedClassInfo(); } /** * If this class is deprecated, print the appropriate information. */ - public void buildDeprecationInfo () { + public void buildDeprecationInfo (XMLNode node) { writer.writeClassDeprecationInfo(); } /** * Build the signature of the current class. */ - public void buildClassSignature() { + public void buildClassSignature(XMLNode node) { StringBuffer modifiers = new StringBuffer(classDoc.modifiers() + " "); if (isEnum) { modifiers.append("enum "); @@ -276,14 +261,14 @@ /** * Build the class description. */ - public void buildClassDescription() { + public void buildClassDescription(XMLNode node) { writer.writeClassDescription(); } /** * Build the tag information for the current class. */ - public void buildClassTagInfo() { + public void buildClassTagInfo(XMLNode node) { writer.writeClassTagInfo(); } @@ -293,9 +278,9 @@ * @param elements the XML elements that specify how a member summary is * documented. */ - public void buildMemberSummary(List elements) throws Exception { + public void buildMemberSummary(XMLNode node) throws Exception { configuration.getBuilderFactory(). - getMemberSummaryBuilder(writer).build(elements); + getMemberSummaryBuilder(writer).buildChildren(node); writer.completeMemberSummaryBuild(); } @@ -305,9 +290,9 @@ * @param elements the XML elements that specify how a enum constants are * documented. */ - public void buildEnumConstantsDetails(List elements) throws Exception { + public void buildEnumConstantsDetails(XMLNode node) throws Exception { configuration.getBuilderFactory(). - getEnumConstantsBuilder(writer).build(elements); + getEnumConstantsBuilder(writer).buildChildren(node); } /** @@ -315,9 +300,9 @@ * * @param elements the XML elements that specify how a field is documented. */ - public void buildFieldDetails(List elements) throws Exception { + public void buildFieldDetails(XMLNode node) throws Exception { configuration.getBuilderFactory(). - getFieldBuilder(writer).build(elements); + getFieldBuilder(writer).buildChildren(node); } /** @@ -326,9 +311,9 @@ * @param elements the XML elements that specify how to document a * constructor. */ - public void buildConstructorDetails(List elements) throws Exception { + public void buildConstructorDetails(XMLNode node) throws Exception { configuration.getBuilderFactory(). - getConstructorBuilder(writer).build(elements); + getConstructorBuilder(writer).buildChildren(node); } /** @@ -336,15 +321,15 @@ * * @param elements the XML elements that specify how a method is documented. */ - public void buildMethodDetails(List elements) throws Exception { + public void buildMethodDetails(XMLNode node) throws Exception { configuration.getBuilderFactory(). - getMethodBuilder(writer).build(elements); + getMethodBuilder(writer).buildChildren(node); } /** * Build the footer of the page. */ - public void buildClassFooter() { + public void buildClassFooter(XMLNode node) { writer.writeFooter(); } } diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstantsSummaryBuilder.java --- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstantsSummaryBuilder.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstantsSummaryBuilder.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,7 +30,6 @@ import com.sun.javadoc.*; import java.io.*; import java.util.*; -import java.lang.reflect.*; /** * Builds the Constants Summary Page. @@ -109,20 +108,6 @@ /** * {@inheritDoc} */ - public void invokeMethod(String methodName, Class[] paramClasses, - Object[] params) - throws Exception { - if (DEBUG) { - configuration.root.printError("DEBUG: " + this.getClass().getName() - + "." + methodName); - } - Method method = this.getClass().getMethod(methodName, paramClasses); - method.invoke(this, params); - } - - /** - * {@inheritDoc} - */ public void build() throws IOException { if (writer == null) { //Doclet does not support this output. @@ -144,29 +129,29 @@ * @param elements the list of elements describing constant summary * documentation. */ - public void buildConstantSummary(List elements) throws Exception { - build(elements); + public void buildConstantSummary(XMLNode node) throws Exception { + buildChildren(node); writer.close(); } /** * Build the header. */ - public void buildHeader() { + public void buildHeader(XMLNode node) { writer.writeHeader(); } /** * Build the footer. */ - public void buildFooter() { + public void buildFooter(XMLNode node) { writer.writeFooter(); } /** * Build the table of contents. */ - public void buildContents() { + public void buildContents(XMLNode node) { writer.writeContentsHeader(); PackageDoc[] packages = configuration.packages; printedPackageHeaders = new HashSet(); @@ -186,14 +171,14 @@ * @param elements the XML elements that represent the components * of documentation for each package. */ - public void buildConstantSummaries(List elements) { + public void buildConstantSummaries(XMLNode node) { PackageDoc[] packages = configuration.packages; printedPackageHeaders = new HashSet(); for (int i = 0; i < packages.length; i++) { if (hasConstantField(packages[i])) { currentPackage = packages[i]; //Build the documentation for the current package. - build(elements); + buildChildren(node); } } } @@ -204,8 +189,8 @@ * @param elements the list of XML elements that make up package * documentation. */ - public void buildPackageConstantSummary(List elements) { - build(elements); + public void buildPackageConstantSummary(XMLNode node) { + buildChildren(node); } /** @@ -214,7 +199,7 @@ * @param elements the list of XML elements that make up the class * constant summary. */ - public void buildClassConstantSummary(List elements) { + public void buildClassConstantSummary(XMLNode node) { ClassDoc[] classes = currentPackage.name().length() > 0 ? currentPackage.allClasses() : configuration.classDocCatalog.allClasses( @@ -227,14 +212,14 @@ } currentClass = classes[i]; //Build the documentation for the current class. - build(elements); + buildChildren(node); } } /** * Build the header for the given class. */ - public void buildPackageHeader() { + public void buildPackageHeader(XMLNode node) { String parsedPackageName = parsePackageName(currentPackage.name()); if (! printedPackageHeaders.contains(parsedPackageName)) { writer.writePackageName(currentPackage, @@ -246,7 +231,7 @@ /** * Build the header for the given class. */ - public void buildClassHeader() { + public void buildClassHeader(XMLNode node) { writer.writeConstantMembersHeader(currentClass); } @@ -254,14 +239,14 @@ * Print summary of constant members in the * class. */ - public void buildConstantMembers() { - new ConstantFieldBuilder(currentClass).buildMembersSummary(); + public void buildConstantMembers(XMLNode node) { + new ConstantFieldBuilder(currentClass).buildMembersSummary(node); } /** * Build the footer for the given class. */ - public void buildClassFooter() { + public void buildClassFooter(XMLNode node) { writer.writeConstantMembersFooter(currentClass); } @@ -362,7 +347,7 @@ /** * Builds the table of constants for a given class. */ - protected void buildMembersSummary() { + protected void buildMembersSummary(XMLNode node) { List members = new ArrayList(members()); if (members.size() > 0) { Collections.sort(members); diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstructorBuilder.java --- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstructorBuilder.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstructorBuilder.java Mon Jun 21 22:09:18 2010 -0700 @@ -28,7 +28,6 @@ import com.sun.tools.doclets.internal.toolkit.util.*; import com.sun.tools.doclets.internal.toolkit.*; import com.sun.javadoc.*; -import java.lang.reflect.*; import java.util.*; /** @@ -134,22 +133,6 @@ } /** - * {@inheritDoc} - */ - public void invokeMethod( - String methodName, - Class[] paramClasses, - Object[] params) - throws Exception { - if (DEBUG) { - configuration.root.printError( - "DEBUG: " + this.getClass().getName() + "." + methodName); - } - Method method = this.getClass().getMethod(methodName, paramClasses); - method.invoke(this, params); - } - - /** * Returns a list of constructors that will be documented for the given class. * This information can be used for doclet specific documentation * generation. @@ -175,21 +158,21 @@ * @param elements the XML elements that specify how to construct this * documentation. */ - public void buildConstructorDoc(List elements) { + public void buildConstructorDoc(XMLNode node) { if (writer == null) { return; } for (currentMethodIndex = 0; currentMethodIndex < constructors.size(); currentMethodIndex++) { - build(elements); + buildChildren(node); } } /** * Build the overall header. */ - public void buildHeader() { + public void buildHeader(XMLNode node) { writer.writeHeader( classDoc, configuration.getText("doclet.Constructor_Detail")); @@ -198,7 +181,7 @@ /** * Build the header for the individual constructor. */ - public void buildConstructorHeader() { + public void buildConstructorHeader(XMLNode node) { writer.writeConstructorHeader( (ConstructorDoc) constructors.get(currentMethodIndex), currentMethodIndex == 0); @@ -207,7 +190,7 @@ /** * Build the signature. */ - public void buildSignature() { + public void buildSignature(XMLNode node) { writer.writeSignature( (ConstructorDoc) constructors.get(currentMethodIndex)); } @@ -215,7 +198,7 @@ /** * Build the deprecation information. */ - public void buildDeprecationInfo() { + public void buildDeprecationInfo(XMLNode node) { writer.writeDeprecated( (ConstructorDoc) constructors.get(currentMethodIndex)); } @@ -224,7 +207,7 @@ * Build the comments for the constructor. Do nothing if * {@link Configuration#nocomment} is set to true. */ - public void buildConstructorComments() { + public void buildConstructorComments(XMLNode node) { if (!configuration.nocomment) { writer.writeComments( (ConstructorDoc) constructors.get(currentMethodIndex)); @@ -234,21 +217,21 @@ /** * Build the tag information. */ - public void buildTagInfo() { + public void buildTagInfo(XMLNode node) { writer.writeTags((ConstructorDoc) constructors.get(currentMethodIndex)); } /** * Build the footer for the individual constructor. */ - public void buildConstructorFooter() { + public void buildConstructorFooter(XMLNode node) { writer.writeConstructorFooter(); } /** * Build the overall footer. */ - public void buildFooter() { + public void buildFooter(XMLNode node) { writer.writeFooter(classDoc); } } diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/EnumConstantBuilder.java --- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/EnumConstantBuilder.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/EnumConstantBuilder.java Mon Jun 21 22:09:18 2010 -0700 @@ -29,7 +29,6 @@ import com.sun.tools.doclets.internal.toolkit.*; import com.sun.javadoc.*; import java.util.*; -import java.lang.reflect.*; /** * Builds documentation for a enum constants. @@ -116,22 +115,6 @@ } /** - * {@inheritDoc} - */ - public void invokeMethod( - String methodName, - Class[] paramClasses, - Object[] params) - throws Exception { - if (DEBUG) { - configuration.root.printError( - "DEBUG: " + this.getClass().getName() + "." + methodName); - } - Method method = this.getClass().getMethod(methodName, paramClasses); - method.invoke(this, params); - } - - /** * Returns a list of enum constants that will be documented for the given class. * This information can be used for doclet specific documentation * generation. @@ -165,21 +148,21 @@ * @param elements the XML elements that specify how to construct this * documentation. */ - public void buildEnumConstant(List elements) { + public void buildEnumConstant(XMLNode node) { if (writer == null) { return; } for (currentEnumConstantsIndex = 0; currentEnumConstantsIndex < enumConstants.size(); currentEnumConstantsIndex++) { - build(elements); + buildChildren(node); } } /** * Build the overall header. */ - public void buildHeader() { + public void buildHeader(XMLNode node) { writer.writeHeader( classDoc, configuration.getText("doclet.Enum_Constant_Detail")); @@ -188,7 +171,7 @@ /** * Build the header for the individual enum constants. */ - public void buildEnumConstantHeader() { + public void buildEnumConstantHeader(XMLNode node) { writer.writeEnumConstantHeader( (FieldDoc) enumConstants.get(currentEnumConstantsIndex), currentEnumConstantsIndex == 0); @@ -197,7 +180,7 @@ /** * Build the signature. */ - public void buildSignature() { + public void buildSignature(XMLNode node) { writer.writeSignature( (FieldDoc) enumConstants.get(currentEnumConstantsIndex)); } @@ -205,7 +188,7 @@ /** * Build the deprecation information. */ - public void buildDeprecationInfo() { + public void buildDeprecationInfo(XMLNode node) { writer.writeDeprecated( (FieldDoc) enumConstants.get(currentEnumConstantsIndex)); } @@ -214,7 +197,7 @@ * Build the comments for the enum constant. Do nothing if * {@link Configuration#nocomment} is set to true. */ - public void buildEnumConstantComments() { + public void buildEnumConstantComments(XMLNode node) { if (!configuration.nocomment) { writer.writeComments( (FieldDoc) enumConstants.get(currentEnumConstantsIndex)); @@ -224,7 +207,7 @@ /** * Build the tag information. */ - public void buildTagInfo() { + public void buildTagInfo(XMLNode node) { writer.writeTags( (FieldDoc) enumConstants.get(currentEnumConstantsIndex)); } @@ -232,14 +215,14 @@ /** * Build the footer for the individual enum constants. */ - public void buildEnumConstantFooter() { + public void buildEnumConstantFooter(XMLNode node) { writer.writeEnumConstantFooter(); } /** * Build the overall footer. */ - public void buildFooter() { + public void buildFooter(XMLNode node) { writer.writeFooter(classDoc); } diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/FieldBuilder.java --- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/FieldBuilder.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/FieldBuilder.java Mon Jun 21 22:09:18 2010 -0700 @@ -29,7 +29,6 @@ import com.sun.tools.doclets.internal.toolkit.*; import com.sun.javadoc.*; import java.util.*; -import java.lang.reflect.*; /** * Builds documentation for a field. @@ -117,22 +116,6 @@ } /** - * {@inheritDoc} - */ - public void invokeMethod( - String methodName, - Class[] paramClasses, - Object[] params) - throws Exception { - if (DEBUG) { - configuration.root.printError( - "DEBUG: " + this.getClass().getName() + "." + methodName); - } - Method method = this.getClass().getMethod(methodName, paramClasses); - method.invoke(this, params); - } - - /** * Returns a list of fields that will be documented for the given class. * This information can be used for doclet specific documentation * generation. @@ -166,21 +149,21 @@ * @param elements the XML elements that specify how to construct this * documentation. */ - public void buildFieldDoc(List elements) { + public void buildFieldDoc(XMLNode node) { if (writer == null) { return; } for (currentFieldIndex = 0; currentFieldIndex < fields.size(); currentFieldIndex++) { - build(elements); + buildChildren(node); } } /** * Build the overall header. */ - public void buildHeader() { + public void buildHeader(XMLNode node) { writer.writeHeader( classDoc, configuration.getText("doclet.Field_Detail")); @@ -189,7 +172,7 @@ /** * Build the header for the individual field. */ - public void buildFieldHeader() { + public void buildFieldHeader(XMLNode node) { writer.writeFieldHeader( (FieldDoc) fields.get(currentFieldIndex), currentFieldIndex == 0); @@ -198,14 +181,14 @@ /** * Build the signature. */ - public void buildSignature() { + public void buildSignature(XMLNode node) { writer.writeSignature((FieldDoc) fields.get(currentFieldIndex)); } /** * Build the deprecation information. */ - public void buildDeprecationInfo() { + public void buildDeprecationInfo(XMLNode node) { writer.writeDeprecated((FieldDoc) fields.get(currentFieldIndex)); } @@ -213,7 +196,7 @@ * Build the comments for the field. Do nothing if * {@link Configuration#nocomment} is set to true. */ - public void buildFieldComments() { + public void buildFieldComments(XMLNode node) { if (!configuration.nocomment) { writer.writeComments((FieldDoc) fields.get(currentFieldIndex)); } @@ -222,21 +205,21 @@ /** * Build the tag information. */ - public void buildTagInfo() { + public void buildTagInfo(XMLNode node) { writer.writeTags((FieldDoc) fields.get(currentFieldIndex)); } /** * Build the footer for the individual field. */ - public void buildFieldFooter() { + public void buildFieldFooter(XMLNode node) { writer.writeFieldFooter(); } /** * Build the overall footer. */ - public void buildFooter() { + public void buildFooter(XMLNode node) { writer.writeFooter(classDoc); } diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/LayoutParser.java --- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/LayoutParser.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/LayoutParser.java Mon Jun 21 22:09:18 2010 -0700 @@ -45,8 +45,8 @@ /** * The map of XML elements that have been parsed. */ - private Map> xmlElementsMap; - + private Map xmlElementsMap; + private XMLNode currentNode; private Configuration configuration; private static LayoutParser instance; private String currentRoot; @@ -56,7 +56,7 @@ * This class is a singleton. */ private LayoutParser(Configuration configuration) { - xmlElementsMap = new HashMap>(); + xmlElementsMap = new HashMap(); this.configuration = configuration; } @@ -78,20 +78,18 @@ * * @return List the list of XML elements parsed. */ - public List parseXML(String root) { + public XMLNode parseXML(String root) { if (xmlElementsMap.containsKey(root)) { return xmlElementsMap.get(root); } try { - List xmlElements = new ArrayList(); - xmlElementsMap.put(root, xmlElements); currentRoot = root; isParsing = false; SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser saxParser = factory.newSAXParser(); InputStream in = configuration.getBuilderXML(); saxParser.parse(in, this); - return xmlElements; + return xmlElementsMap.get(root); } catch (Throwable t) { t.printStackTrace(); throw new DocletAbortException(); @@ -101,39 +99,30 @@ /** * {@inheritDoc} */ + @Override public void startElement(String namespaceURI, String sName, String qName, Attributes attrs) throws SAXException { if (isParsing || qName.equals(currentRoot)) { isParsing = true; - List xmlElements = xmlElementsMap.get(currentRoot); - xmlElements.add(qName); + currentNode = new XMLNode(currentNode, qName); + for (int i = 0; i < attrs.getLength(); i++) + currentNode.attrs.put(attrs.getLocalName(i), attrs.getValue(i)); + if (qName.equals(currentRoot)) + xmlElementsMap.put(qName, currentNode); } } /** * {@inheritDoc} */ + @Override public void endElement(String namespaceURI, String sName, String qName) throws SAXException { if (! isParsing) { - isParsing = false; return; } - List xmlElements = xmlElementsMap.get(currentRoot); - if (xmlElements.get(xmlElements.size()-1).equals(qName)) { - return; - } else { - List subElements = new ArrayList(); - int targetIndex = xmlElements.indexOf(qName); - int size = xmlElements.size(); - for (int i = targetIndex; i < size; i++) { - subElements.add(xmlElements.get(targetIndex)); - xmlElements.remove(targetIndex); - } - //Save the sub elements as a list. - xmlElements.add(subElements); - } + currentNode = currentNode.parent; isParsing = ! qName.equals(currentRoot); } } diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java --- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java Mon Jun 21 22:09:18 2010 -0700 @@ -29,7 +29,6 @@ import com.sun.tools.doclets.internal.toolkit.*; import com.sun.javadoc.*; import java.util.*; -import java.lang.reflect.*; /** * Builds the member summary. @@ -175,22 +174,6 @@ } /** - * {@inheritDoc} - */ - public void invokeMethod( - String methodName, - Class[] paramClasses, - Object[] params) - throws Exception { - if (DEBUG) { - configuration.root.printError( - "DEBUG: " + this.getClass().getName() + "." + methodName); - } - Method method = this.getClass().getMethod(methodName, paramClasses); - method.invoke(this, params); - } - - /** * Return true it there are any members to summarize. * * @return true if there are any members to summarize. @@ -211,7 +194,7 @@ /** * Build the summary for the enum constants. */ - public void buildEnumConstantsSummary() { + public void buildEnumConstantsSummary(XMLNode node) { buildSummary( memberSummaryWriters[VisibleMemberMap.ENUM_CONSTANTS], visibleMemberMaps[VisibleMemberMap.ENUM_CONSTANTS]); @@ -220,7 +203,7 @@ /** * Build the summary for the optional members. */ - public void buildAnnotationTypeOptionalMemberSummary() { + public void buildAnnotationTypeOptionalMemberSummary(XMLNode node) { buildSummary( memberSummaryWriters[VisibleMemberMap.ANNOTATION_TYPE_MEMBER_OPTIONAL], visibleMemberMaps[VisibleMemberMap.ANNOTATION_TYPE_MEMBER_OPTIONAL]); @@ -229,7 +212,7 @@ /** * Build the summary for the optional members. */ - public void buildAnnotationTypeRequiredMemberSummary() { + public void buildAnnotationTypeRequiredMemberSummary(XMLNode node) { buildSummary( memberSummaryWriters[VisibleMemberMap.ANNOTATION_TYPE_MEMBER_REQUIRED], visibleMemberMaps[VisibleMemberMap.ANNOTATION_TYPE_MEMBER_REQUIRED]); @@ -238,7 +221,7 @@ /** * Build the summary for the fields. */ - public void buildFieldsSummary() { + public void buildFieldsSummary(XMLNode node) { buildSummary( memberSummaryWriters[VisibleMemberMap.FIELDS], visibleMemberMaps[VisibleMemberMap.FIELDS]); @@ -247,7 +230,7 @@ /** * Build the inherited summary for the fields. */ - public void buildFieldsInheritedSummary() { + public void buildFieldsInheritedSummary(XMLNode node) { buildInheritedSummary( memberSummaryWriters[VisibleMemberMap.FIELDS], visibleMemberMaps[VisibleMemberMap.FIELDS]); @@ -256,7 +239,7 @@ /** * Build the summary for the nested classes. */ - public void buildNestedClassesSummary() { + public void buildNestedClassesSummary(XMLNode node) { buildSummary( memberSummaryWriters[VisibleMemberMap.INNERCLASSES], visibleMemberMaps[VisibleMemberMap.INNERCLASSES]); @@ -265,7 +248,7 @@ /** * Build the inherited summary for the nested classes. */ - public void buildNestedClassesInheritedSummary() { + public void buildNestedClassesInheritedSummary(XMLNode node) { buildInheritedSummary( memberSummaryWriters[VisibleMemberMap.INNERCLASSES], visibleMemberMaps[VisibleMemberMap.INNERCLASSES]); @@ -274,7 +257,7 @@ /** * Build the method summary. */ - public void buildMethodsSummary() { + public void buildMethodsSummary(XMLNode node) { buildSummary( memberSummaryWriters[VisibleMemberMap.METHODS], visibleMemberMaps[VisibleMemberMap.METHODS]); @@ -283,7 +266,7 @@ /** * Build the inherited method summary. */ - public void buildMethodsInheritedSummary() { + public void buildMethodsInheritedSummary(XMLNode node) { buildInheritedSummary( memberSummaryWriters[VisibleMemberMap.METHODS], visibleMemberMaps[VisibleMemberMap.METHODS]); @@ -292,7 +275,7 @@ /** * Build the constructor summary. */ - public void buildConstructorsSummary() { + public void buildConstructorsSummary(XMLNode node) { buildSummary( memberSummaryWriters[VisibleMemberMap.CONSTRUCTORS], visibleMemberMaps[VisibleMemberMap.CONSTRUCTORS]); diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MethodBuilder.java --- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MethodBuilder.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MethodBuilder.java Mon Jun 21 22:09:18 2010 -0700 @@ -29,7 +29,7 @@ import com.sun.tools.doclets.internal.toolkit.*; import com.sun.javadoc.*; import java.util.*; -import java.lang.reflect.*; + /** * Builds documentation for a method. * @@ -112,22 +112,6 @@ } /** - * {@inheritDoc} - */ - public void invokeMethod( - String methodName, - Class[] paramClasses, - Object[] params) - throws Exception { - if (DEBUG) { - configuration.root.printError( - "DEBUG: " + this.getClass().getName() + "." + methodName); - } - Method method = this.getClass().getMethod(methodName, paramClasses); - method.invoke(this, params); - } - - /** * Returns a list of methods that will be documented for the given class. * This information can be used for doclet specific documentation * generation. @@ -158,21 +142,21 @@ /** * Build the method documentation. */ - public void buildMethodDoc(List elements) { + public void buildMethodDoc(XMLNode node) { if (writer == null) { return; } for (currentMethodIndex = 0; currentMethodIndex < methods.size(); currentMethodIndex++) { - build(elements); + buildChildren(node); } } /** * Build the overall header. */ - public void buildHeader() { + public void buildHeader(XMLNode node) { writer.writeHeader( classDoc, configuration.getText("doclet.Method_Detail")); @@ -181,7 +165,7 @@ /** * Build the header for the individual method. */ - public void buildMethodHeader() { + public void buildMethodHeader(XMLNode node) { writer.writeMethodHeader( (MethodDoc) methods.get(currentMethodIndex), currentMethodIndex == 0); @@ -190,14 +174,14 @@ /** * Build the signature. */ - public void buildSignature() { + public void buildSignature(XMLNode node) { writer.writeSignature((MethodDoc) methods.get(currentMethodIndex)); } /** * Build the deprecation information. */ - public void buildDeprecationInfo() { + public void buildDeprecationInfo(XMLNode node) { writer.writeDeprecated((MethodDoc) methods.get(currentMethodIndex)); } @@ -205,7 +189,7 @@ * Build the comments for the method. Do nothing if * {@link Configuration#nocomment} is set to true. If this method */ - public void buildMethodComments() { + public void buildMethodComments(XMLNode node) { if (!configuration.nocomment) { MethodDoc method = (MethodDoc) methods.get(currentMethodIndex); @@ -228,21 +212,21 @@ /** * Build the tag information. */ - public void buildTagInfo() { + public void buildTagInfo(XMLNode node) { writer.writeTags((MethodDoc) methods.get(currentMethodIndex)); } /** * Build the footer of the method. */ - public void buildMethodFooter() { + public void buildMethodFooter(XMLNode node) { writer.writeMethodFooter(); } /** * Build the overall footer. */ - public void buildFooter() { + public void buildFooter(XMLNode node) { writer.writeFooter(classDoc); } diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PackageSummaryBuilder.java --- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PackageSummaryBuilder.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PackageSummaryBuilder.java Mon Jun 21 22:09:18 2010 -0700 @@ -29,8 +29,6 @@ import com.sun.tools.doclets.internal.toolkit.*; import com.sun.javadoc.*; import java.io.*; -import java.util.*; -import java.lang.reflect.*; /** * Builds the summary for a given package. @@ -85,22 +83,6 @@ } /** - * {@inheritDoc} - */ - public void invokeMethod( - String methodName, - Class[] paramClasses, - Object[] params) - throws Exception { - if (DEBUG) { - configuration.root.printError( - "DEBUG: " + this.getClass().getName() + "." + methodName); - } - Method method = this.getClass().getMethod(methodName, paramClasses); - method.invoke(this, params); - } - - /** * Build the package summary. */ public void build() throws IOException { @@ -121,8 +103,8 @@ /** * Build the package documentation. */ - public void buildPackageDoc(List elements) throws Exception { - build(elements); + public void buildPackageDoc(XMLNode node) throws Exception { + buildChildren(node); packageWriter.close(); Util.copyDocFiles( configuration, @@ -136,14 +118,14 @@ /** * Build the header of the summary. */ - public void buildPackageHeader() { + public void buildPackageHeader(XMLNode node) { packageWriter.writePackageHeader(Util.getPackageName(packageDoc)); } /** * Build the description of the summary. */ - public void buildPackageDescription() { + public void buildPackageDescription(XMLNode node) { if (configuration.nocomment) { return; } @@ -153,7 +135,7 @@ /** * Build the tags of the summary. */ - public void buildPackageTags() { + public void buildPackageTags(XMLNode node) { if (configuration.nocomment) { return; } @@ -163,28 +145,28 @@ /** * Build the package summary. */ - public void buildSummary(List elements) { - build(elements); + public void buildSummary(XMLNode node) { + buildChildren(node); } /** * Build the overall header. */ - public void buildSummaryHeader() { + public void buildSummaryHeader(XMLNode node) { packageWriter.writeSummaryHeader(); } /** * Build the overall footer. */ - public void buildSummaryFooter() { + public void buildSummaryFooter(XMLNode node) { packageWriter.writeSummaryFooter(); } /** * Build the summary for the classes in this package. */ - public void buildClassSummary() { + public void buildClassSummary(XMLNode node) { String classTableSummary = configuration.getText("doclet.Member_Table_Summary", configuration.getText("doclet.Class_Summary"), @@ -209,7 +191,7 @@ /** * Build the summary for the interfaces in this package. */ - public void buildInterfaceSummary() { + public void buildInterfaceSummary(XMLNode node) { String interfaceTableSummary = configuration.getText("doclet.Member_Table_Summary", configuration.getText("doclet.Interface_Summary"), @@ -234,7 +216,7 @@ /** * Build the summary for the enums in this package. */ - public void buildAnnotationTypeSummary() { + public void buildAnnotationTypeSummary(XMLNode node) { String annotationtypeTableSummary = configuration.getText("doclet.Member_Table_Summary", configuration.getText("doclet.Annotation_Types_Summary"), @@ -259,7 +241,7 @@ /** * Build the summary for the enums in this package. */ - public void buildEnumSummary() { + public void buildEnumSummary(XMLNode node) { String enumTableSummary = configuration.getText("doclet.Member_Table_Summary", configuration.getText("doclet.Enum_Summary"), @@ -284,7 +266,7 @@ /** * Build the summary for the exceptions in this package. */ - public void buildExceptionSummary() { + public void buildExceptionSummary(XMLNode node) { String exceptionTableSummary = configuration.getText("doclet.Member_Table_Summary", configuration.getText("doclet.Exception_Summary"), @@ -309,7 +291,7 @@ /** * Build the summary for the errors in this package. */ - public void buildErrorSummary() { + public void buildErrorSummary(XMLNode node) { String errorTableSummary = configuration.getText("doclet.Member_Table_Summary", configuration.getText("doclet.Error_Summary"), @@ -334,7 +316,7 @@ /** * Build the footer of the summary. */ - public void buildPackageFooter() { + public void buildPackageFooter(XMLNode node) { packageWriter.writePackageFooter(); } } diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java --- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java Mon Jun 21 22:09:18 2010 -0700 @@ -26,7 +26,6 @@ package com.sun.tools.doclets.internal.toolkit.builders; import java.io.*; -import java.lang.reflect.*; import java.util.*; import com.sun.javadoc.*; @@ -132,47 +131,33 @@ /** * Build the serialized form. */ - public void buildSerializedForm(List elements) throws Exception { - build(elements); + public void buildSerializedForm(XMLNode node) throws Exception { + buildChildren(node); writer.close(); } /** - * {@inheritDoc} - */ - public void invokeMethod(String methodName, Class[] paramClasses, - Object[] params) - throws Exception { - if (DEBUG) { - configuration.root.printError("DEBUG: " + this.getClass().getName() - + "." + methodName); - } - Method method = this.getClass().getMethod(methodName, paramClasses); - method.invoke(this, params); - } - - /** * Build the header. */ - public void buildHeader() { + public void buildHeader(XMLNode node) { writer.writeHeader(configuration.getText("doclet.Serialized_Form")); } /** * Build the contents. */ - public void buildSerializedFormSummaries(List elements) { + public void buildSerializedFormSummaries(XMLNode node) { PackageDoc[] packages = configuration.packages; for (int i = 0; i < packages.length; i++) { currentPackage = packages[i]; - build(elements); + buildChildren(node); } } /** * Build the package serialized for for the current package being processed. */ - public void buildPackageSerializedForm(List elements) { + public void buildPackageSerializedForm(XMLNode node) { String foo = currentPackage.name(); ClassDoc[] classes = currentPackage.allClasses(false); if (classes == null || classes.length == 0) { @@ -184,14 +169,14 @@ if (!serialClassFoundToDocument(classes)) { return; } - build(elements); + buildChildren(node); } - public void buildPackageHeader() { + public void buildPackageHeader(XMLNode node) { writer.writePackageHeader(Util.getPackageName(currentPackage)); } - public void buildClassSerializedForm(List elements) { + public void buildClassSerializedForm(XMLNode node) { ClassDoc[] classes = currentPackage.allClasses(false); Arrays.sort(classes); for (int j = 0; j < classes.length; j++) { @@ -202,19 +187,19 @@ if(!serialClassInclude(currentClass)) { continue; } - build(elements); + buildChildren(node); } } } - public void buildClassHeader() { + public void buildClassHeader(XMLNode node) { writer.writeClassHeader(currentClass); } /** * Build the serial UID information for the given class. */ - public void buildSerialUIDInfo() { + public void buildSerialUIDInfo(XMLNode node) { FieldDoc[] fields = currentClass.fields(false); for (int i = 0; i < fields.length; i++) { if (fields[i].name().equals("serialVersionUID") && @@ -229,7 +214,7 @@ /** * Build the footer. */ - public void buildFooter() { + public void buildFooter(XMLNode node) { writer.writeFooter(); } @@ -316,7 +301,7 @@ /** * Build the method header. */ - public void buildMethodHeader() { + public void buildMethodHeader(XMLNode node) { if (currentClass.serializationMethods().length > 0) { methodWriter.writeHeader( configuration.getText("doclet.Serialized_Form_methods")); @@ -333,28 +318,28 @@ /** * Build the method sub header. */ - public void buildMethodSubHeader() { + public void buildMethodSubHeader(XMLNode node) { methodWriter.writeMemberHeader((MethodDoc) currentMember); } /** * Build the deprecated method description. */ - public void buildDeprecatedMethodInfo() { + public void buildDeprecatedMethodInfo(XMLNode node) { methodWriter.writeDeprecatedMemberInfo((MethodDoc) currentMember); } /** * Build method tags. */ - public void buildMethodDescription() { + public void buildMethodDescription(XMLNode node) { methodWriter.writeMemberDescription((MethodDoc) currentMember); } /** * Build the method tags. */ - public void buildMethodTags() { + public void buildMethodTags(XMLNode node) { methodWriter.writeMemberTags((MethodDoc) currentMember); MethodDoc method = (MethodDoc)currentMember; if (method.name().compareTo("writeExternal") == 0 @@ -370,24 +355,24 @@ /** * build the information for the method. */ - public void buildMethodInfo(List elements) { + public void buildMethodInfo(XMLNode node) { if(configuration.nocomment){ return; } - build(elements); + buildChildren(node); } /** * Build the method footer. */ - public void buildMethodFooter() { + public void buildMethodFooter(XMLNode node) { methodWriter.writeMemberFooter(); } /** * Build the field header. */ - public void buildFieldHeader() { + public void buildFieldHeader(XMLNode node) { if (currentClass.serializableFields().length > 0) { buildFieldSerializationOverview(currentClass); fieldWriter.writeHeader(configuration.getText( @@ -426,7 +411,7 @@ /** * Build the field sub header. */ - public void buildFieldSubHeader() { + public void buildFieldSubHeader(XMLNode node) { if (! currentClass.definesSerializableFields() ){ FieldDoc field = (FieldDoc) currentMember; fieldWriter.writeMemberHeader(field.type().asClassDoc(), @@ -437,7 +422,7 @@ /** * Build the field deprecation information. */ - public void buildFieldDeprecationInfo() { + public void buildFieldDeprecationInfo(XMLNode node) { if (!currentClass.definesSerializableFields()) { FieldDoc field = (FieldDoc)currentMember; fieldWriter.writeMemberDeprecatedInfo(field); @@ -447,7 +432,7 @@ /** * Build the field information. */ - public void buildFieldInfo() { + public void buildFieldInfo(XMLNode node) { if(configuration.nocomment){ return; } @@ -483,7 +468,7 @@ /** * Build the field sub footer. */ - public void buildFieldSubFooter() { + public void buildFieldSubFooter(XMLNode node) { if (! currentClass.definesSerializableFields()) { fieldWriter.writeMemberFooter(); } @@ -493,12 +478,12 @@ * Build the summaries for the methods that belong to the given * class. */ - public void buildSerializableMethods(List elements) { + public void buildSerializableMethods(XMLNode node) { MemberDoc[] members = currentClass.serializationMethods(); if (members.length > 0) { for (int i = 0; i < members.length; i++) { currentMember = members[i]; - build(elements); + buildChildren(node); } } } @@ -507,12 +492,12 @@ * Build the summaries for the fields that belong to the given * class. */ - public void buildSerializableFields(List elements) { + public void buildSerializableFields(XMLNode node) { MemberDoc[] members = currentClass.serializableFields(); if (members.length > 0) { for (int i = 0; i < members.length; i++) { currentMember = members[i]; - build(elements); + buildChildren(node); } } } diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/XMLNode.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/XMLNode.java Mon Jun 21 22:09:18 2010 -0700 @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package com.sun.tools.doclets.internal.toolkit.builders; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Simple class to represent the attribute and elements of an XML node. + */ +public class XMLNode { + XMLNode(XMLNode parent, String qname) { + this.parent = parent; + name = qname; + attrs = new HashMap(); + children = new ArrayList(); + + if (parent != null) + parent.children.add(this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("<"); + sb.append(name); + for (Map.Entry e: attrs.entrySet()) + sb.append(" " + e.getKey() + "=\"" + e.getValue() + "\""); + if (children.size() == 0) + sb.append("/>"); + else { + sb.append(">"); + for (XMLNode c: children) + sb.append(c.toString()); + sb.append(""); + } + return sb.toString(); + } + + final XMLNode parent; + final String name; + final Map attrs; + final List children; +} diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/Launcher.java --- a/langtools/src/share/classes/com/sun/tools/javac/Launcher.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/Launcher.java Mon Jun 21 22:09:18 2010 -0700 @@ -41,7 +41,7 @@ * of a project). Simply ensure that this class is added to * the project and make it the main class of the project.

* - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice.

diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/Server.java --- a/langtools/src/share/classes/com/sun/tools/javac/Server.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/Server.java Mon Jun 21 22:09:18 2010 -0700 @@ -36,7 +36,7 @@ * Java Compiler Server. Can be used to speed up a set of (small) * compilation tasks by caching jar files between compilations. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice.

diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/api/DiagnosticFormatter.java --- a/langtools/src/share/classes/com/sun/tools/javac/api/DiagnosticFormatter.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/api/DiagnosticFormatter.java Mon Jun 21 22:09:18 2010 -0700 @@ -33,7 +33,7 @@ * Provides simple functionalities for javac diagnostic formatting. * @param type of diagnostic handled by this formatter * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/api/Formattable.java --- a/langtools/src/share/classes/com/sun/tools/javac/api/Formattable.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/api/Formattable.java Mon Jun 21 22:09:18 2010 -0700 @@ -31,7 +31,7 @@ * This interface must be implemented by any javac class that has non-trivial * formatting needs (e.g. where toString() does not apply because of localization). * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/api/JavacScope.java --- a/langtools/src/share/classes/com/sun/tools/javac/api/JavacScope.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/api/JavacScope.java Mon Jun 21 22:09:18 2010 -0700 @@ -38,7 +38,7 @@ /** * Provides an implementation of Scope. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice.

diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java --- a/langtools/src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java Mon Jun 21 22:09:18 2010 -0700 @@ -54,9 +54,9 @@ import com.sun.tools.javac.main.JavaCompiler; /** - * Provides access to functionality specific to the Sun Java Compiler, javac. + * Provides access to functionality specific to the JDK Java Compiler, javac. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice.

@@ -502,7 +502,7 @@ } /** - * For internal use by Sun Microsystems only. This method will be + * For internal use only. This method will be * removed without warning. */ public Context getContext() { @@ -510,7 +510,7 @@ } /** - * For internal use by Sun Microsystems only. This method will be + * For internal use only. This method will be * removed without warning. */ public void updateContext(Context newContext) { @@ -518,7 +518,7 @@ } /** - * For internal use by Sun Microsystems only. This method will be + * For internal use only. This method will be * removed without warning. */ public Type parseType(String expr, TypeElement scope) { diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/api/JavacTool.java --- a/langtools/src/share/classes/com/sun/tools/javac/api/JavacTool.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/api/JavacTool.java Mon Jun 21 22:09:18 2010 -0700 @@ -57,7 +57,7 @@ /** * TODO: describe com.sun.tools.javac.api.Tool * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice.

diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/api/JavacTrees.java --- a/langtools/src/share/classes/com/sun/tools/javac/api/JavacTrees.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/api/JavacTrees.java Mon Jun 21 22:09:18 2010 -0700 @@ -71,7 +71,7 @@ /** * Provides an implementation of Trees. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice.

diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/api/Messages.java --- a/langtools/src/share/classes/com/sun/tools/javac/api/Messages.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/api/Messages.java Mon Jun 21 22:09:18 2010 -0700 @@ -32,7 +32,7 @@ * This interface defines the minimum requirements in order to provide support * for localized formatted strings. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/api/WrappingJavaFileManager.java --- a/langtools/src/share/classes/com/sun/tools/javac/api/WrappingJavaFileManager.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/api/WrappingJavaFileManager.java Mon Jun 21 22:09:18 2010 -0700 @@ -42,7 +42,7 @@ *

This class might be moved to {@link javax.tools} in a future * release. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice.

diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/code/Attribute.java --- a/langtools/src/share/classes/com/sun/tools/javac/code/Attribute.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/code/Attribute.java Mon Jun 21 22:09:18 2010 -0700 @@ -38,8 +38,8 @@ /** An annotation value. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/code/BoundKind.java --- a/langtools/src/share/classes/com/sun/tools/javac/code/BoundKind.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/code/BoundKind.java Mon Jun 21 22:09:18 2010 -0700 @@ -27,7 +27,7 @@ /** * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/code/Flags.java --- a/langtools/src/share/classes/com/sun/tools/javac/code/Flags.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/code/Flags.java Mon Jun 21 22:09:18 2010 -0700 @@ -33,8 +33,8 @@ /** Access flags and other modifiers for Java classes and members. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ @@ -226,7 +226,7 @@ public static final long HYPOTHETICAL = 1L<<37; /** - * Flag that marks a Sun proprietary class. + * Flag that marks an internal proprietary class. */ public static final long PROPRIETARY = 1L<<38; diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/code/Kinds.java --- a/langtools/src/share/classes/com/sun/tools/javac/code/Kinds.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/code/Kinds.java Mon Jun 21 22:09:18 2010 -0700 @@ -38,8 +38,8 @@ * different subclasses of Symbol. Symbol kinds are organized so they can be * or'ed to sets. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/code/Lint.java --- a/langtools/src/share/classes/com/sun/tools/javac/code/Lint.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/code/Lint.java Mon Jun 21 22:09:18 2010 -0700 @@ -39,8 +39,8 @@ /** * A class for handling -Xlint suboptions and @SuppresssWarnings. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ @@ -196,14 +196,19 @@ RAW("rawtypes"), /** - * Warn about Sun proprietary API that may be removed in a future release. + * Warn about proprietary API that may be removed in a future release. */ SUNAPI("sunapi", true), /** * Warn about issues relating to use of statics */ - STATIC("static"); + STATIC("static"), + + /** + * Warn about potentially unsafe vararg methods + */ + VARARGS("varargs"); LintCategory(String option) { this(option, false); diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/code/Printer.java --- a/langtools/src/share/classes/com/sun/tools/javac/code/Printer.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/code/Printer.java Mon Jun 21 22:09:18 2010 -0700 @@ -41,7 +41,7 @@ * A combined type/symbol visitor for generating non-trivial localized string * representation of types and symbols. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/code/Scope.java --- a/langtools/src/share/classes/com/sun/tools/javac/code/Scope.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/code/Scope.java Mon Jun 21 22:09:18 2010 -0700 @@ -34,8 +34,8 @@ * as hash tables. Scopes can be nested; the next field of a scope points * to its next outer scope. Nested scopes can share their hash tables. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/code/Source.java --- a/langtools/src/share/classes/com/sun/tools/javac/code/Source.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/code/Source.java Mon Jun 21 22:09:18 2010 -0700 @@ -33,8 +33,8 @@ /** The source language version accepted. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/code/Symbol.java --- a/langtools/src/share/classes/com/sun/tools/javac/code/Symbol.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/code/Symbol.java Mon Jun 21 22:09:18 2010 -0700 @@ -49,8 +49,8 @@ * types, packages. Each subclass is represented as a static inner class * inside Symbol. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/code/Symtab.java --- a/langtools/src/share/classes/com/sun/tools/javac/code/Symtab.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/code/Symtab.java Mon Jun 21 22:09:18 2010 -0700 @@ -42,8 +42,8 @@ * fields. This makes it possible to work in multiple concurrent * projects, which might use different class files for library classes. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ @@ -469,7 +469,7 @@ synthesizeBoxTypeIfMissing(floatType); synthesizeBoxTypeIfMissing(voidType); - // Enter a synthetic class that is used to mark Sun + // Enter a synthetic class that is used to mark internal // proprietary classes in ct.sym. This class does not have a // class file. ClassType proprietaryType = (ClassType)enterClass("sun.Proprietary+Annotation"); diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/code/TargetType.java --- a/langtools/src/share/classes/com/sun/tools/javac/code/TargetType.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/code/TargetType.java Mon Jun 21 22:09:18 2010 -0700 @@ -39,8 +39,8 @@ * annotation targets a type argument in a local variable, method return type, * or a typecast). * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/code/Type.java --- a/langtools/src/share/classes/com/sun/tools/javac/code/Type.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/code/Type.java Mon Jun 21 22:09:18 2010 -0700 @@ -56,8 +56,8 @@ * the error type (tag: ERROR, class: ErrorType). * * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. * diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java --- a/langtools/src/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java Mon Jun 21 22:09:18 2010 -0700 @@ -29,8 +29,8 @@ /** A type annotation position. * -*

This is NOT part of any API supported by Sun Microsystems. If -* you write code that depends on this, you do so at your own risk. +*

This is NOT part of any supported API. +* If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/code/TypeTags.java --- a/langtools/src/share/classes/com/sun/tools/javac/code/TypeTags.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/code/TypeTags.java Mon Jun 21 22:09:18 2010 -0700 @@ -29,8 +29,8 @@ /** An interface for type tag values, which distinguish between different * sorts of types. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/code/Types.java --- a/langtools/src/share/classes/com/sun/tools/javac/code/Types.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/code/Types.java Mon Jun 21 22:09:18 2010 -0700 @@ -58,7 +58,7 @@ *

A second list of types should be named ss.
* * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/comp/Annotate.java --- a/langtools/src/share/classes/com/sun/tools/javac/comp/Annotate.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Annotate.java Mon Jun 21 22:09:18 2010 -0700 @@ -35,8 +35,8 @@ * which is processed at the top level of any set of recursive calls * requesting it be processed. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java --- a/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java Mon Jun 21 22:09:18 2010 -0700 @@ -59,8 +59,8 @@ * @see ConstFold * @see Infer * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ @@ -166,7 +166,7 @@ boolean useBeforeDeclarationWarning; /** - * Switch: allow lint infrastructure to control Sun proprietary + * Switch: allow lint infrastructure to control proprietary * API warnings. */ boolean enableSunApiLintControl; @@ -657,6 +657,8 @@ attribStat(l.head, localEnv); } + chk.checkVarargMethodDecl(tree); + // Check that type parameters are well-formed. chk.validate(tree.typarams, localEnv); if ((owner.flags() & ANNOTATION) != 0 && @@ -2634,10 +2636,11 @@ } if (useVarargs) { JCTree tree = env.tree; + Type argtype = owntype.getParameterTypes().last(); if (owntype.getReturnType().tag != FORALL || warned) { - chk.checkVararg(env.tree.pos(), owntype.getParameterTypes()); + chk.checkVararg(env.tree.pos(), owntype.getParameterTypes(), sym, env); } - Type elemtype = types.elemtype(owntype.getParameterTypes().last()); + Type elemtype = types.elemtype(argtype); switch (tree.getTag()) { case JCTree.APPLY: ((JCMethodInvocation) tree).varargsElement = elemtype; diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/comp/AttrContext.java --- a/langtools/src/share/classes/com/sun/tools/javac/comp/AttrContext.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/AttrContext.java Mon Jun 21 22:09:18 2010 -0700 @@ -31,8 +31,8 @@ /** Contains information specific to the attribute and enter * passes, to be used in place of the generic field in environments. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/comp/AttrContextEnv.java --- a/langtools/src/share/classes/com/sun/tools/javac/comp/AttrContextEnv.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/AttrContextEnv.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,8 +30,8 @@ /** {@code Env} specialized as {@code Env} * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/comp/Check.java --- a/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java Mon Jun 21 22:09:18 2010 -0700 @@ -47,8 +47,8 @@ /** Type checking helper class for the attribution phase. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ @@ -64,6 +64,7 @@ private final JCDiagnostic.Factory diags; private final boolean skipAnnotations; private boolean warnOnSyntheticConflicts; + private boolean suppressAbortOnBadClassFile; private final TreeInfo treeinfo; // The set of lint options currently in effect. It is initialized @@ -98,12 +99,14 @@ complexInference = options.get("-complexinference") != null; skipAnnotations = options.get("skipAnnotations") != null; warnOnSyntheticConflicts = options.get("warnOnSyntheticConflicts") != null; + suppressAbortOnBadClassFile = options.get("suppressAbortOnBadClassFile") != null; Target target = Target.instance(context); syntheticNameChar = target.syntheticNameChar(); boolean verboseDeprecated = lint.isEnabled(LintCategory.DEPRECATION); boolean verboseUnchecked = lint.isEnabled(LintCategory.UNCHECKED); + boolean verboseVarargs = lint.isEnabled(LintCategory.VARARGS); boolean verboseSunApi = lint.isEnabled(LintCategory.SUNAPI); boolean enforceMandatoryWarnings = source.enforceMandatoryWarnings(); @@ -111,6 +114,8 @@ enforceMandatoryWarnings, "deprecated"); uncheckedHandler = new MandatoryWarningHandler(log, verboseUnchecked, enforceMandatoryWarnings, "unchecked"); + unsafeVarargsHandler = new MandatoryWarningHandler(log, verboseVarargs, + enforceMandatoryWarnings, "varargs"); sunApiHandler = new MandatoryWarningHandler(log, verboseSunApi, enforceMandatoryWarnings, "sunapi"); } @@ -148,7 +153,11 @@ */ private MandatoryWarningHandler uncheckedHandler; - /** A handler for messages about using Sun proprietary API. + /** A handler for messages about unchecked or unsafe vararg method decl. + */ + private MandatoryWarningHandler unsafeVarargsHandler; + + /** A handler for messages about using proprietary API. */ private MandatoryWarningHandler sunApiHandler; @@ -180,7 +189,16 @@ uncheckedHandler.report(pos, msg, args); } - /** Warn about using Sun proprietary API. + /** Warn about unsafe vararg method decl. + * @param pos Position to be used for error reporting. + * @param sym The deprecated symbol. + */ + void warnUnsafeVararg(DiagnosticPosition pos, Type elemType) { + if (!lint.isSuppressed(LintCategory.VARARGS)) + unsafeVarargsHandler.report(pos, "varargs.non.reifiable.type", elemType); + } + + /** Warn about using proprietary API. * @param pos Position to be used for error reporting. * @param msg A string describing the problem. */ @@ -200,6 +218,7 @@ public void reportDeferredDiagnostics() { deprecationHandler.reportDeferredDiagnostic(); uncheckedHandler.reportDeferredDiagnostic(); + unsafeVarargsHandler.reportDeferredDiagnostic(); sunApiHandler.reportDeferredDiagnostic(); } @@ -210,7 +229,8 @@ */ public Type completionError(DiagnosticPosition pos, CompletionFailure ex) { log.error(pos, "cant.access", ex.sym, ex.getDetailValue()); - if (ex instanceof ClassReader.BadClassFile) throw new Abort(); + if (ex instanceof ClassReader.BadClassFile + && !suppressAbortOnBadClassFile) throw new Abort(); else return syms.errType; } @@ -677,17 +697,33 @@ } } + void checkVarargMethodDecl(JCMethodDecl tree) { + MethodSymbol m = tree.sym; + //check the element type of the vararg + if (m.isVarArgs()) { + Type varargElemType = types.elemtype(tree.params.last().type); + if (!types.isReifiable(varargElemType)) { + warnUnsafeVararg(tree.params.head.pos(), varargElemType); + } + } + } + /** * Check that vararg method call is sound * @param pos Position to be used for error reporting. * @param argtypes Actual arguments supplied to vararg method. */ - void checkVararg(DiagnosticPosition pos, List argtypes) { + void checkVararg(DiagnosticPosition pos, List argtypes, Symbol msym, Env env) { + Env calleeLintEnv = env; + while (calleeLintEnv.info.lint == null) + calleeLintEnv = calleeLintEnv.next; + Lint calleeLint = calleeLintEnv.info.lint.augment(msym.attributes_field, msym.flags()); Type argtype = argtypes.last(); - if (!types.isReifiable(argtype)) + if (!types.isReifiable(argtype) && !calleeLint.isSuppressed(Lint.LintCategory.VARARGS)) { warnUnchecked(pos, "unchecked.generic.array.creation", argtype); + } } /** Check that given modifiers are legal for given symbol and diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/comp/ConstFold.java --- a/langtools/src/share/classes/com/sun/tools/javac/comp/ConstFold.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/ConstFold.java Mon Jun 21 22:09:18 2010 -0700 @@ -37,8 +37,8 @@ /** Helper class for constant folding, used by the attribution phase. * This class is marked strictfp as mandated by JLS 15.4. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/comp/Enter.java --- a/langtools/src/share/classes/com/sun/tools/javac/comp/Enter.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Enter.java Mon Jun 21 22:09:18 2010 -0700 @@ -82,8 +82,8 @@ * (only for toplevel classes) * * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/comp/Env.java --- a/langtools/src/share/classes/com/sun/tools/javac/comp/Env.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Env.java Mon Jun 21 22:09:18 2010 -0700 @@ -36,8 +36,8 @@ * a generic component, represented as a type parameter, to carry further * information specific to individual passes. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/comp/Flow.java --- a/langtools/src/share/classes/com/sun/tools/javac/comp/Flow.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Flow.java Mon Jun 21 22:09:18 2010 -0700 @@ -170,8 +170,8 @@ * allow unqualified forms only, parentheses optional, and phase out * support for assigning to a final field via this.x. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/comp/Infer.java --- a/langtools/src/share/classes/com/sun/tools/javac/comp/Infer.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Infer.java Mon Jun 21 22:09:18 2010 -0700 @@ -37,8 +37,8 @@ /** Helper class for type parameter inference, used by the attribution phase. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ @@ -290,6 +290,7 @@ public Type instantiateMethod(final Env env, List tvars, MethodType mt, + final Symbol msym, final List argtypes, final boolean allowBoxing, final boolean useVarargs, @@ -418,7 +419,7 @@ checkWithinBounds(all_tvars, types.subst(inferredTypes, tvars, inferred), warn); if (useVarargs) { - chk.checkVararg(env.tree.pos(), formals); + chk.checkVararg(env.tree.pos(), formals, msym, env); } return super.inst(inferred, types); }}; diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java --- a/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java Mon Jun 21 22:09:18 2010 -0700 @@ -48,8 +48,8 @@ /** This pass translates away some syntactic sugar: inner classes, * class literals, assertions, foreach loops, etc. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java --- a/langtools/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java Mon Jun 21 22:09:18 2010 -0700 @@ -48,8 +48,8 @@ * by entering their members into the class scope using * MemberEnter.complete(). See Enter for an overview. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java --- a/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java Mon Jun 21 22:09:18 2010 -0700 @@ -47,8 +47,8 @@ /** Helper class for name resolution, used mostly by the attribution phase. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ @@ -348,6 +348,7 @@ infer.instantiateMethod(env, tvars, (MethodType)mt, + m, argtypes, allowBoxing, useVarargs, diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/comp/Todo.java --- a/langtools/src/share/classes/com/sun/tools/javac/comp/Todo.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Todo.java Mon Jun 21 22:09:18 2010 -0700 @@ -36,8 +36,8 @@ /** A queue of all as yet unattributed classes. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/comp/TransTypes.java --- a/langtools/src/share/classes/com/sun/tools/javac/comp/TransTypes.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/TransTypes.java Mon Jun 21 22:09:18 2010 -0700 @@ -43,8 +43,8 @@ /** This pass translates Generic Java to conventional Java. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/file/BaseFileObject.java --- a/langtools/src/share/classes/com/sun/tools/javac/file/BaseFileObject.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/file/BaseFileObject.java Mon Jun 21 22:09:18 2010 -0700 @@ -42,7 +42,7 @@ import com.sun.tools.javac.util.BaseFileManager; /** - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/file/CacheFSInfo.java --- a/langtools/src/share/classes/com/sun/tools/javac/file/CacheFSInfo.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/file/CacheFSInfo.java Mon Jun 21 22:09:18 2010 -0700 @@ -36,7 +36,7 @@ /** * Caching implementation of FSInfo. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/file/FSInfo.java --- a/langtools/src/share/classes/com/sun/tools/javac/file/FSInfo.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/file/FSInfo.java Mon Jun 21 22:09:18 2010 -0700 @@ -17,7 +17,7 @@ * Get meta-info about files. Default direct (non-caching) implementation. * @see CacheFSInfo * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/file/JavacFileManager.java --- a/langtools/src/share/classes/com/sun/tools/javac/file/JavacFileManager.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/file/JavacFileManager.java Mon Jun 21 22:09:18 2010 -0700 @@ -68,7 +68,7 @@ * This class provides access to the source, class and other files * used by the compiler and related tools. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/file/Paths.java --- a/langtools/src/share/classes/com/sun/tools/javac/file/Paths.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/file/Paths.java Mon Jun 21 22:09:18 2010 -0700 @@ -54,8 +54,8 @@ * into a boot class path, user class path, and source path (in * Collection form). * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/file/RegularFileObject.java --- a/langtools/src/share/classes/com/sun/tools/javac/file/RegularFileObject.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/file/RegularFileObject.java Mon Jun 21 22:09:18 2010 -0700 @@ -44,7 +44,7 @@ /** * A subclass of JavaFileObject representing regular files. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/file/RelativePath.java --- a/langtools/src/share/classes/com/sun/tools/javac/file/RelativePath.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/file/RelativePath.java Mon Jun 21 22:09:18 2010 -0700 @@ -35,7 +35,7 @@ * container, such as a directory or zip file. * Internally, the file separator is always '/'. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/file/SymbolArchive.java --- a/langtools/src/share/classes/com/sun/tools/javac/file/SymbolArchive.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/file/SymbolArchive.java Mon Jun 21 22:09:18 2010 -0700 @@ -36,7 +36,7 @@ import com.sun.tools.javac.util.List; /** - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/file/ZipArchive.java --- a/langtools/src/share/classes/com/sun/tools/javac/file/ZipArchive.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/file/ZipArchive.java Mon Jun 21 22:09:18 2010 -0700 @@ -51,7 +51,7 @@ import java.lang.ref.SoftReference; /** - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java --- a/langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java Mon Jun 21 22:09:18 2010 -0700 @@ -69,7 +69,7 @@ * checking to reindex the zip files if it is needed. In batch mode the timestamps are not checked * and the compiler uses the cached indexes. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndexArchive.java --- a/langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndexArchive.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndexArchive.java Mon Jun 21 22:09:18 2010 -0700 @@ -45,7 +45,7 @@ import com.sun.tools.javac.util.List; /** - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/jvm/ByteCodes.java --- a/langtools/src/share/classes/com/sun/tools/javac/jvm/ByteCodes.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/ByteCodes.java Mon Jun 21 22:09:18 2010 -0700 @@ -29,8 +29,8 @@ /** Bytecode instruction codes, as well as typecodes used as * instruction modifiers. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/jvm/CRTFlags.java --- a/langtools/src/share/classes/com/sun/tools/javac/jvm/CRTFlags.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/CRTFlags.java Mon Jun 21 22:09:18 2010 -0700 @@ -28,8 +28,8 @@ /** The CharacterRangeTable flags indicating type of an entry. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/jvm/CRTable.java --- a/langtools/src/share/classes/com/sun/tools/javac/jvm/CRTable.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/CRTable.java Mon Jun 21 22:09:18 2010 -0700 @@ -36,8 +36,8 @@ * and the hashtable for mapping trees or lists of trees to their * ending positions. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/jvm/ClassFile.java --- a/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassFile.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassFile.java Mon Jun 21 22:09:18 2010 -0700 @@ -59,8 +59,8 @@ * as routines to convert between internal ``.'' and external ``/'' * separators in class names. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ public class ClassFile { diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java --- a/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java Mon Jun 21 22:09:18 2010 -0700 @@ -62,8 +62,8 @@ * for all other definitions in the classfile. Top-level Classes themselves * appear as members of the scopes of PackageSymbols. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java --- a/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java Mon Jun 21 22:09:18 2010 -0700 @@ -49,8 +49,8 @@ /** This class provides operations to map an internal symbol table graph * rooted in a ClassSymbol into a classfile. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/jvm/Code.java --- a/langtools/src/share/classes/com/sun/tools/javac/jvm/Code.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/Code.java Mon Jun 21 22:09:18 2010 -0700 @@ -39,8 +39,8 @@ * methods in a classfile. The class also provides some utility operations to * generate bytecode instructions. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/jvm/Gen.java --- a/langtools/src/share/classes/com/sun/tools/javac/jvm/Gen.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/Gen.java Mon Jun 21 22:09:18 2010 -0700 @@ -49,8 +49,8 @@ /** This pass maps flat Java (i.e. without inner classes) to bytecodes. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/jvm/Items.java --- a/langtools/src/share/classes/com/sun/tools/javac/jvm/Items.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/Items.java Mon Jun 21 22:09:18 2010 -0700 @@ -43,8 +43,8 @@ * special values this or super, etc. Individual items are represented as * inner classes in class Items. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/jvm/Pool.java --- a/langtools/src/share/classes/com/sun/tools/javac/jvm/Pool.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/Pool.java Mon Jun 21 22:09:18 2010 -0700 @@ -31,8 +31,8 @@ /** An internal structure that corresponds to the constant pool of a classfile. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/jvm/Target.java --- a/langtools/src/share/classes/com/sun/tools/javac/jvm/Target.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/Target.java Mon Jun 21 22:09:18 2010 -0700 @@ -33,8 +33,8 @@ /** The classfile version target. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/jvm/UninitializedType.java --- a/langtools/src/share/classes/com/sun/tools/javac/jvm/UninitializedType.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/UninitializedType.java Mon Jun 21 22:09:18 2010 -0700 @@ -31,8 +31,8 @@ /** These pseudo-types appear in the generated verifier tables to * indicate objects that have been allocated but not yet constructed. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/main/CommandLine.java --- a/langtools/src/share/classes/com/sun/tools/javac/main/CommandLine.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/main/CommandLine.java Mon Jun 21 22:09:18 2010 -0700 @@ -35,8 +35,8 @@ /** * Various utility methods for processing Java tool command line arguments. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java --- a/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java Mon Jun 21 22:09:18 2010 -0700 @@ -73,8 +73,8 @@ * construct a new compiler, and to run a new compiler on a set of source * files. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/main/JavacOption.java --- a/langtools/src/share/classes/com/sun/tools/javac/main/JavacOption.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/main/JavacOption.java Mon Jun 21 22:09:18 2010 -0700 @@ -34,7 +34,7 @@ /** * TODO: describe com.sun.tools.javac.main.JavacOption * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice.

diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/main/Main.java --- a/langtools/src/share/classes/com/sun/tools/javac/main/Main.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/main/Main.java Mon Jun 21 22:09:18 2010 -0700 @@ -47,8 +47,8 @@ /** This class provides a commandline interface to the GJC compiler. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/main/OptionName.java --- a/langtools/src/share/classes/com/sun/tools/javac/main/OptionName.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/main/OptionName.java Mon Jun 21 22:09:18 2010 -0700 @@ -29,7 +29,7 @@ /** * TODO: describe com.sun.tools.javac.main.OptionName * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice.

diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/main/RecognizedOptions.java --- a/langtools/src/share/classes/com/sun/tools/javac/main/RecognizedOptions.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/main/RecognizedOptions.java Mon Jun 21 22:09:18 2010 -0700 @@ -49,7 +49,7 @@ /** * TODO: describe com.sun.tools.javac.main.RecognizedOptions * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice.

diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/model/AnnotationProxyMaker.java --- a/langtools/src/share/classes/com/sun/tools/javac/model/AnnotationProxyMaker.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/model/AnnotationProxyMaker.java Mon Jun 21 22:09:18 2010 -0700 @@ -50,8 +50,8 @@ *

The "dynamic proxy return form" of an annotation element value is * the form used by sun.reflect.annotation.AnnotationInvocationHandler. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ @@ -181,16 +181,16 @@ } public void visitArray(Attribute.Array a) { - Name elemName = ((ArrayType) a.type).elemtype.tsym.name; + Name elemName = ((ArrayType) a.type).elemtype.tsym.getQualifiedName(); - if (elemName == elemName.table.names.java_lang_Class) { // Class[] + if (elemName.equals(elemName.table.names.java_lang_Class)) { // Class[] // Construct a proxy for a MirroredTypesException - List elems = List.nil(); + ListBuffer elems = new ListBuffer(); for (Attribute value : a.values) { Type elem = ((Attribute.Class) value).type; - elems.add(elem); + elems.append(elem); } - value = new MirroredTypesExceptionProxy(elems); + value = new MirroredTypesExceptionProxy(elems.toList()); } else { int len = a.values.length; diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/model/FilteredMemberList.java --- a/langtools/src/share/classes/com/sun/tools/javac/model/FilteredMemberList.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/model/FilteredMemberList.java Mon Jun 21 22:09:18 2010 -0700 @@ -38,8 +38,8 @@ * filtering out unwanted elements such as synthetic ones. * This view is most efficiently accessed through its iterator() method. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/model/JavacElements.java --- a/langtools/src/share/classes/com/sun/tools/javac/model/JavacElements.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/model/JavacElements.java Mon Jun 21 22:09:18 2010 -0700 @@ -53,7 +53,7 @@ /** * Utility methods for operating on program elements. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice.

diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/model/JavacSourcePosition.java --- a/langtools/src/share/classes/com/sun/tools/javac/model/JavacSourcePosition.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/model/JavacSourcePosition.java Mon Jun 21 22:09:18 2010 -0700 @@ -31,7 +31,7 @@ /** * Implementation of model API SourcePosition based on javac internal state. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice.

diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/model/JavacTypes.java --- a/langtools/src/share/classes/com/sun/tools/javac/model/JavacTypes.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/model/JavacTypes.java Mon Jun 21 22:09:18 2010 -0700 @@ -37,7 +37,7 @@ /** * Utility methods for operating on types. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice.

diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java --- a/langtools/src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java Mon Jun 21 22:09:18 2010 -0700 @@ -101,8 +101,8 @@ *

To reduce confusion with Path objects, the locations such as "class path", * "source path", etc, are generically referred to here as "search paths". * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/nio/PathFileManager.java --- a/langtools/src/share/classes/com/sun/tools/javac/nio/PathFileManager.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/nio/PathFileManager.java Mon Jun 21 22:09:18 2010 -0700 @@ -41,8 +41,8 @@ * getStandardFileManager}. However, would need to be handled carefully * as another forward reference from langtools to jdk. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/nio/PathFileObject.java --- a/langtools/src/share/classes/com/sun/tools/javac/nio/PathFileObject.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/nio/PathFileObject.java Mon Jun 21 22:09:18 2010 -0700 @@ -56,8 +56,8 @@ * different factory methods, which compute the binary name based on * information available at the time the file object is created. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/parser/DocCommentScanner.java --- a/langtools/src/share/classes/com/sun/tools/javac/parser/DocCommentScanner.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/parser/DocCommentScanner.java Mon Jun 21 22:09:18 2010 -0700 @@ -35,8 +35,8 @@ * translating Unicode escape sequences and by stripping the * leading whitespace and starts from each line of the comment. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/parser/EndPosParser.java --- a/langtools/src/share/classes/com/sun/tools/javac/parser/EndPosParser.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/parser/EndPosParser.java Mon Jun 21 22:09:18 2010 -0700 @@ -36,7 +36,7 @@ * This class is similar to Parser except that it stores ending * positions for the tree nodes. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice.

diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java --- a/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java Mon Jun 21 22:09:18 2010 -0700 @@ -43,8 +43,8 @@ * operator precedence scheme is used for parsing binary operation * expressions. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/parser/Keywords.java --- a/langtools/src/share/classes/com/sun/tools/javac/parser/Keywords.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/parser/Keywords.java Mon Jun 21 22:09:18 2010 -0700 @@ -35,7 +35,7 @@ /** * Map from Name to Token and Token to String. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/parser/Lexer.java --- a/langtools/src/share/classes/com/sun/tools/javac/parser/Lexer.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/parser/Lexer.java Mon Jun 21 22:09:18 2010 -0700 @@ -32,7 +32,7 @@ * The lexical analyzer maps an input stream consisting of ASCII * characters and Unicode escapes into a token sequence. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/parser/Parser.java --- a/langtools/src/share/classes/com/sun/tools/javac/parser/Parser.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/parser/Parser.java Mon Jun 21 22:09:18 2010 -0700 @@ -34,7 +34,7 @@ * Reads syntactic units from source code. * Parsers are normally created from a ParserFactory. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/parser/ParserFactory.java --- a/langtools/src/share/classes/com/sun/tools/javac/parser/ParserFactory.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/parser/ParserFactory.java Mon Jun 21 22:09:18 2010 -0700 @@ -35,7 +35,7 @@ /** * A factory for creating parsers. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/parser/Scanner.java --- a/langtools/src/share/classes/com/sun/tools/javac/parser/Scanner.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/parser/Scanner.java Mon Jun 21 22:09:18 2010 -0700 @@ -38,8 +38,8 @@ /** The lexical analyzer maps an input stream consisting of * ASCII characters and Unicode escapes into a token sequence. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/parser/Token.java --- a/langtools/src/share/classes/com/sun/tools/javac/parser/Token.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/parser/Token.java Mon Jun 21 22:09:18 2010 -0700 @@ -33,8 +33,8 @@ /** An interface that defines codes for Java source tokens * returned from lexical analysis. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/processing/AnnotationProcessingError.java --- a/langtools/src/share/classes/com/sun/tools/javac/processing/AnnotationProcessingError.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/processing/AnnotationProcessingError.java Mon Jun 21 22:09:18 2010 -0700 @@ -29,7 +29,7 @@ /** * Error thrown for problems encountered during annotation processing. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/processing/JavacFiler.java --- a/langtools/src/share/classes/com/sun/tools/javac/processing/JavacFiler.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/processing/JavacFiler.java Mon Jun 21 22:09:18 2010 -0700 @@ -87,7 +87,7 @@ * class path can alter the behavior of the tool and any final * compile. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/processing/JavacMessager.java --- a/langtools/src/share/classes/com/sun/tools/javac/processing/JavacMessager.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/processing/JavacMessager.java Mon Jun 21 22:09:18 2010 -0700 @@ -37,7 +37,7 @@ /** * An implementation of the Messager built on top of log. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java --- a/langtools/src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java Mon Jun 21 22:09:18 2010 -0700 @@ -81,7 +81,7 @@ * Objects of this class hold and manage the state needed to support * annotation processing. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. @@ -745,7 +745,7 @@ * Leave class public for external testing purposes. */ public static class ComputeAnnotationSet extends - ElementScanner6, Set> { + ElementScanner7, Set> { final Elements elements; public ComputeAnnotationSet(Elements elements) { @@ -1380,7 +1380,7 @@ } /** - * For internal use by Sun Microsystems only. This method will be + * For internal use only. This method will be * removed without warning. */ public Context getContext() { diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java --- a/langtools/src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java Mon Jun 21 22:09:18 2010 -0700 @@ -40,7 +40,7 @@ *

The methods in this class do not take type annotations into account, * as target types, not java elements. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. @@ -125,7 +125,7 @@ else throw new AssertionError("Bad implementation type for " + tm); - ElementScanner6, DeclaredType> scanner = + ElementScanner7, DeclaredType> scanner = new AnnotationSetScanner(result, typeUtil); for (Element element : rootElements) @@ -136,7 +136,7 @@ // Could be written as a local class inside getElementsAnnotatedWith private class AnnotationSetScanner extends - ElementScanner6, DeclaredType> { + ElementScanner7, DeclaredType> { // Insertion-order preserving set Set annotatedElements = new LinkedHashSet(); Types typeUtil; diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java --- a/langtools/src/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java Mon Jun 21 22:09:18 2010 -0700 @@ -42,7 +42,7 @@ * -Xprint option; the included visitor class is used to implement * Elements.printElements. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. @@ -83,7 +83,7 @@ * Used for the -Xprint option and called by Elements.printElements */ public static class PrintingElementVisitor - extends SimpleElementVisitor6 { + extends SimpleElementVisitor7 { int indentation; // Indentation level; final PrintWriter writer; final Elements elementUtils; @@ -117,7 +117,7 @@ enclosing != null && NestingKind.ANONYMOUS == // Use an anonymous class to determine anonymity! - (new SimpleElementVisitor6() { + (new SimpleElementVisitor7() { @Override public NestingKind visitType(TypeElement e, Void p) { return e.getNestingKind(); diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/processing/ServiceProxy.java --- a/langtools/src/share/classes/com/sun/tools/javac/processing/ServiceProxy.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/processing/ServiceProxy.java Mon Jun 21 22:09:18 2010 -0700 @@ -37,7 +37,7 @@ * Utility class to determine if a service can be found on the * path that might be used to create a class loader. * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties --- a/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties Mon Jun 21 22:09:18 2010 -0700 @@ -593,18 +593,32 @@ compiler.note.unchecked.plural.additional=\ Some input files additionally use unchecked or unsafe operations. +compiler.note.varargs.filename=\ + {0} declares unsafe vararg methods. +compiler.note.varargs.plural=\ + Some input files declare unsafe vararg methods. +# The following string may appear after one of the above unsafe varargs +# messages. +compiler.note.varargs.recompile=\ + Recompile with -Xlint:varargs for details. + +compiler.note.varargs.filename.additional=\ + {0} declares additional unsafe vararg methods. +compiler.note.varargs.plural.additional=\ + Some input files additionally declares unsafe vararg methods. + compiler.note.sunapi.filename=\ - {0} uses Sun proprietary API that may be removed in a future release. + {0} uses internal proprietary API that may be removed in a future release. compiler.note.sunapi.plural=\ - Some input files use Sun proprietary API that may be removed in a future release. + Some input files use internal proprietary API that may be removed in a future release. # The following string may appear after one of the above sunapi messages. compiler.note.sunapi.recompile=\ Recompile with -Xlint:sunapi for details. compiler.note.sunapi.filename.additional=\ - {0} uses additional Sun proprietary API that may be removed in a future release. + {0} uses additional internal proprietary API that may be removed in a future release. compiler.note.sunapi.plural.additional=\ - Some input files additionally use Sun proprietary API that may be removed in a future release. + Some input files additionally use internal proprietary API that may be removed in a future release. # Notes related to annotation processing @@ -687,7 +701,7 @@ [deprecation] {0} in {1} has been deprecated compiler.warn.sun.proprietary=\ - {0} is Sun proprietary API and may be removed in a future release + {0} is internal proprietary API and may be removed in a future release compiler.warn.illegal.char.for.encoding=\ unmappable character for encoding {0} @@ -796,6 +810,9 @@ compiler.warn.unchecked.generic.array.creation=\ [unchecked] unchecked generic array creation for varargs parameter of type {0} +compiler.warn.varargs.non.reifiable.type=\ + [varargs] Possible heap pollution from parameterized vararg type {0} + compiler.warn.missing.deprecated.annotation=\ [dep-ann] deprecated item is not annotated with @Deprecated diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/sym/CreateSymbols.java --- a/langtools/src/share/classes/com/sun/tools/javac/sym/CreateSymbols.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/sym/CreateSymbols.java Mon Jun 21 22:09:18 2010 -0700 @@ -77,7 +77,7 @@ *

Specifies the destination directory.
* * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice.

diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/tree/JCTree.java --- a/langtools/src/share/classes/com/sun/tools/javac/tree/JCTree.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/tree/JCTree.java Mon Jun 21 22:09:18 2010 -0700 @@ -66,7 +66,7 @@ *

To avoid ambiguities with the Tree API in com.sun.source all sub * classes should, by convention, start with JC (javac). * - *

This is NOT part of any API supported by Sun Microsystems. + *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/tree/Pretty.java --- a/langtools/src/share/classes/com/sun/tools/javac/tree/Pretty.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/tree/Pretty.java Mon Jun 21 22:09:18 2010 -0700 @@ -39,8 +39,8 @@ /** Prints out a tree as an indented Java source program. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/tree/TreeCopier.java --- a/langtools/src/share/classes/com/sun/tools/javac/tree/TreeCopier.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/tree/TreeCopier.java Mon Jun 21 22:09:18 2010 -0700 @@ -34,8 +34,8 @@ * Creates a copy of a tree, using a given TreeMaker. * Names, literal values, etc are shared with the original. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/tree/TreeInfo.java --- a/langtools/src/share/classes/com/sun/tools/javac/tree/TreeInfo.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/tree/TreeInfo.java Mon Jun 21 22:09:18 2010 -0700 @@ -38,8 +38,8 @@ /** Utility class containing inspector methods for trees. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/tree/TreeMaker.java --- a/langtools/src/share/classes/com/sun/tools/javac/tree/TreeMaker.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/tree/TreeMaker.java Mon Jun 21 22:09:18 2010 -0700 @@ -39,8 +39,8 @@ /** Factory class for trees. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/tree/TreeScanner.java --- a/langtools/src/share/classes/com/sun/tools/javac/tree/TreeScanner.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/tree/TreeScanner.java Mon Jun 21 22:09:18 2010 -0700 @@ -36,8 +36,8 @@ * do some interesting work. The scanner class itself takes care of all * navigational aspects. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/tree/TreeTranslator.java --- a/langtools/src/share/classes/com/sun/tools/javac/tree/TreeTranslator.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/tree/TreeTranslator.java Mon Jun 21 22:09:18 2010 -0700 @@ -37,8 +37,8 @@ * do some interesting work. The translator class itself takes care of all * navigational aspects. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/Abort.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/Abort.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/Abort.java Mon Jun 21 22:09:18 2010 -0700 @@ -28,8 +28,8 @@ /** Throwing an instance of * this class causes (silent) termination of the main compiler method. * - *

This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java Mon Jun 21 22:09:18 2010 -0700 @@ -57,7 +57,7 @@ *

  • Provides the formatting logic for rendering the arguments of a JCDiagnostic object. *
      * - *

      This is NOT part of any API supported by Sun Microsystems. + *

      This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/AbstractLog.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/AbstractLog.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/AbstractLog.java Mon Jun 21 22:09:18 2010 -0700 @@ -37,8 +37,8 @@ * A base class for error logs. Reports errors and warnings, and * keeps track of error numbers and positions. * - *

      This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

      This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java Mon Jun 21 22:09:18 2010 -0700 @@ -58,7 +58,7 @@ *

    • %_: space delimiter, useful for formatting purposes *
    * - *

    This is NOT part of any API supported by Sun Microsystems. + *

    This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/Bits.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/Bits.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/Bits.java Mon Jun 21 22:09:18 2010 -0700 @@ -27,8 +27,8 @@ /** A class for extensible, mutable bit sets. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/ByteBuffer.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/ByteBuffer.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/ByteBuffer.java Mon Jun 21 22:09:18 2010 -0700 @@ -31,8 +31,8 @@ * appended. There are also methods to append names to byte buffers * and to convert byte buffers to names. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/ClientCodeException.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/ClientCodeException.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/ClientCodeException.java Mon Jun 21 22:09:18 2010 -0700 @@ -29,8 +29,8 @@ * An exception used for propogating exceptions found in client code * invoked from javac. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/CloseableURLClassLoader.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/CloseableURLClassLoader.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/CloseableURLClassLoader.java Mon Jun 21 22:09:18 2010 -0700 @@ -40,8 +40,8 @@ * fragile. Caveat emptor. * @throws Error if the internal data structures are not as expected. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/Constants.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/Constants.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/Constants.java Mon Jun 21 22:09:18 2010 -0700 @@ -32,8 +32,8 @@ /** * Utilities for operating on constant values. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/Context.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/Context.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/Context.java Mon Jun 21 22:09:18 2010 -0700 @@ -91,8 +91,8 @@ * NewPhase.preRegister(context); * * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/Convert.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/Convert.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/Convert.java Mon Jun 21 22:09:18 2010 -0700 @@ -28,8 +28,8 @@ /** Utility class for static conversion methods between numbers * and strings in various formats. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/DiagnosticSource.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/DiagnosticSource.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/DiagnosticSource.java Mon Jun 21 22:09:18 2010 -0700 @@ -40,8 +40,8 @@ * A simple abstraction of a source file, as needed for use in a diagnostic message. * Provides access to the line and position in a line for any given character offset. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/FatalError.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/FatalError.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/FatalError.java Mon Jun 21 22:09:18 2010 -0700 @@ -29,8 +29,8 @@ * of the main compiler method. It is used when some non-recoverable * error has been detected in the compiler environment at runtime. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/ForwardingDiagnosticFormatter.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/ForwardingDiagnosticFormatter.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/ForwardingDiagnosticFormatter.java Mon Jun 21 22:09:18 2010 -0700 @@ -38,7 +38,7 @@ * A delegated diagnostic formatter delegates all formatting * actions to an underlying formatter (aka the delegated formatter). * - *

    This is NOT part of any API supported by Sun Microsystems. + *

    This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/JCDiagnostic.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/JCDiagnostic.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/JCDiagnostic.java Mon Jun 21 22:09:18 2010 -0700 @@ -38,8 +38,8 @@ /** An abstraction of a diagnostic message generated by the compiler. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/JavacMessages.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/JavacMessages.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/JavacMessages.java Mon Jun 21 22:09:18 2010 -0700 @@ -37,8 +37,8 @@ /** * Support for formatted localized messages. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/LayoutCharacters.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/LayoutCharacters.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/LayoutCharacters.java Mon Jun 21 22:09:18 2010 -0700 @@ -28,8 +28,8 @@ /** An interface containing layout character constants used in Java * programs. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/List.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/List.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/List.java Mon Jun 21 22:09:18 2010 -0700 @@ -43,8 +43,8 @@ *

    Lists are always trailed by a sentinel element, whose head and tail * are both null. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ @@ -103,6 +103,7 @@ /** Construct a list consisting of given elements. */ + @SuppressWarnings("varargs") public static List of(A x1, A x2, A x3, A... rest) { return new List(x1, new List(x2, new List(x3, from(rest)))); } diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/ListBuffer.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/ListBuffer.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/ListBuffer.java Mon Jun 21 22:09:18 2010 -0700 @@ -33,8 +33,8 @@ /** A class for constructing lists by appending elements. Modelled after * java.lang.StringBuffer. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/Log.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/Log.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/Log.java Mon Jun 21 22:09:18 2010 -0700 @@ -41,8 +41,8 @@ /** A class for error logs. Reports errors and warnings, and * keeps track of error numbers and positions. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ @@ -125,8 +125,8 @@ this.promptOnError = options.get("-prompt") != null; this.emitWarnings = options.get("-Xlint:none") == null; this.suppressNotes = options.get("suppressNotes") != null; - this.MaxErrors = getIntOption(options, "-Xmaxerrs", 100); - this.MaxWarnings = getIntOption(options, "-Xmaxwarns", 100); + this.MaxErrors = getIntOption(options, "-Xmaxerrs", getDefaultMaxErrors()); + this.MaxWarnings = getIntOption(options, "-Xmaxwarns", getDefaultMaxWarnings()); boolean rawDiagnostics = options.get("rawDiagnostics") != null; messages = JavacMessages.instance(context); @@ -155,6 +155,18 @@ return defaultValue; } + /** Default value for -Xmaxerrs. + */ + protected int getDefaultMaxErrors() { + return 100; + } + + /** Default value for -Xmaxwarns. + */ + protected int getDefaultMaxWarnings() { + return 100; + } + /** The default writer for diagnostics */ static final PrintWriter defaultWriter(Context context) { diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/MandatoryWarningHandler.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/MandatoryWarningHandler.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/MandatoryWarningHandler.java Mon Jun 21 22:09:18 2010 -0700 @@ -43,8 +43,8 @@ * made on any API to generate a warning at all. In consequence, this handler only * gets to handle those warnings that JLS says must be generated. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/Name.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/Name.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/Name.java Mon Jun 21 22:09:18 2010 -0700 @@ -29,8 +29,8 @@ * Utf8 format. Names are stored in a Name.Table, and are unique within * that table. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/Names.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/Names.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/Names.java Mon Jun 21 22:09:18 2010 -0700 @@ -29,8 +29,8 @@ * Access to the compiler's name table. STandard names are defined, * as well as methods to create new names. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/Options.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/Options.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/Options.java Mon Jun 21 22:09:18 2010 -0700 @@ -32,8 +32,8 @@ * If an option has an argument, the option name is mapped to the argument. * If a set option has no argument, it is mapped to itself. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/Pair.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/Pair.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/Pair.java Mon Jun 21 22:09:18 2010 -0700 @@ -27,8 +27,8 @@ /** A generic class for pairs. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/Position.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/Position.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/Position.java Mon Jun 21 22:09:18 2010 -0700 @@ -36,8 +36,8 @@ * expansion is optional and no Unicode excape translation is considered. * The first character is at location (1,1). * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/PropagatedException.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/PropagatedException.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/PropagatedException.java Mon Jun 21 22:09:18 2010 -0700 @@ -28,7 +28,7 @@ /** * Used to propagate exceptions through to the user. * - *

    This is NOT part of any API supported by Sun Microsystems. + *

    This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice.

    diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java Mon Jun 21 22:09:18 2010 -0700 @@ -41,7 +41,7 @@ * or not the source name and position are set. This formatter provides a standardized, localize-independent * implementation of a diagnostic formatter; as such, this formatter is best suited for testing purposes. * - *

    This is NOT part of any API supported by Sun Microsystems. + *

    This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java Mon Jun 21 22:09:18 2010 -0700 @@ -59,7 +59,7 @@ * to two different type-variables with the same name, their representation is * disambiguated by appending an index to the type variable name. * - *

    This is NOT part of any API supported by Sun Microsystems. + *

    This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/SharedNameTable.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/SharedNameTable.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/SharedNameTable.java Mon Jun 21 22:09:18 2010 -0700 @@ -32,8 +32,8 @@ * byte array, expanding it as needed. This avoids the overhead incurred * by using an array of bytes for each name. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/UnsharedNameTable.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/UnsharedNameTable.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/UnsharedNameTable.java Mon Jun 21 22:09:18 2010 -0700 @@ -32,8 +32,8 @@ * using weak references. It is recommended for use when a single shared * byte array is unsuitable. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javac/util/Warner.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/Warner.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/Warner.java Mon Jun 21 22:09:18 2010 -0700 @@ -31,7 +31,7 @@ * An interface to support optional warnings, needed for support of * unchecked conversions and unchecked casts. * - *

    This is NOT part of any API supported by Sun Microsystems. + *

    This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javadoc/DocletInvoker.java --- a/langtools/src/share/classes/com/sun/tools/javadoc/DocletInvoker.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javadoc/DocletInvoker.java Mon Jun 21 22:09:18 2010 -0700 @@ -155,10 +155,8 @@ public boolean start(RootDoc root) { Object retVal; String methodName = "start"; - Class[] paramTypes = new Class[1]; - Object[] params = new Object[1]; - paramTypes[0] = RootDoc.class; - params[0] = root; + Class[] paramTypes = { RootDoc.class }; + Object[] params = { root }; try { retVal = invoke(methodName, null, paramTypes, params); } catch (DocletInvokeException exc) { @@ -181,10 +179,8 @@ public int optionLength(String option) { Object retVal; String methodName = "optionLength"; - Class[] paramTypes = new Class[1]; - Object[] params = new Object[1]; - paramTypes[0] = option.getClass(); - params[0] = option; + Class[] paramTypes = { String.class }; + Object[] params = { option }; try { retVal = invoke(methodName, new Integer(0), paramTypes, params); } catch (DocletInvokeException exc) { @@ -208,12 +204,8 @@ String options[][] = optlist.toArray(new String[optlist.length()][]); String methodName = "validOptions"; DocErrorReporter reporter = messager; - Class[] paramTypes = new Class[2]; - Object[] params = new Object[2]; - paramTypes[0] = options.getClass(); - paramTypes[1] = DocErrorReporter.class; - params[0] = options; - params[1] = reporter; + Class[] paramTypes = { String[][].class, DocErrorReporter.class }; + Object[] params = { options, reporter }; try { retVal = invoke(methodName, Boolean.TRUE, paramTypes, params); } catch (DocletInvokeException exc) { diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javadoc/Messager.java --- a/langtools/src/share/classes/com/sun/tools/javadoc/Messager.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javadoc/Messager.java Mon Jun 21 22:09:18 2010 -0700 @@ -86,7 +86,7 @@ private static final long serialVersionUID = 0; } - private final String programName; + final String programName; private ResourceBundle messageRB = null; @@ -121,6 +121,16 @@ this.programName = programName; } + @Override + protected int getDefaultMaxErrors() { + return Integer.MAX_VALUE; + } + + @Override + protected int getDefaultMaxWarnings() { + return Integer.MAX_VALUE; + } + /** * Reset resource bundle, eg. locale has changed. */ @@ -231,11 +241,13 @@ * @param msg message to print */ public void printError(SourcePosition pos, String msg) { - String prefix = (pos == null) ? programName : pos.toString(); - errWriter.println(prefix + ": " + getText("javadoc.error") + " - " + msg); - errWriter.flush(); - prompt(); - nerrors++; + if (nerrors < MaxErrors) { + String prefix = (pos == null) ? programName : pos.toString(); + errWriter.println(prefix + ": " + getText("javadoc.error") + " - " + msg); + errWriter.flush(); + prompt(); + nerrors++; + } } /** @@ -256,10 +268,12 @@ * @param msg message to print */ public void printWarning(SourcePosition pos, String msg) { - String prefix = (pos == null) ? programName : pos.toString(); - warnWriter.println(prefix + ": " + getText("javadoc.warning") +" - " + msg); - warnWriter.flush(); - nwarnings++; + if (nwarnings < MaxWarnings) { + String prefix = (pos == null) ? programName : pos.toString(); + warnWriter.println(prefix + ": " + getText("javadoc.warning") +" - " + msg); + warnWriter.flush(); + nwarnings++; + } } /** diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javadoc/Start.java --- a/langtools/src/share/classes/com/sun/tools/javadoc/Start.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javadoc/Start.java Mon Jun 21 22:09:18 2010 -0700 @@ -51,8 +51,6 @@ * @author Neal Gafter (rewrite) */ class Start { - /** Context for this invocation. */ - private final Context context; private final String defaultDocletClassName; private final ClassLoader docletParentClassLoader; @@ -98,8 +96,8 @@ PrintWriter noticeWriter, String defaultDocletClassName, ClassLoader docletParentClassLoader) { - context = new Context(); - messager = new Messager(context, programName, errWriter, warnWriter, noticeWriter); + Context tempContext = new Context(); // interim context until option decoding completed + messager = new Messager(tempContext, programName, errWriter, warnWriter, noticeWriter); this.defaultDocletClassName = defaultDocletClassName; this.docletParentClassLoader = docletParentClassLoader; } @@ -110,8 +108,8 @@ Start(String programName, String defaultDocletClassName, ClassLoader docletParentClassLoader) { - context = new Context(); - messager = new Messager(context, programName); + Context tempContext = new Context(); // interim context until option decoding completed + messager = new Messager(tempContext, programName); this.defaultDocletClassName = defaultDocletClassName; this.docletParentClassLoader = docletParentClassLoader; } @@ -145,6 +143,13 @@ } /** + * Usage + */ + private void Xusage() { + messager.notice("main.Xusage"); + } + + /** * Exit */ private void exit() { @@ -213,6 +218,15 @@ setDocletInvoker(argv); ListBuffer subPackages = new ListBuffer(); ListBuffer excludedPackages = new ListBuffer(); + + Context context = new Context(); + // Setup a new Messager, using the same initial parameters as the + // existing Messager, except that this one will be able to use any + // options that may be set up below. + Messager.preRegister(context, + messager.programName, + messager.errWriter, messager.warnWriter, messager.noticeWriter); + Options compOpts = Options.instance(context); boolean docClasses = false; @@ -310,6 +324,15 @@ usageError("main.locale_first"); oneArg(argv, i++); docLocale = argv[i]; + } else if (arg.equals("-Xmaxerrs") || arg.equals("-Xmaxwarns")) { + oneArg(argv, i++); + if (compOpts.get(arg) != null) { + usageError("main.option.already.seen", arg); + } + compOpts.put(arg, argv[i]); + } else if (arg.equals("-X")) { + Xusage(); + exit(); } else if (arg.startsWith("-XD")) { String s = arg.substring("-XD".length()); int eq = s.indexOf('='); diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javadoc/resources/javadoc.properties --- a/langtools/src/share/classes/com/sun/tools/javadoc/resources/javadoc.properties Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javadoc/resources/javadoc.properties Mon Jun 21 22:09:18 2010 -0700 @@ -49,7 +49,13 @@ -locale Locale to be used, e.g. en_US or en_US_WIN\n\ -encoding Source file encoding name\n\ -quiet Do not display status messages\n\ - -J Pass directly to the runtime system\n + -J Pass directly to the runtime system\n\ + -X Print a synopsis of nonstandard options\n +main.Xusage=\ + -Xmaxerrs Set the maximum number of errors to print\n\ + -Xmaxwarns Set the maximum number of warnings to print\n\ +\n\ +These options are non-standard and subject to change without notice. main.option.already.seen=The {0} option may be specified no more than once. main.requires_argument=option {0} requires an argument. main.locale_first=option -locale must be first on the command line. @@ -65,7 +71,7 @@ main.fatal.error=fatal error main.fatal.exception=fatal exception main.out.of.memory=java.lang.OutOfMemoryError: Please increase memory.\n\ -For example, on the Sun Classic or HotSpot VMs, add the option -J-Xmx\n\ +For example, on the JDK Classic or HotSpot VMs, add the option -J-Xmx\n\ such as -J-Xmx32m. main.done_in=[done in {0} ms] main.doclet_method_must_be_static=In doclet class {0}, method {1} must be static. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javadoc/resources/javadoc_zh_CN.properties --- a/langtools/src/share/classes/com/sun/tools/javadoc/resources/javadoc_zh_CN.properties Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javadoc/resources/javadoc_zh_CN.properties Mon Jun 21 22:09:18 2010 -0700 @@ -65,7 +65,7 @@ main.fatal.error=\u81f4\u547d\u9519\u8bef main.fatal.exception=\u81f4\u547d\u5f02\u5e38 main.out.of.memory=java.lang.OutOfMemoryError\uff1a\u8bf7\u589e\u52a0\u5185\u5b58\u3002\n\ -\u4f8b\u5982\uff0c\u5bf9\u4e8e Sun Classic \u6216 HotSpot VM\uff0c\u8bf7\u6dfb\u52a0\u9009\u9879 -J-Xmx\uff0c\n\ +\u4f8b\u5982\uff0c\u5bf9\u4e8e JDK Classic \u6216 HotSpot VM\uff0c\u8bf7\u6dfb\u52a0\u9009\u9879 -J-Xmx\uff0c\n\ \u5982 -J-Xmx32m\u3002 main.done_in=[\u5728{0} \u6beb\u79d2\u5185\u5b8c\u6210] main.doclet_method_must_be_static=\u5728 doclet \u7c7b {0} \u4e2d\uff0c\u65b9\u6cd5 {1} \u5fc5\u987b\u4e3a\u9759\u6001\u3002 diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javah/Gen.java --- a/langtools/src/share/classes/com/sun/tools/javah/Gen.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javah/Gen.java Mon Jun 21 22:09:18 2010 -0700 @@ -60,7 +60,7 @@ * original writing, this interface is rich enough to support JNI and the * old 1.0-style native method interface. * - *

    This is NOT part of any API supported by Sun Microsystems. + *

    This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice.

    diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javah/InternalError.java --- a/langtools/src/share/classes/com/sun/tools/javah/InternalError.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javah/InternalError.java Mon Jun 21 22:09:18 2010 -0700 @@ -26,8 +26,8 @@ package com.sun.tools.javah; /** - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javah/JNI.java --- a/langtools/src/share/classes/com/sun/tools/javah/JNI.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javah/JNI.java Mon Jun 21 22:09:18 2010 -0700 @@ -42,7 +42,7 @@ /** * Header file generator for JNI. * - *

    This is NOT part of any API supported by Sun Microsystems. + *

    This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice.

    diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javah/JavahFileManager.java --- a/langtools/src/share/classes/com/sun/tools/javah/JavahFileManager.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javah/JavahFileManager.java Mon Jun 21 22:09:18 2010 -0700 @@ -36,8 +36,8 @@ /** * javah's implementation of JavaFileManager. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javah/JavahTask.java --- a/langtools/src/share/classes/com/sun/tools/javah/JavahTask.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javah/JavahTask.java Mon Jun 21 22:09:18 2010 -0700 @@ -59,7 +59,7 @@ import javax.lang.model.type.TypeMirror; import javax.lang.model.type.TypeVisitor; import javax.lang.model.util.ElementFilter; -import javax.lang.model.util.SimpleTypeVisitor6; +import javax.lang.model.util.SimpleTypeVisitor7; import javax.lang.model.util.Types; import javax.tools.Diagnostic; @@ -76,7 +76,7 @@ * Javah generates support files for native methods. * Parse commandline options & Invokes javadoc to execute those commands. * - *

    This is NOT part of any API supported by Sun Microsystems. + *

    This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice.

    @@ -705,7 +705,7 @@ } private TypeVisitor checkMethodParametersVisitor = - new SimpleTypeVisitor6() { + new SimpleTypeVisitor7() { @Override public Void visitArray(ArrayType t, Types types) { visit(t.getComponentType(), types); diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javah/JavahTool.java --- a/langtools/src/share/classes/com/sun/tools/javah/JavahTool.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javah/JavahTool.java Mon Jun 21 22:09:18 2010 -0700 @@ -40,7 +40,7 @@ import javax.tools.StandardJavaFileManager; /* - *

    This is NOT part of any API supported by Sun Microsystems. + *

    This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice.

    diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javah/LLNI.java --- a/langtools/src/share/classes/com/sun/tools/javah/LLNI.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javah/LLNI.java Mon Jun 21 22:09:18 2010 -0700 @@ -45,10 +45,10 @@ import javax.lang.model.type.TypeMirror; import javax.lang.model.type.TypeVisitor; import javax.lang.model.util.ElementFilter; -import javax.lang.model.util.SimpleTypeVisitor6; +import javax.lang.model.util.SimpleTypeVisitor7; /* - *

    This is NOT part of any API supported by Sun Microsystems. + *

    This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice.

    @@ -620,7 +620,7 @@ } protected final boolean isLongOrDouble(TypeMirror t) { - TypeVisitor v = new SimpleTypeVisitor6() { + TypeVisitor v = new SimpleTypeVisitor7() { public Boolean defaultAction(TypeMirror t, Void p){ return false; } diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javah/Main.java --- a/langtools/src/share/classes/com/sun/tools/javah/Main.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javah/Main.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,8 +30,8 @@ /** * Main entry point. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javah/Mangle.java --- a/langtools/src/share/classes/com/sun/tools/javah/Mangle.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javah/Mangle.java Mon Jun 21 22:09:18 2010 -0700 @@ -37,7 +37,7 @@ * this more fine grained and distribute the functionality to the * generators. * - *

    This is NOT part of any API supported by Sun Microsystems. + *

    This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice.

    diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javah/NativeHeaderTool.java --- a/langtools/src/share/classes/com/sun/tools/javah/NativeHeaderTool.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javah/NativeHeaderTool.java Mon Jun 21 22:09:18 2010 -0700 @@ -44,8 +44,8 @@ * @see JavaFileManager * @since 1.7 * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javah/TypeSignature.java --- a/langtools/src/share/classes/com/sun/tools/javah/TypeSignature.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javah/TypeSignature.java Mon Jun 21 22:09:18 2010 -0700 @@ -38,12 +38,12 @@ import javax.lang.model.type.TypeVariable; import javax.lang.model.type.TypeVisitor; import javax.lang.model.util.Elements; -import javax.lang.model.util.SimpleTypeVisitor6; +import javax.lang.model.util.SimpleTypeVisitor7; /** * Returns internal type signature. * - *

    This is NOT part of any API supported by Sun Microsystems. + *

    This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice.

    @@ -239,7 +239,7 @@ String qualifiedTypeName(TypeMirror type) { - TypeVisitor v = new SimpleTypeVisitor6() { + TypeVisitor v = new SimpleTypeVisitor7() { @Override public Name visitArray(ArrayType t, Void p) { return t.getComponentType().accept(this, p); diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javah/Util.java --- a/langtools/src/share/classes/com/sun/tools/javah/Util.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javah/Util.java Mon Jun 21 22:09:18 2010 -0700 @@ -44,7 +44,7 @@ * bug -- Bug has occurred in javah * fatal -- We can't even find resources, so bail fast, don't localize * - *

    This is NOT part of any API supported by Sun Microsystems. + *

    This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice.

    diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javap/AnnotationWriter.java --- a/langtools/src/share/classes/com/sun/tools/javap/AnnotationWriter.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javap/AnnotationWriter.java Mon Jun 21 22:09:18 2010 -0700 @@ -40,8 +40,8 @@ /** * A writer for writing annotations as text. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javap/AttributeWriter.java --- a/langtools/src/share/classes/com/sun/tools/javap/AttributeWriter.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javap/AttributeWriter.java Mon Jun 21 22:09:18 2010 -0700 @@ -64,8 +64,8 @@ /* * A writer for writing Attributes as text. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javap/BasicWriter.java --- a/langtools/src/share/classes/com/sun/tools/javap/BasicWriter.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javap/BasicWriter.java Mon Jun 21 22:09:18 2010 -0700 @@ -35,8 +35,8 @@ * A writer similar to a PrintWriter but which does not hide exceptions. * The standard print calls are line-buffered; report calls write messages directly. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javap/ClassWriter.java --- a/langtools/src/share/classes/com/sun/tools/javap/ClassWriter.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javap/ClassWriter.java Mon Jun 21 22:09:18 2010 -0700 @@ -54,8 +54,8 @@ /* * The main javap class to write the contents of a class file as text. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javap/CodeWriter.java --- a/langtools/src/share/classes/com/sun/tools/javap/CodeWriter.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javap/CodeWriter.java Mon Jun 21 22:09:18 2010 -0700 @@ -40,8 +40,8 @@ /* * Write the contents of a Code attribute. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javap/ConstantWriter.java --- a/langtools/src/share/classes/com/sun/tools/javap/ConstantWriter.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javap/ConstantWriter.java Mon Jun 21 22:09:18 2010 -0700 @@ -34,8 +34,8 @@ /* * Write a constant pool entry. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javap/Context.java --- a/langtools/src/share/classes/com/sun/tools/javap/Context.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javap/Context.java Mon Jun 21 22:09:18 2010 -0700 @@ -31,8 +31,8 @@ /* * Class from which to put/get shared resources. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javap/DisassemblerTool.java --- a/langtools/src/share/classes/com/sun/tools/javap/DisassemblerTool.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javap/DisassemblerTool.java Mon Jun 21 22:09:18 2010 -0700 @@ -44,8 +44,8 @@ * @see JavaFileManager * @since 1.7 * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javap/InstructionDetailWriter.java --- a/langtools/src/share/classes/com/sun/tools/javap/InstructionDetailWriter.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javap/InstructionDetailWriter.java Mon Jun 21 22:09:18 2010 -0700 @@ -31,8 +31,8 @@ /* * Write additional details for an instruction. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javap/InternalError.java --- a/langtools/src/share/classes/com/sun/tools/javap/InternalError.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javap/InternalError.java Mon Jun 21 22:09:18 2010 -0700 @@ -26,8 +26,8 @@ package com.sun.tools.javap; /** - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javap/JavapFileManager.java --- a/langtools/src/share/classes/com/sun/tools/javap/JavapFileManager.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javap/JavapFileManager.java Mon Jun 21 22:09:18 2010 -0700 @@ -36,8 +36,8 @@ /** * javap's implementation of JavaFileManager. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javap/JavapTask.java --- a/langtools/src/share/classes/com/sun/tools/javap/JavapTask.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javap/JavapTask.java Mon Jun 21 22:09:18 2010 -0700 @@ -69,8 +69,8 @@ * "Main" class for javap, normally accessed from the command line * via Main, or from JSR199 via DisassemblerTool. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javap/LocalVariableTableWriter.java --- a/langtools/src/share/classes/com/sun/tools/javap/LocalVariableTableWriter.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javap/LocalVariableTableWriter.java Mon Jun 21 22:09:18 2010 -0700 @@ -42,8 +42,8 @@ /** * Annotate instructions with details about local variables. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javap/LocalVariableTypeTableWriter.java --- a/langtools/src/share/classes/com/sun/tools/javap/LocalVariableTypeTableWriter.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javap/LocalVariableTypeTableWriter.java Mon Jun 21 22:09:18 2010 -0700 @@ -43,8 +43,8 @@ /** * Annotate instructions with details about local variables. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javap/Main.java --- a/langtools/src/share/classes/com/sun/tools/javap/Main.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javap/Main.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,8 +30,8 @@ /** * Main entry point. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javap/Messages.java --- a/langtools/src/share/classes/com/sun/tools/javap/Messages.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javap/Messages.java Mon Jun 21 22:09:18 2010 -0700 @@ -30,8 +30,8 @@ /** * Access to javap messages. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javap/Options.java --- a/langtools/src/share/classes/com/sun/tools/javap/Options.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javap/Options.java Mon Jun 21 22:09:18 2010 -0700 @@ -34,8 +34,8 @@ /* * Provides access to javap's options, set via the command line * or JSR 199 API. - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javap/SourceWriter.java --- a/langtools/src/share/classes/com/sun/tools/javap/SourceWriter.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javap/SourceWriter.java Mon Jun 21 22:09:18 2010 -0700 @@ -52,8 +52,8 @@ /** * Annotate instructions with source code. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javap/StackMapWriter.java --- a/langtools/src/share/classes/com/sun/tools/javap/StackMapWriter.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javap/StackMapWriter.java Mon Jun 21 22:09:18 2010 -0700 @@ -45,8 +45,8 @@ /** * Annotate instructions with stack map. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javap/TryBlockWriter.java --- a/langtools/src/share/classes/com/sun/tools/javap/TryBlockWriter.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javap/TryBlockWriter.java Mon Jun 21 22:09:18 2010 -0700 @@ -37,8 +37,8 @@ /** * Annotate instructions with details about try blocks. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/com/sun/tools/javap/TypeAnnotationWriter.java --- a/langtools/src/share/classes/com/sun/tools/javap/TypeAnnotationWriter.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javap/TypeAnnotationWriter.java Mon Jun 21 22:09:18 2010 -0700 @@ -41,8 +41,8 @@ /** * Annotate instructions with details about type annotations. * - *

    This is NOT part of any API supported by Sun Microsystems. If - * you write code that depends on this, you do so at your own risk. + *

    This is NOT part of any supported API. + * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice. */ diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/javax/lang/model/element/ElementVisitor.java --- a/langtools/src/share/classes/javax/lang/model/element/ElementVisitor.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/javax/lang/model/element/ElementVisitor.java Mon Jun 21 22:09:18 2010 -0700 @@ -62,6 +62,7 @@ * @author Scott Seligman * @author Peter von der Ahé * @see AbstractElementVisitor6 + * @see AbstractElementVisitor7 * @since 1.6 */ public interface ElementVisitor { diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/javax/lang/model/type/MirroredTypeException.java --- a/langtools/src/share/classes/javax/lang/model/type/MirroredTypeException.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/javax/lang/model/type/MirroredTypeException.java Mon Jun 21 22:09:18 2010 -0700 @@ -42,7 +42,7 @@ * @see Element#getAnnotation(Class) * @since 1.6 */ -public class MirroredTypeException extends RuntimeException { +public class MirroredTypeException extends MirroredTypesException { private static final long serialVersionUID = 269; @@ -54,7 +54,7 @@ * @param type the type being accessed */ public MirroredTypeException(TypeMirror type) { - super("Attempt to access Class object for TypeMirror " + type.toString()); + super("Attempt to access Class object for TypeMirror " + type.toString(), type); this.type = type; } @@ -76,5 +76,6 @@ throws IOException, ClassNotFoundException { s.defaultReadObject(); type = null; + types = null; } } diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/javax/lang/model/type/MirroredTypesException.java --- a/langtools/src/share/classes/javax/lang/model/type/MirroredTypesException.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/javax/lang/model/type/MirroredTypesException.java Mon Jun 21 22:09:18 2010 -0700 @@ -49,7 +49,17 @@ private static final long serialVersionUID = 269; - private transient List types; // cannot be serialized + transient List types; // cannot be serialized + + /* + * Trusted constructor to be called by MirroredTypeException. + */ + MirroredTypesException(String message, TypeMirror type) { + super(message); + List tmp = (new ArrayList()); + tmp.add(type); + types = Collections.unmodifiableList(tmp); + } /** * Constructs a new MirroredTypesException for the specified types. diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java --- a/langtools/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java Mon Jun 21 22:09:18 2010 -0700 @@ -62,6 +62,8 @@ * @author Joseph D. Darcy * @author Scott Seligman * @author Peter von der Ahé + * + * @see AbstractAnnotationValueVisitor7 * @since 1.6 */ @SupportedSourceVersion(RELEASE_6) diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor7.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor7.java Mon Jun 21 22:09:18 2010 -0700 @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package javax.lang.model.util; + +import java.util.List; +import javax.lang.model.element.*; + +import javax.lang.model.type.TypeMirror; +import static javax.lang.model.SourceVersion.*; +import javax.lang.model.SourceVersion; +import javax.annotation.processing.SupportedSourceVersion; + +/** + * A skeletal visitor for annotation values with default behavior + * appropriate for the {@link SourceVersion#RELEASE_7 RELEASE_7} + * source version. + * + *

    WARNING: The {@code AnnotationValueVisitor} interface + * implemented by this class may have methods added to it in the + * future to accommodate new, currently unknown, language structures + * added to future versions of the Java™ programming language. + * Therefore, methods whose names begin with {@code "visit"} may be + * added to this class in the future; to avoid incompatibilities, + * classes which extend this class should not declare any instance + * methods with names beginning with {@code "visit"}. + * + *

    When such a new visit method is added, the default + * implementation in this class will be to call the {@link + * #visitUnknown visitUnknown} method. A new abstract annotation + * value visitor class will also be introduced to correspond to the + * new language level; this visitor will have different default + * behavior for the visit method in question. When the new visitor is + * introduced, all or portions of this visitor may be deprecated. + * + * @param the return type of this visitor's methods + * @param

    the type of the additional parameter to this visitor's methods. + * + * @see AbstractAnnotationValueVisitor6 + * @since 1.7 + */ +@SupportedSourceVersion(RELEASE_7) +public abstract class AbstractAnnotationValueVisitor7 extends AbstractAnnotationValueVisitor6 { + + /** + * Constructor for concrete subclasses to call. + */ + protected AbstractAnnotationValueVisitor7() { + super(); + } +} diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/javax/lang/model/util/AbstractElementVisitor6.java --- a/langtools/src/share/classes/javax/lang/model/util/AbstractElementVisitor6.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/javax/lang/model/util/AbstractElementVisitor6.java Mon Jun 21 22:09:18 2010 -0700 @@ -65,6 +65,8 @@ * @author Joseph D. Darcy * @author Scott Seligman * @author Peter von der Ahé + * + * @see AbstractElementVisitor7 * @since 1.6 */ @SupportedSourceVersion(RELEASE_6) diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/javax/lang/model/util/AbstractElementVisitor7.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/src/share/classes/javax/lang/model/util/AbstractElementVisitor7.java Mon Jun 21 22:09:18 2010 -0700 @@ -0,0 +1,75 @@ +/* + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package javax.lang.model.util; + +import javax.lang.model.element.*; +import javax.annotation.processing.SupportedSourceVersion; +import javax.lang.model.element.*; +import static javax.lang.model.element.ElementKind.*; +import static javax.lang.model.SourceVersion.*; +import javax.lang.model.SourceVersion; + + +/** + * A skeletal visitor of program elements with default behavior + * appropriate for the {@link SourceVersion#RELEASE_7 RELEASE_7} + * source version. + * + *

    WARNING: The {@code ElementVisitor} interface + * implemented by this class may have methods added to it in the + * future to accommodate new, currently unknown, language structures + * added to future versions of the Java™ programming language. + * Therefore, methods whose names begin with {@code "visit"} may be + * added to this class in the future; to avoid incompatibilities, + * classes which extend this class should not declare any instance + * methods with names beginning with {@code "visit"}. + * + *

    When such a new visit method is added, the default + * implementation in this class will be to call the {@link + * #visitUnknown visitUnknown} method. A new abstract element visitor + * class will also be introduced to correspond to the new language + * level; this visitor will have different default behavior for the + * visit method in question. When the new visitor is introduced, all + * or portions of this visitor may be deprecated. + * + * @param the return type of this visitor's methods. Use {@link + * Void} for visitors that do not need to return results. + * @param

    the type of the additional parameter to this visitor's + * methods. Use {@code Void} for visitors that do not need an + * additional parameter. + * + * @see AbstractElementVisitor6 + * @since 1.7 + */ +@SupportedSourceVersion(RELEASE_7) +public abstract class AbstractElementVisitor7 extends AbstractElementVisitor6 { + /** + * Constructor for concrete subclasses to call. + */ + protected AbstractElementVisitor7(){ + super(); + } +} diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java --- a/langtools/src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java Mon Jun 21 22:09:18 2010 -0700 @@ -57,6 +57,8 @@ * @author Joseph D. Darcy * @author Scott Seligman * @author Peter von der Ahé + * + * @see AbstractTypeVisitor7 * @since 1.6 */ public abstract class AbstractTypeVisitor6 implements TypeVisitor { diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/javax/lang/model/util/AbstractTypeVisitor7.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/src/share/classes/javax/lang/model/util/AbstractTypeVisitor7.java Mon Jun 21 22:09:18 2010 -0700 @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package javax.lang.model.util; + +import javax.lang.model.type.*; + +/** + * A skeletal visitor of types with default behavior appropriate for + * the version 7 language level. + * + *

    WARNING: The {@code TypeVisitor} interface implemented + * by this class may have methods added to it in the future to + * accommodate new, currently unknown, language structures added to + * future versions of the Java™ programming language. + * Therefore, methods whose names begin with {@code "visit"} may be + * added to this class in the future; to avoid incompatibilities, + * classes which extend this class should not declare any instance + * methods with names beginning with {@code "visit"}. + * + *

    When such a new visit method is added, the default + * implementation in this class will be to call the {@link + * #visitUnknown visitUnknown} method. A new abstract type visitor + * class will also be introduced to correspond to the new language + * level; this visitor will have different default behavior for the + * visit method in question. When the new visitor is introduced, all + * or portions of this visitor may be deprecated. + * + * @param the return type of this visitor's methods. Use {@link + * Void} for visitors that do not need to return results. + * @param

    the type of the additional parameter to this visitor's + * methods. Use {@code Void} for visitors that do not need an + * additional parameter. + * + * @see AbstractTypeVisitor6 + * @since 1.7 + */ +public abstract class AbstractTypeVisitor7 extends AbstractTypeVisitor6 { + /** + * Constructor for concrete subclasses to call. + */ + protected AbstractTypeVisitor7() { + super(); + } +} diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/javax/lang/model/util/ElementKindVisitor6.java --- a/langtools/src/share/classes/javax/lang/model/util/ElementKindVisitor6.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/javax/lang/model/util/ElementKindVisitor6.java Mon Jun 21 22:09:18 2010 -0700 @@ -76,6 +76,8 @@ * @author Joseph D. Darcy * @author Scott Seligman * @author Peter von der Ahé + * + * @see ElementKindVisitor7 * @since 1.6 */ @SupportedSourceVersion(RELEASE_6) diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/javax/lang/model/util/ElementKindVisitor7.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/src/share/classes/javax/lang/model/util/ElementKindVisitor7.java Mon Jun 21 22:09:18 2010 -0700 @@ -0,0 +1,97 @@ +/* + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package javax.lang.model.util; + +import javax.lang.model.element.*; +import static javax.lang.model.element.ElementKind.*; +import javax.annotation.processing.SupportedSourceVersion; +import static javax.lang.model.SourceVersion.*; +import javax.lang.model.SourceVersion; + +/** + * A visitor of program elements based on their {@linkplain + * ElementKind kind} with default behavior appropriate for the {@link + * SourceVersion#RELEASE_6 RELEASE_6} source version. For {@linkplain + * Element elements} XYZ that may have more than one + * kind, the visitXYZ methods in this class delegate + * to the visitXYZKind method corresponding to the + * first argument's kind. The visitXYZKind methods + * call {@link #defaultAction defaultAction}, passing their arguments + * to {@code defaultAction}'s corresponding parameters. + * + *

    Methods in this class may be overridden subject to their + * general contract. Note that annotating methods in concrete + * subclasses with {@link java.lang.Override @Override} will help + * ensure that methods are overridden as intended. + * + *

    WARNING: The {@code ElementVisitor} interface + * implemented by this class may have methods added to it or the + * {@code ElementKind} {@code enum} used in this case may have + * constants added to it in the future to accommodate new, currently + * unknown, language structures added to future versions of the + * Java™ programming language. Therefore, methods whose names + * begin with {@code "visit"} may be added to this class in the + * future; to avoid incompatibilities, classes which extend this class + * should not declare any instance methods with names beginning with + * {@code "visit"}. + * + *

    When such a new visit method is added, the default + * implementation in this class will be to call the {@link + * #visitUnknown visitUnknown} method. A new abstract element kind + * visitor class will also be introduced to correspond to the new + * language level; this visitor will have different default behavior + * for the visit method in question. When the new visitor is + * introduced, all or portions of this visitor may be deprecated. + * + * @param the return type of this visitor's methods. Use {@link + * Void} for visitors that do not need to return results. + * @param

    the type of the additional parameter to this visitor's + * methods. Use {@code Void} for visitors that do not need an + * additional parameter. + * + * @see ElementKindVisitor6 + * @since 1.7 + */ +@SupportedSourceVersion(RELEASE_7) +public class ElementKindVisitor7 extends ElementKindVisitor6 { + /** + * Constructor for concrete subclasses; uses {@code null} for the + * default value. + */ + protected ElementKindVisitor7() { + super(null); + } + + /** + * Constructor for concrete subclasses; uses the argument for the + * default value. + * + * @param defaultValue the value to assign to {@link #DEFAULT_VALUE} + */ + protected ElementKindVisitor7(R defaultValue) { + super(defaultValue); + } +} diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/javax/lang/model/util/ElementScanner6.java --- a/langtools/src/share/classes/javax/lang/model/util/ElementScanner6.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/javax/lang/model/util/ElementScanner6.java Mon Jun 21 22:09:18 2010 -0700 @@ -88,6 +88,8 @@ * @author Joseph D. Darcy * @author Scott Seligman * @author Peter von der Ahé + * + * @see ElementScanner7 * @since 1.6 */ @SupportedSourceVersion(RELEASE_6) diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/javax/lang/model/util/ElementScanner7.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/src/share/classes/javax/lang/model/util/ElementScanner7.java Mon Jun 21 22:09:18 2010 -0700 @@ -0,0 +1,108 @@ +/* + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package javax.lang.model.util; + +import javax.lang.model.element.*; +import javax.annotation.processing.SupportedSourceVersion; +import static javax.lang.model.element.ElementKind.*; +import javax.lang.model.SourceVersion; +import static javax.lang.model.SourceVersion.*; + + +/** + * A scanning visitor of program elements with default behavior + * appropriate for the {@link SourceVersion#RELEASE_7 RELEASE_7} + * source version. The visitXYZ methods in this + * class scan their component elements by calling {@code scan} on + * their {@linkplain Element#getEnclosedElements enclosed elements}, + * {@linkplain ExecutableElement#getParameters parameters}, etc., as + * indicated in the individual method specifications. A subclass can + * control the order elements are visited by overriding the + * visitXYZ methods. Note that clients of a scanner + * may get the desired behavior be invoking {@code v.scan(e, p)} rather + * than {@code v.visit(e, p)} on the root objects of interest. + * + *

    When a subclass overrides a visitXYZ method, the + * new method can cause the enclosed elements to be scanned in the + * default way by calling super.visitXYZ. In this + * fashion, the concrete visitor can control the ordering of traversal + * over the component elements with respect to the additional + * processing; for example, consistently calling + * super.visitXYZ at the start of the overridden + * methods will yield a preorder traversal, etc. If the component + * elements should be traversed in some other order, instead of + * calling super.visitXYZ, an overriding visit method + * should call {@code scan} with the elements in the desired order. + * + *

    Methods in this class may be overridden subject to their + * general contract. Note that annotating methods in concrete + * subclasses with {@link java.lang.Override @Override} will help + * ensure that methods are overridden as intended. + * + *

    WARNING: The {@code ElementVisitor} interface + * implemented by this class may have methods added to it in the + * future to accommodate new, currently unknown, language structures + * added to future versions of the Java™ programming language. + * Therefore, methods whose names begin with {@code "visit"} may be + * added to this class in the future; to avoid incompatibilities, + * classes which extend this class should not declare any instance + * methods with names beginning with {@code "visit"}. + * + *

    When such a new visit method is added, the default + * implementation in this class will be to call the {@link + * #visitUnknown visitUnknown} method. A new element scanner visitor + * class will also be introduced to correspond to the new language + * level; this visitor will have different default behavior for the + * visit method in question. When the new visitor is introduced, all + * or portions of this visitor may be deprecated. + * + * @param the return type of this visitor's methods. Use {@link + * Void} for visitors that do not need to return results. + * @param

    the type of the additional parameter to this visitor's + * methods. Use {@code Void} for visitors that do not need an + * additional parameter. + * + * @see ElementScanner6 + * @since 1.7 + */ +@SupportedSourceVersion(RELEASE_7) +public class ElementScanner7 extends ElementScanner6 { + /** + * Constructor for concrete subclasses; uses {@code null} for the + * default value. + */ + protected ElementScanner7(){ + super(null); + } + + /** + * Constructor for concrete subclasses; uses the argument for the + * default value. + */ + protected ElementScanner7(R defaultValue){ + super(defaultValue); + } +} diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor6.java --- a/langtools/src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor6.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor6.java Mon Jun 21 22:09:18 2010 -0700 @@ -69,6 +69,8 @@ * @author Joseph D. Darcy * @author Scott Seligman * @author Peter von der Ahé + * + * @see SimpleAnnotationValueVisitor7 * @since 1.6 */ @SupportedSourceVersion(RELEASE_6) diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor7.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor7.java Mon Jun 21 22:09:18 2010 -0700 @@ -0,0 +1,90 @@ +/* + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package javax.lang.model.util; + +import java.util.List; +import javax.lang.model.element.*; + +import javax.lang.model.type.TypeMirror; +import static javax.lang.model.SourceVersion.*; +import javax.lang.model.SourceVersion; +import javax.annotation.processing.SupportedSourceVersion; + +/** + * A simple visitor for annotation values with default behavior + * appropriate for the {@link SourceVersion#RELEASE_7 RELEASE_7} + * source version. Visit methods call {@link + * #defaultAction} passing their arguments to {@code defaultAction}'s + * corresponding parameters. + * + *

    Methods in this class may be overridden subject to their + * general contract. Note that annotating methods in concrete + * subclasses with {@link java.lang.Override @Override} will help + * ensure that methods are overridden as intended. + * + *

    WARNING: The {@code AnnotationValueVisitor} interface + * implemented by this class may have methods added to it in the + * future to accommodate new, currently unknown, language structures + * added to future versions of the Java™ programming language. + * Therefore, methods whose names begin with {@code "visit"} may be + * added to this class in the future; to avoid incompatibilities, + * classes which extend this class should not declare any instance + * methods with names beginning with {@code "visit"}. + * + *

    When such a new visit method is added, the default + * implementation in this class will be to call the {@link + * #visitUnknown visitUnknown} method. A new simple annotation + * value visitor class will also be introduced to correspond to the + * new language level; this visitor will have different default + * behavior for the visit method in question. When the new visitor is + * introduced, all or portions of this visitor may be deprecated. + * + * @param the return type of this visitor's methods + * @param

    the type of the additional parameter to this visitor's methods. + * + * @see SimpleAnnotationValueVisitor6 + * @since 1.7 + */ +@SupportedSourceVersion(RELEASE_7) +public class SimpleAnnotationValueVisitor7 extends SimpleAnnotationValueVisitor6 { + /** + * Constructor for concrete subclasses; uses {@code null} for the + * default value. + */ + protected SimpleAnnotationValueVisitor7() { + super(null); + } + + /** + * Constructor for concrete subclasses; uses the argument for the + * default value. + * + * @param defaultValue the value to assign to {@link #DEFAULT_VALUE} + */ + protected SimpleAnnotationValueVisitor7(R defaultValue) { + super(defaultValue); + } +} diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/javax/lang/model/util/SimpleElementVisitor6.java --- a/langtools/src/share/classes/javax/lang/model/util/SimpleElementVisitor6.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/javax/lang/model/util/SimpleElementVisitor6.java Mon Jun 21 22:09:18 2010 -0700 @@ -71,6 +71,8 @@ * @author Joseph D. Darcy * @author Scott Seligman * @author Peter von der Ahé + * + * @see SimpleElementVisitor7 * @since 1.6 */ @SupportedSourceVersion(RELEASE_6) diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/javax/lang/model/util/SimpleElementVisitor7.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/src/share/classes/javax/lang/model/util/SimpleElementVisitor7.java Mon Jun 21 22:09:18 2010 -0700 @@ -0,0 +1,92 @@ +/* + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package javax.lang.model.util; + +import javax.lang.model.element.*; +import javax.annotation.processing.SupportedSourceVersion; +import static javax.lang.model.element.ElementKind.*; +import javax.lang.model.SourceVersion; +import static javax.lang.model.SourceVersion.*; + +/** + * A simple visitor of program elements with default behavior + * appropriate for the {@link SourceVersion#RELEASE_7 RELEASE_7} + * source version. + * + * Visit methods corresponding to {@code RELEASE_7} language + * constructs call {@link #defaultAction}, passing their arguments to + * {@code defaultAction}'s corresponding parameters. + * + *

    Methods in this class may be overridden subject to their + * general contract. Note that annotating methods in concrete + * subclasses with {@link java.lang.Override @Override} will help + * ensure that methods are overridden as intended. + * + *

    WARNING: The {@code ElementVisitor} interface + * implemented by this class may have methods added to it in the + * future to accommodate new, currently unknown, language structures + * added to future versions of the Java™ programming language. + * Therefore, methods whose names begin with {@code "visit"} may be + * added to this class in the future; to avoid incompatibilities, + * classes which extend this class should not declare any instance + * methods with names beginning with {@code "visit"}. + * + *

    When such a new visit method is added, the default + * implementation in this class will be to call the {@link + * #visitUnknown visitUnknown} method. A new simple element visitor + * class will also be introduced to correspond to the new language + * level; this visitor will have different default behavior for the + * visit method in question. When the new visitor is introduced, all + * or portions of this visitor may be deprecated. + * + * @param the return type of this visitor's methods. Use {@code Void} + * for visitors that do not need to return results. + * @param

    the type of the additional parameter to this visitor's methods. Use {@code Void} + * for visitors that do not need an additional parameter. + * + * @see SimpleElementVisitor6 + * @since 1.7 + */ +@SupportedSourceVersion(RELEASE_7) +public class SimpleElementVisitor7 extends SimpleElementVisitor6 { + /** + * Constructor for concrete subclasses; uses {@code null} for the + * default value. + */ + protected SimpleElementVisitor7(){ + super(null); + } + + /** + * Constructor for concrete subclasses; uses the argument for the + * default value. + * + * @param defaultValue the value to assign to {@link #DEFAULT_VALUE} + */ + protected SimpleElementVisitor7(R defaultValue){ + super(defaultValue); + } +} diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java --- a/langtools/src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java Mon Jun 21 22:09:18 2010 -0700 @@ -70,6 +70,8 @@ * @author Joseph D. Darcy * @author Scott Seligman * @author Peter von der Ahé + * + * @see SimpleTypeVisitor7 * @since 1.6 */ @SupportedSourceVersion(RELEASE_6) diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/javax/lang/model/util/SimpleTypeVisitor7.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/src/share/classes/javax/lang/model/util/SimpleTypeVisitor7.java Mon Jun 21 22:09:18 2010 -0700 @@ -0,0 +1,91 @@ +/* + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package javax.lang.model.util; + +import javax.lang.model.type.*; +import javax.annotation.processing.SupportedSourceVersion; +import javax.lang.model.SourceVersion; +import static javax.lang.model.SourceVersion.*; + +/** + * A simple visitor of types with default behavior appropriate for the + * {@link SourceVersion#RELEASE_7 RELEASE_7} source version. + * + * Visit methods corresponding to {@code RELEASE_7} language + * constructs call {@link #defaultAction}, passing their arguments to + * {@code defaultAction}'s corresponding parameters. + * + *

    Methods in this class may be overridden subject to their + * general contract. Note that annotating methods in concrete + * subclasses with {@link java.lang.Override @Override} will help + * ensure that methods are overridden as intended. + * + *

    WARNING: The {@code TypeVisitor} interface implemented + * by this class may have methods added to it in the future to + * accommodate new, currently unknown, language structures added to + * future versions of the Java™ programming language. + * Therefore, methods whose names begin with {@code "visit"} may be + * added to this class in the future; to avoid incompatibilities, + * classes which extend this class should not declare any instance + * methods with names beginning with {@code "visit"}. + * + *

    When such a new visit method is added, the default + * implementation in this class will be to call the {@link + * #visitUnknown visitUnknown} method. A new simple type visitor + * class will also be introduced to correspond to the new language + * level; this visitor will have different default behavior for the + * visit method in question. When the new visitor is introduced, all + * or portions of this visitor may be deprecated. + * + * @param the return type of this visitor's methods. Use {@link + * Void} for visitors that do not need to return results. + * @param

    the type of the additional parameter to this visitor's + * methods. Use {@code Void} for visitors that do not need an + * additional parameter. + * + * @see SimpleTypeVisitor6 + * @since 1.7 + */ +@SupportedSourceVersion(RELEASE_7) +public class SimpleTypeVisitor7 extends SimpleTypeVisitor6 { + /** + * Constructor for concrete subclasses; uses {@code null} for the + * default value. + */ + protected SimpleTypeVisitor7(){ + super(null); + } + + /** + * Constructor for concrete subclasses; uses the argument for the + * default value. + * + * @param defaultValue the value to assign to {@link #DEFAULT_VALUE} + */ + protected SimpleTypeVisitor7(R defaultValue){ + super(defaultValue); + } +} diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/javax/lang/model/util/TypeKindVisitor6.java --- a/langtools/src/share/classes/javax/lang/model/util/TypeKindVisitor6.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/javax/lang/model/util/TypeKindVisitor6.java Mon Jun 21 22:09:18 2010 -0700 @@ -74,6 +74,8 @@ * @author Joseph D. Darcy * @author Scott Seligman * @author Peter von der Ahé + * + * @see TypeKindVisitor7 * @since 1.6 */ @SupportedSourceVersion(RELEASE_6) diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/javax/lang/model/util/TypeKindVisitor7.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/src/share/classes/javax/lang/model/util/TypeKindVisitor7.java Mon Jun 21 22:09:18 2010 -0700 @@ -0,0 +1,95 @@ +/* + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package javax.lang.model.util; + +import javax.lang.model.type.*; +import javax.annotation.processing.SupportedSourceVersion; +import static javax.lang.model.element.ElementKind.*; +import static javax.lang.model.SourceVersion.*; +import javax.lang.model.SourceVersion; + +/** + * A visitor of types based on their {@linkplain TypeKind kind} with + * default behavior appropriate for the {@link SourceVersion#RELEASE_7 + * RELEASE_7} source version. For {@linkplain + * TypeMirror types} XYZ that may have more than one + * kind, the visitXYZ methods in this class delegate + * to the visitXYZKind method corresponding to the + * first argument's kind. The visitXYZKind methods + * call {@link #defaultAction defaultAction}, passing their arguments + * to {@code defaultAction}'s corresponding parameters. + * + *

    Methods in this class may be overridden subject to their + * general contract. Note that annotating methods in concrete + * subclasses with {@link java.lang.Override @Override} will help + * ensure that methods are overridden as intended. + * + *

    WARNING: The {@code TypeVisitor} interface implemented + * by this class may have methods added to it in the future to + * accommodate new, currently unknown, language structures added to + * future versions of the Java™ programming language. + * Therefore, methods whose names begin with {@code "visit"} may be + * added to this class in the future; to avoid incompatibilities, + * classes which extend this class should not declare any instance + * methods with names beginning with {@code "visit"}. + * + *

    When such a new visit method is added, the default + * implementation in this class will be to call the {@link + * #visitUnknown visitUnknown} method. A new type kind visitor class + * will also be introduced to correspond to the new language level; + * this visitor will have different default behavior for the visit + * method in question. When the new visitor is introduced, all or + * portions of this visitor may be deprecated. + * + * @param the return type of this visitor's methods. Use {@link + * Void} for visitors that do not need to return results. + * @param

    the type of the additional parameter to this visitor's + * methods. Use {@code Void} for visitors that do not need an + * additional parameter. + * + * @see TypeKindVisitor6 + * @since 1.7 + */ +@SupportedSourceVersion(RELEASE_7) +public class TypeKindVisitor7 extends TypeKindVisitor6 { + /** + * Constructor for concrete subclasses to call; uses {@code null} + * for the default value. + */ + protected TypeKindVisitor7() { + super(null); + } + + /** + * Constructor for concrete subclasses to call; uses the argument + * for the default value. + * + * @param defaultValue the value to assign to {@link #DEFAULT_VALUE} + */ + protected TypeKindVisitor7(R defaultValue) { + super(defaultValue); + } +} diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/classes/javax/tools/JavaFileManager.java --- a/langtools/src/share/classes/javax/tools/JavaFileManager.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/classes/javax/tools/JavaFileManager.java Mon Jun 21 22:09:18 2010 -0700 @@ -256,7 +256,7 @@ * *

    Optionally, this file manager might consider the sibling as * a hint for where to place the output. The exact semantics of - * this hint is unspecified. Sun's compiler, javac, for + * this hint is unspecified. The JDK compiler, javac, for * example, will place class files in the same directories as * originating source files unless a class file output directory * is provided. To facilitate this behavior, javac might provide @@ -338,7 +338,7 @@ * *

    Optionally, this file manager might consider the sibling as * a hint for where to place the output. The exact semantics of - * this hint is unspecified. Sun's compiler, javac, for + * this hint is unspecified. The JDK compiler, javac, for * example, will place class files in the same directories as * originating source files unless a class file output directory * is provided. To facilitate this behavior, javac might provide diff -r 3190f7182a90 -r 79df42db724a langtools/src/share/sample/javac/processing/src/CheckNamesProcessor.java --- a/langtools/src/share/sample/javac/processing/src/CheckNamesProcessor.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/src/share/sample/javac/processing/src/CheckNamesProcessor.java Mon Jun 21 22:09:18 2010 -0700 @@ -138,7 +138,7 @@ public SourceVersion getSupportedSourceVersion() { /* * Return latest source version instead of a fixed version - * like RELEASE_6. To return a fixed version, this class + * like RELEASE_7. To return a fixed version, this class * could be annotated with a SupportedSourceVersion * annotation. * @@ -190,7 +190,7 @@ /** * Visitor to implement name checks. */ - private class NameCheckScanner extends ElementScanner6 { + private class NameCheckScanner extends ElementScanner7 { // The visitor could be enhanced to return true/false if // there were warnings reported or a count of the number // of warnings. This could be facilitated by using @@ -312,7 +312,7 @@ @Override public Void visitUnknown(Element e, Void p) { // This method will be called if a kind of element - // added after JDK 6 is visited. Since as of this + // added after JDK 7 is visited. Since as of this // writing the conventions for such constructs aren't // known, issue a warning. messager.printMessage(WARNING, diff -r 3190f7182a90 -r 79df42db724a langtools/test/tools/apt/mirror/declaration/pkg1/pkg2/package.html --- a/langtools/test/tools/apt/mirror/declaration/pkg1/pkg2/package.html Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/test/tools/apt/mirror/declaration/pkg1/pkg2/package.html Mon Jun 21 22:09:18 2010 -0700 @@ -24,7 +24,6 @@ Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA or visit www.oracle.com if you need additional information or have any questions. - --> diff -r 3190f7182a90 -r 79df42db724a langtools/test/tools/javac/6402516/CheckLocalElements.java --- a/langtools/test/tools/javac/6402516/CheckLocalElements.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/test/tools/javac/6402516/CheckLocalElements.java Mon Jun 21 22:09:18 2010 -0700 @@ -95,7 +95,7 @@ return encl == null ? "" : encl.accept(qualNameVisitor, null); } - private ElementVisitor qualNameVisitor = new SimpleElementVisitor6() { + private ElementVisitor qualNameVisitor = new SimpleElementVisitor7() { protected String defaultAction(Element e, Void ignore) { return ""; } diff -r 3190f7182a90 -r 79df42db724a langtools/test/tools/javac/6948381/T6948381.java --- a/langtools/test/tools/javac/6948381/T6948381.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/test/tools/javac/6948381/T6948381.java Mon Jun 21 22:09:18 2010 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2010 Sun Microsystems, Inc. All Rights Reserved. + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -16,9 +16,9 @@ * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. */ /** diff -r 3190f7182a90 -r 79df42db724a langtools/test/tools/javac/6948381/npe/A.java --- a/langtools/test/tools/javac/6948381/npe/A.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/test/tools/javac/6948381/npe/A.java Mon Jun 21 22:09:18 2010 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2010 Sun Microsystems, Inc. All Rights Reserved. + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -16,9 +16,9 @@ * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. */ package npe; diff -r 3190f7182a90 -r 79df42db724a langtools/test/tools/javac/6948381/npe/B.java --- a/langtools/test/tools/javac/6948381/npe/B.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/test/tools/javac/6948381/npe/B.java Mon Jun 21 22:09:18 2010 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2010 Sun Microsystems, Inc. All Rights Reserved. + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -16,9 +16,9 @@ * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. */ package npe; diff -r 3190f7182a90 -r 79df42db724a langtools/test/tools/javac/T6956638.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/T6956638.java Mon Jun 21 22:09:18 2010 -0700 @@ -0,0 +1,156 @@ +/* + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.io.StringWriter; +import java.util.Arrays; +import java.util.Iterator; +import java.util.List; + +import javax.lang.model.element.Element; +import javax.tools.DiagnosticCollector; +import javax.tools.JavaCompiler; +import javax.tools.JavaFileObject; +import javax.tools.StandardJavaFileManager; +import javax.tools.ToolProvider; + +import com.sun.source.tree.CompilationUnitTree; +import com.sun.source.util.JavacTask; + +/** + * @test + * @bug 6956638 + * @summary JavacTask.generate does not generate all required files + */ +public class T6956638 { + public static void main(String[] args) throws Exception { + new T6956638().run(); + } + + void run() throws Exception { + File srcDir = new File("src"); + + File[] files = { + writeFile(new File(srcDir, "T1.java"), + "public class T1 extends T2 {}\n"), + writeFile(new File(srcDir, "T2.java"), + "public class T2 extends T3 {}\n"), + writeFile(new File(srcDir, "T3.java"), + "public class T3 { public static final int C = 1; }\n"), + writeFile(new File(srcDir, "Test.java"), + "public class Test { public static final int D = T1.C; }\n") + }; + + for (File f1: files) { + for (File f2: files) { + if (f2 == f1) continue; + for (File f3: files) { + if (f3 == f2 || f3 == f1) continue; + for (File f4: files) { + if (f4 == f3 || f4 == f2 || f4 == f1) continue; + try { + test(f1, f2, f3, f4); + } catch (Exception e) { + error(e); + } + } + } + } + } + + if (errors > 0) + throw new Exception(errors + " tests failed"); + } + + void test(File... sourceFiles) throws Exception { + System.err.println("Test " + (++count) + ": " + Arrays.asList(sourceFiles)); + + File classesDir = new File("classes" + count); + classesDir.mkdirs(); + + StringWriter compilerOutputStream = new StringWriter(); + + List compileOptions = Arrays.asList("-d", classesDir.getPath()); + JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); + DiagnosticCollector diagnosticCollector = new DiagnosticCollector(); + StandardJavaFileManager fileManager = compiler.getStandardFileManager(diagnosticCollector, null, null); + Iterable sourceFileObjects = fileManager.getJavaFileObjects(sourceFiles); + System.err.println("1- javac given java source JavaFileObjects " + sourceFileObjects); + JavaCompiler.CompilationTask task = compiler.getTask(compilerOutputStream, fileManager, null, compileOptions, null, sourceFileObjects); + JavacTask javacTask = (JavacTask) task; + + Iterable parsedTrees = javacTask.parse(); + Iterable analyzedTrees = javacTask.analyze(); + Iterable generatedFiles = javacTask.generate(); + + System.err.println("2- parsed:" + size(parsedTrees) + " analysed:" + size(analyzedTrees) + " generated:" + size(generatedFiles)); + + System.err.print("3-"); + for (JavaFileObject f : generatedFiles) + System.err.print(" " + f); + System.err.println(""); + + System.err.print("5-"); + for (File f : classesDir.listFiles()) + System.err.print(" " + f); + System.err.println(""); + + System.err.println("----"); + System.err.println(compilerOutputStream.toString()); + + if (size(generatedFiles) != size(parsedTrees)) { + throw new Exception("wrong number of files generated: " + size(generatedFiles) + + " expected: " + size(parsedTrees)); + } + } + + private void error(Throwable t) { + t.printStackTrace(); + errors++; + } + + int count; + int errors; + + private static int size(Iterable x) { + int n = 0; + for (Iterator iter = x.iterator(); iter.hasNext(); ++n) + iter.next(); + return n; + } + + private static File writeFile(File f, String str) throws IOException { + f.getParentFile().mkdirs(); + BufferedWriter fout = new BufferedWriter(new FileWriter(f)); + try { + fout.write(str); + fout.flush(); + } finally { + fout.close(); + } + return f; + } +} diff -r 3190f7182a90 -r 79df42db724a langtools/test/tools/javac/api/TestOperators.java --- a/langtools/test/tools/javac/api/TestOperators.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/test/tools/javac/api/TestOperators.java Mon Jun 21 22:09:18 2010 -0700 @@ -299,7 +299,7 @@ final Trees trees = Trees.instance(processingEnv); final Messager log = processingEnv.getMessager(); final Elements elements = processingEnv.getElementUtils(); - class Scan extends ElementScanner6 { + class Scan extends ElementScanner7 { @Override public Void visitExecutable(ExecutableElement e, Void p) { Object debug = e; // info for exception handler diff -r 3190f7182a90 -r 79df42db724a langtools/test/tools/javac/api/evalexpr/ByteArrayClassLoader.java --- a/langtools/test/tools/javac/api/evalexpr/ByteArrayClassLoader.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/test/tools/javac/api/evalexpr/ByteArrayClassLoader.java Mon Jun 21 22:09:18 2010 -0700 @@ -28,7 +28,7 @@ /** * A class loader which loads classes from byte arrays. * - *

    This is NOT part of any API supported by Sun Microsystems. + *

    This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice.

    diff -r 3190f7182a90 -r 79df42db724a langtools/test/tools/javac/api/evalexpr/CompileFromString.java --- a/langtools/test/tools/javac/api/evalexpr/CompileFromString.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/test/tools/javac/api/evalexpr/CompileFromString.java Mon Jun 21 22:09:18 2010 -0700 @@ -32,7 +32,7 @@ /** * JSR 199 Demo application: compile from a String. * - *

    This is NOT part of any API supported by Sun Microsystems. + *

    This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice.

    diff -r 3190f7182a90 -r 79df42db724a langtools/test/tools/javac/api/evalexpr/MemoryFileManager.java --- a/langtools/test/tools/javac/api/evalexpr/MemoryFileManager.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/test/tools/javac/api/evalexpr/MemoryFileManager.java Mon Jun 21 22:09:18 2010 -0700 @@ -43,7 +43,7 @@ * This file manager delegates to another file manager * to lookup classes on boot class path. * - *

    This is NOT part of any API supported by Sun Microsystems. + *

    This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change * or deletion without notice.

    diff -r 3190f7182a90 -r 79df42db724a langtools/test/tools/javac/enum/6424358/T6424358.java --- a/langtools/test/tools/javac/enum/6424358/T6424358.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/test/tools/javac/enum/6424358/T6424358.java Mon Jun 21 22:09:18 2010 -0700 @@ -48,7 +48,7 @@ final Messager log = processingEnv.getMessager(); final Elements elements = processingEnv.getElementUtils(); final TypeElement testMe = elements.getTypeElement("TestMe"); - class Scan extends ElementScanner6 { + class Scan extends ElementScanner7 { @Override public Void visitExecutable(ExecutableElement e, Void p) { System.err.println("Looking at " + e); diff -r 3190f7182a90 -r 79df42db724a langtools/test/tools/javac/generics/diamond/T6951833.java --- a/langtools/test/tools/javac/generics/diamond/T6951833.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/test/tools/javac/generics/diamond/T6951833.java Mon Jun 21 22:09:18 2010 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2010 Sun Microsystems, Inc. All Rights Reserved. + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -16,9 +16,9 @@ * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. */ /* diff -r 3190f7182a90 -r 79df42db724a langtools/test/tools/javac/generics/typevars/T6880344.java --- a/langtools/test/tools/javac/generics/typevars/T6880344.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/test/tools/javac/generics/typevars/T6880344.java Mon Jun 21 22:09:18 2010 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. + * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -16,9 +16,9 @@ * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. */ /* diff -r 3190f7182a90 -r 79df42db724a langtools/test/tools/javac/processing/model/6194785/T6194785.java --- a/langtools/test/tools/javac/processing/model/6194785/T6194785.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/test/tools/javac/processing/model/6194785/T6194785.java Mon Jun 21 22:09:18 2010 -0700 @@ -43,7 +43,7 @@ { final Messager log = processingEnv.getMessager(); final Elements elements = processingEnv.getElementUtils(); - class Scan extends ElementScanner6 { + class Scan extends ElementScanner7 { @Override public Void visitExecutable(ExecutableElement e, Void ignored) { for (VariableElement p : e.getParameters()) diff -r 3190f7182a90 -r 79df42db724a langtools/test/tools/javac/processing/model/type/MirroredTypeEx/Plurality.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/processing/model/type/MirroredTypeEx/Plurality.java Mon Jun 21 22:09:18 2010 -0700 @@ -0,0 +1,192 @@ +/* + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 6519115 + * @summary Verify MirroredTypeException vs MirroredTypesException is thrown + * @compile Plurality.java + * @compile -processor Plurality -proc:only Plurality.java + * @author Joseph D. Darcy + */ +import java.lang.annotation.*; +import java.math.BigDecimal; +import java.util.*; +import javax.annotation.processing.*; +import javax.lang.model.*; +import javax.lang.model.element.*; +import javax.lang.model.type.*; +import javax.lang.model.util.*; + +@SupportedAnnotationTypes("*") +@P0 +@P1 +@P2 +@S1 +public class Plurality extends AbstractProcessor { + private boolean executed = false; + + Elements elements; + Types types; + + @Override + public void init(ProcessingEnvironment penv) { + super.init(penv); + elements = penv.getElementUtils(); + types = penv.getTypeUtils(); + } + + + public boolean process(Set annotations, + RoundEnvironment roundEnv) { + if (!roundEnv.processingOver()) { + executed = true; + // Processing just this type + Element e = elements.getTypeElement("Plurality"); + Class[] classes = null; + + P0 p0 = e.getAnnotation(P0.class); + try { + classes = p0.value(); + } catch (MirroredTypesException mtse) { + if (mtse instanceof MirroredTypeException) { + throw new RuntimeException("Wrong exception type!"); + } + + List types = mtse.getTypeMirrors(); + if (types.size() != 0) + throw new RuntimeException("List size != 0: " + + types); + } + + P1 p1 = e.getAnnotation(P1.class); + try { + classes = p1.value(); + } catch (MirroredTypesException mtse) { + if (mtse instanceof MirroredTypeException) { + throw new RuntimeException("Wrong exception type!"); + } + + List types = mtse.getTypeMirrors(); + if (types.size() != 1) + throw new RuntimeException("List size != 1: " + + types); + checkTypeListMatchesClasses(types, + this.getClass().getAnnotation(P1.class).value()); + } + + + P2 p2 = e.getAnnotation(P2.class); + try { + classes = p2.value(); + } catch(MirroredTypesException mtse) { + if (mtse instanceof MirroredTypeException) { + throw new RuntimeException("Wrong exception type!"); + } + + List types = mtse.getTypeMirrors(); + if (types.size() != 2) + throw new RuntimeException("List size != 2: " + + types); + checkTypeListMatchesClasses(types, + this.getClass().getAnnotation(P2.class).value()); + } + + Class clazz = null; + S1 s1 = e.getAnnotation(S1.class); + try { + clazz = s1.value(); + } catch(MirroredTypesException mtse) { + List types = mtse.getTypeMirrors(); + if (types.size() != 1) + throw new RuntimeException("List size != 1: " + + types); + Class[] clazzes = new Class[1]; + clazzes[0] = this.getClass().getAnnotation(S1.class).value(); + checkTypeListMatchesClasses(types, + clazzes); + } + + try { + clazz = s1.value(); + } catch(MirroredTypeException mte) { + TypeMirror type = mte.getTypeMirror(); + if (type == null) { + throw new RuntimeException("Expected null"); + } + List types = new ArrayList<>(); + types.add(type); + Class[] clazzes = new Class[1]; + clazzes[0] = this.getClass().getAnnotation(S1.class).value(); + checkTypeListMatchesClasses(types, clazzes); + } + } else { + if (!executed) { + throw new RuntimeException("Didn't seem to do anything!"); + } + } + return true; + } + + private static void checkTypeListMatchesClasses(List types, + Class[] classes) { + if (types.size() != classes.length) + throw new RuntimeException("Size mismatch:\n\t" + types + + "\n\t" + Arrays.toString(classes)); + int i = -1; + for(Class clazz : classes) { + i++; + String canonicalName = clazz.getCanonicalName(); + String toStringName = types.get(i).toString(); + if (!canonicalName.equals(toStringName)) + throw new RuntimeException("Mismatched names: " + + canonicalName + "\t" + + toStringName); + } + } + + @Override + public SourceVersion getSupportedSourceVersion() { + return SourceVersion.latest(); + } +} + +@Retention(RetentionPolicy.RUNTIME) +@interface P0 { + Class[] value() default {}; +} + +@Retention(RetentionPolicy.RUNTIME) +@interface P1 { + Class[] value() default {Integer.class}; +} + +@Retention(RetentionPolicy.RUNTIME) +@interface P2 { + Class[] value() default {String.class, Number.class}; +} + +@Retention(RetentionPolicy.RUNTIME) +@interface S1 { + Class value() default BigDecimal.class; +} diff -r 3190f7182a90 -r 79df42db724a langtools/test/tools/javac/processing/model/type/NoTypes.java --- a/langtools/test/tools/javac/processing/model/type/NoTypes.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/test/tools/javac/processing/model/type/NoTypes.java Mon Jun 21 22:09:18 2010 -0700 @@ -89,7 +89,7 @@ verifyKind(NONE, types.getNoType(NONE)); // The return type of a constructor or void method is VOID. - class Scanner extends ElementScanner6 { + class Scanner extends ElementScanner7 { @Override public Void visitExecutable(ExecutableElement e, Void p) { verifyKind(VOID, e.getReturnType()); @@ -104,10 +104,10 @@ /** * Verify that a NoType instance is of a particular kind, - * and that TypeKindVisitor6 properly dispatches on it. + * and that TypeKindVisitor7 properly dispatches on it. */ private void verifyKind(TypeKind kind, TypeMirror type) { - class Vis extends TypeKindVisitor6 { + class Vis extends TypeKindVisitor7 { @Override public TypeKind visitNoTypeAsVoid(NoType t, Void p) { return VOID; diff -r 3190f7182a90 -r 79df42db724a langtools/test/tools/javac/processing/model/util/deprecation/TestDeprecation.java --- a/langtools/test/tools/javac/processing/model/util/deprecation/TestDeprecation.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/test/tools/javac/processing/model/util/deprecation/TestDeprecation.java Mon Jun 21 22:09:18 2010 -0700 @@ -67,7 +67,7 @@ return true; } - private class DeprecationChecker extends ElementScanner6 { + private class DeprecationChecker extends ElementScanner7 { private Elements elementUtils; private boolean failure; DeprecationChecker() { diff -r 3190f7182a90 -r 79df42db724a langtools/test/tools/javac/varargs/6730476/T6730476a.java --- a/langtools/test/tools/javac/varargs/6730476/T6730476a.java Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/test/tools/javac/varargs/6730476/T6730476a.java Mon Jun 21 22:09:18 2010 -0700 @@ -27,7 +27,7 @@ * * @summary invalid "unchecked generic array" warning * @author mcimadamore - * @compile T6730476a.java -Xlint -Werror + * @compile T6730476a.java -Xlint:unchecked -Werror * */ diff -r 3190f7182a90 -r 79df42db724a langtools/test/tools/javac/varargs/6806876/T6806876.out --- a/langtools/test/tools/javac/varargs/6806876/T6806876.out Thu Jun 17 16:28:21 2010 -0700 +++ b/langtools/test/tools/javac/varargs/6806876/T6806876.out Mon Jun 21 22:09:18 2010 -0700 @@ -1,4 +1,6 @@ T6806876.java:11:32: compiler.warn.unchecked.generic.array.creation: java.lang.Number&java.lang.Comparable>[] - compiler.err.warnings.and.werror +- compiler.note.varargs.filename: T6806876.java +- compiler.note.varargs.recompile 1 error 1 warning diff -r 3190f7182a90 -r 79df42db724a langtools/test/tools/javac/varargs/warning/Warn4.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/varargs/warning/Warn4.java Mon Jun 21 22:09:18 2010 -0700 @@ -0,0 +1,259 @@ +/* + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/** + * @test + * @bug 6945418 + * @summary Project Coin: Simplified Varargs Method Invocation + * @author mcimadamore + * @run main Warn4 + */ +import com.sun.source.util.JavacTask; +import java.net.URI; +import java.util.Arrays; +import java.util.Set; +import java.util.HashSet; +import javax.tools.Diagnostic; +import javax.tools.JavaCompiler; +import javax.tools.JavaFileObject; +import javax.tools.SimpleJavaFileObject; +import javax.tools.ToolProvider; + +public class Warn4 { + + final static Warning[] error = null; + final static Warning[] none = new Warning[] {}; + final static Warning[] vararg = new Warning[] { Warning.VARARGS }; + final static Warning[] unchecked = new Warning[] { Warning.UNCHECKED }; + final static Warning[] both = new Warning[] { Warning.VARARGS, Warning.UNCHECKED }; + + enum Warning { + UNCHECKED("unchecked"), + VARARGS("varargs"); + + String category; + + Warning(String category) { + this.category = category; + } + + boolean isEnabled(XlintOption xlint, SuppressLevel suppressLevel) { + return Arrays.asList(xlint.enabledWarnings).contains(this); + } + + boolean isSuppressed(SuppressLevel suppressLevel) { + return Arrays.asList(suppressLevel.suppressedWarnings).contains(VARARGS); + } + } + + enum XlintOption { + NONE(), + UNCHECKED(Warning.UNCHECKED), + VARARGS(Warning.VARARGS), + ALL(Warning.UNCHECKED, Warning.VARARGS); + + Warning[] enabledWarnings; + + XlintOption(Warning... enabledWarnings) { + this.enabledWarnings = enabledWarnings; + } + + String getXlintOption() { + StringBuilder buf = new StringBuilder(); + String sep = ""; + for (Warning w : enabledWarnings) { + buf.append(sep); + buf.append(w.category); + sep=","; + } + return "-Xlint:" + + (this == NONE ? "none" : buf.toString()); + } + } + + enum SuppressLevel { + NONE(), + UNCHECKED(Warning.UNCHECKED), + VARARGS(Warning.VARARGS), + ALL(Warning.UNCHECKED, Warning.VARARGS); + + Warning[] suppressedWarnings; + + SuppressLevel(Warning... suppressedWarnings) { + this.suppressedWarnings = suppressedWarnings; + } + + String getSuppressAnnotation() { + StringBuilder buf = new StringBuilder(); + String sep = ""; + for (Warning w : suppressedWarnings) { + buf.append(sep); + buf.append("\""); + buf.append(w.category); + buf.append("\""); + sep=","; + } + return this == NONE ? "" : + "@SuppressWarnings({" + buf.toString() + "})"; + } + } + + enum Signature { + + EXTENDS_TVAR(" void #name(List#arity arg) { #body }", + new Warning[][] {both, both, both, both, error, both, both, both, error}), + SUPER_TVAR(" void #name(List#arity arg) { #body }", + new Warning[][] {error, both, error, both, error, error, both, both, error}), + UNBOUND("void #name(List#arity arg) { #body }", + new Warning[][] {none, none, none, none, none, none, none, none, error}), + INVARIANT_TVAR(" void #name(List#arity arg) { #body }", + new Warning[][] {both, both, both, both, error, both, both, both, error}), + TVAR(" void #name(Z#arity arg) { #body }", + new Warning[][] {both, both, both, both, both, both, both, both, vararg}), + EXTENDS("void #name(List#arity arg) { #body }", + new Warning[][] {error, error, error, error, error, both, error, both, error}), + SUPER("void #name(List#arity arg) { #body }", + new Warning[][] {error, error, error, error, error, error, both, both, error}), + INVARIANT("void #name(List#arity arg) { #body }", + new Warning[][] {error, error, error, error, error, error, error, both, error}), + UNPARAMETERIZED("void #name(String#arity arg) { #body }", + new Warning[][] {error, error, error, error, error, error, error, error, none}); + + String template; + Warning[][] warnings; + + Signature(String template, Warning[][] warnings) { + this.template = template; + this.warnings = warnings; + } + + boolean isApplicableTo(Signature other) { + return warnings[other.ordinal()] != null; + } + + boolean giveUnchecked(Signature other) { + return warnings[other.ordinal()] == unchecked || + warnings[other.ordinal()] == both; + } + + boolean giveVarargs(Signature other) { + return warnings[other.ordinal()] == vararg || + warnings[other.ordinal()] == both; + } + } + + public static void main(String... args) throws Exception { + for (XlintOption xlint : XlintOption.values()) { + for (SuppressLevel suppressLevel : SuppressLevel.values()) { + for (Signature vararg_meth : Signature.values()) { + for (Signature client_meth : Signature.values()) { + if (vararg_meth.isApplicableTo(client_meth)) { + test(xlint, + suppressLevel, + vararg_meth, + client_meth); + } + } + } + } + } + } + + static void test(XlintOption xlint, SuppressLevel suppressLevel, + Signature vararg_meth, Signature client_meth) throws Exception { + final JavaCompiler tool = ToolProvider.getSystemJavaCompiler(); + JavaSource source = new JavaSource(suppressLevel, vararg_meth, client_meth); + DiagnosticChecker dc = new DiagnosticChecker(); + JavacTask ct = (JavacTask)tool.getTask(null, null, dc, + Arrays.asList(xlint.getXlintOption()), null, Arrays.asList(source)); + ct.generate(); //to get mandatory notes + check(dc.warnings, + dc.notes, + new boolean[] {vararg_meth.giveUnchecked(client_meth), + vararg_meth.giveVarargs(client_meth)}, + source, xlint, suppressLevel); + } + + static void check(Set warnings, Set notes, boolean[] warnArr, JavaSource source, XlintOption xlint, SuppressLevel suppressLevel) { + boolean badOutput = false; + for (Warning wkind : Warning.values()) { + badOutput |= (warnArr[wkind.ordinal()] && !wkind.isSuppressed(suppressLevel)) != + (wkind.isEnabled(xlint, suppressLevel) ? + warnings.contains(wkind) : + notes.contains(wkind)); + } + if (badOutput) { + throw new Error("invalid diagnostics for source:\n" + + source.getCharContent(true) + + "\nOptions: " + xlint.getXlintOption() + + "\nExpected unchecked warning: " + warnArr[0] + + "\nExpected unsafe vararg warning: " + warnArr[1] + + "\nWarnings: " + warnings + + "\nNotes: " + notes); + } + } + + static class JavaSource extends SimpleJavaFileObject { + + String source; + + public JavaSource(SuppressLevel suppressLevel, Signature vararg_meth, Signature client_meth) { + super(URI.create("myfo:/Test.java"), JavaFileObject.Kind.SOURCE); + String meth1 = vararg_meth.template.replace("#arity", "..."); + meth1 = meth1.replace("#name", "m"); + meth1 = meth1.replace("#body", ""); + meth1 = suppressLevel.getSuppressAnnotation() + meth1; + String meth2 = client_meth.template.replace("#arity", ""); + meth2 = meth2.replace("#name", "test"); + meth2 = meth2.replace("#body", "m(arg);"); + source = "import java.util.List;\n" + + "class Test {\n" + meth1 + + "\n" + meth2 + "\n}\n"; + } + + @Override + public CharSequence getCharContent(boolean ignoreEncodingErrors) { + return source; + } + } + + static class DiagnosticChecker implements javax.tools.DiagnosticListener { + + Set warnings = new HashSet<>(); + Set notes = new HashSet<>(); + + public void report(Diagnostic diagnostic) { + if (diagnostic.getKind() == Diagnostic.Kind.MANDATORY_WARNING || + diagnostic.getKind() == Diagnostic.Kind.WARNING) { + warnings.add(diagnostic.getCode().contains("varargs") ? + Warning.VARARGS : + Warning.UNCHECKED); + } + else if (diagnostic.getKind() == Diagnostic.Kind.NOTE) { + notes.add(diagnostic.getCode().contains("varargs") ? + Warning.VARARGS : + Warning.UNCHECKED); + } + } + } +} diff -r 3190f7182a90 -r 79df42db724a langtools/test/tools/javadoc/6958836/Test.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javadoc/6958836/Test.java Mon Jun 21 22:09:18 2010 -0700 @@ -0,0 +1,120 @@ +/* + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 6958836 + * @summary javadoc should support -Xmaxerrs and -Xmaxwarns + */ + +import java.io.*; +import java.util.*; + +public class Test { + public static void main(String... args) throws Exception { + new Test().run(); + } + + void run() throws Exception { + javadoc("errs", list(), 10, 0); + javadoc("errs", list("-Xmaxerrs", "0"), 10, 0); + javadoc("errs", list("-Xmaxerrs", "2"), 2, 0); + javadoc("errs", list("-Xmaxerrs", "4"), 4, 0); + javadoc("errs", list("-Xmaxerrs", "20"), 10, 0); + + javadoc("warns", list(), 0, 10); + javadoc("warns", list("-Xmaxwarns", "0"), 0, 10); + javadoc("warns", list("-Xmaxwarns", "2"), 0, 2); + javadoc("warns", list("-Xmaxwarns", "4"), 0, 4); + javadoc("warns", list("-Xmaxwarns", "20"), 0, 10); + + if (errors > 0) + throw new Exception(errors + " errors occurred."); + } + + void javadoc(String pkg, List testOpts, + int expectErrs, int expectWarns) { + System.err.println("Test " + (++count) + ": " + pkg + " " + testOpts); + File testOutDir = new File("test" + count); + + List opts = new ArrayList(); + // Force en_US locale in lieu of something like -XDrawDiagnostics. + // For some reason, this must be the first option when used. + opts.addAll(list("-locale", "en_US")); + opts.addAll(list("-classpath", System.getProperty("test.src"))); + opts.addAll(list("-d", testOutDir.getPath())); + opts.addAll(testOpts); + opts.add(pkg); + + StringWriter errSW = new StringWriter(); + PrintWriter errPW = new PrintWriter(errSW); + StringWriter warnSW = new StringWriter(); + PrintWriter warnPW = new PrintWriter(warnSW); + StringWriter noteSW = new StringWriter(); + PrintWriter notePW = new PrintWriter(noteSW); + + int rc = com.sun.tools.javadoc.Main.execute("javadoc", + errPW, warnPW, notePW, + "com.sun.tools.doclets.standard.Standard", + getClass().getClassLoader(), + opts.toArray(new String[opts.size()])); + System.err.println("rc: " + rc); + + errPW.close(); + String errOut = errSW.toString(); + System.err.println("Errors:\n" + errOut); + warnPW.close(); + String warnOut = warnSW.toString(); + System.err.println("Warnings:\n" + warnOut); + notePW.close(); + String noteOut = noteSW.toString(); + System.err.println("Notes:\n" + noteOut); + + check(errOut, "Errors.java", expectErrs); + check(warnOut, " warning ", expectWarns); // requires -locale en_US + } + + void check(String text, String expectText, int expectCount) { + int foundCount = 0; + for (String line: text.split("[\r\n]+")) { + if (line.contains(expectText)) + foundCount++; + } + if (foundCount != expectCount) { + error("incorrect number of matches found: " + foundCount + + ", expected: " + expectCount); + } + } + + private List list(String... args) { + return Arrays.asList(args); + } + + void error(String msg) { + System.err.println(msg); + errors++; + } + + int count; + int errors; +} diff -r 3190f7182a90 -r 79df42db724a langtools/test/tools/javadoc/6958836/errs/Errors.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javadoc/6958836/errs/Errors.java Mon Jun 21 22:09:18 2010 -0700 @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package errs; + +// class with 10 errors +class Errors { + X m0() { } + X m1() { } + X m2() { } + X m3() { } + X m4() { } + X m5() { } + X m6() { } + X m7() { } + X m8() { } + X m9() { } +} diff -r 3190f7182a90 -r 79df42db724a langtools/test/tools/javadoc/6958836/warns/Warnings.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javadoc/6958836/warns/Warnings.java Mon Jun 21 22:09:18 2010 -0700 @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package warns; + +// class with 10 warnings +public class Warnings { + /** @param x */ + public void m0() { } + + /** @param x */ + public void m1() { } + + /** @param x */ + public void m2() { } + + /** @param x */ + public void m3() { } + + /** @param x */ + public void m4() { } + + /** @param x */ + public void m5() { } + + /** @param x */ + public void m6() { } + + /** @param x */ + public void m7() { } + + /** @param x */ + public void m8() { } + + /** @param x */ + public void m9() { } +}