# HG changeset patch # User lana # Date 1303771549 25200 # Node ID c0c0f0374f6730f9ac43f63d66b7fdeaacac40f0 # Parent f42e8c68e5f017a0d8c63b439afea2dd13be5bc6# Parent 782c0e439d8547af7fa7f4fde46ecf71893e2dbc Merge diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/make/build.properties --- a/langtools/make/build.properties Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/make/build.properties Mon Apr 25 15:45:49 2011 -0700 @@ -71,9 +71,18 @@ javac.lint.opts = -Xlint:all,-deprecation -Werror # options for the task for javac -javadoc.jls3.url=http://java.sun.com/docs/books/jls/ -javadoc.jls3.cite=<a href="${javadoc.jls3.url}">The Java Language Specification, Third Edition</a> -javadoc.jls3.option=-tag "jls3:a:See <cite>${javadoc.jls3.cite}</cite>:" +#javadoc.jls3.url=http://java.sun.com/docs/books/jls/ +#javadoc.jls3.cite=<a href="${javadoc.jls3.url}">The Java Language Specification, Third Edition</a> +#javadoc.jls3.option=-tag "jls3:a:See <cite>${javadoc.jls3.cite}</cite>:" + + +javadoc.jls.cite=The Java™ Language Specification + +javadoc.jls.option=-tag "jls:a:See <cite>${javadoc.jls.cite}</cite>:" + + + + # jtreg, used to run the JDK regression tests # See http://openjdk.java.net/jtreg/ diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/make/build.xml --- a/langtools/make/build.xml Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/make/build.xml Mon Apr 25 15:45:49 2011 -0700 @@ -464,7 +464,7 @@ - + diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/javadoc/ClassDoc.java --- a/langtools/src/share/classes/com/sun/javadoc/ClassDoc.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/javadoc/ClassDoc.java Mon Apr 25 15:45:49 2011 -0700 @@ -311,8 +311,8 @@ /** * Get the list of classes and interfaces declared as imported. - * These are called "single-type-import declarations" in the - * Java Language Specification. + * These are called "single-type-import declarations" in + * The Java™ Language Specification. * * @return an array of ClassDoc representing the imported classes. * @@ -325,8 +325,8 @@ /** * Get the list of packages declared as imported. - * These are called "type-import-on-demand declarations" in the - * Java Language Specification. + * These are called "type-import-on-demand declarations" in + * The Java™ Language Specification. * * @return an array of PackageDoc representing the imported packages. * diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/AnnotationTree.java --- a/langtools/src/share/classes/com/sun/source/tree/AnnotationTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/AnnotationTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -36,7 +36,7 @@ * {@code @}annotationType ( arguments ) * * - * @see "The Java Language Specification, 3rd ed, section 9.7" + * @jls section 9.7 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/ArrayAccessTree.java --- a/langtools/src/share/classes/com/sun/source/tree/ArrayAccessTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/ArrayAccessTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -33,7 +33,7 @@ * expression [ index ] * * - * @see "The Java Language Specification, 3rd ed, section 15.13" + * @jls section 15.13 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/ArrayTypeTree.java --- a/langtools/src/share/classes/com/sun/source/tree/ArrayTypeTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/ArrayTypeTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -33,7 +33,7 @@ * type [] * * - * @see "The Java Language Specification, 3rd ed, section 10.1" + * @jls section 10.1 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/AssertTree.java --- a/langtools/src/share/classes/com/sun/source/tree/AssertTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/AssertTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -35,7 +35,7 @@ * assert condition : detail ; * * - * @see "The Java Language Specification, 3rd ed, section 14.10" + * @jls section 14.10 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/AssignmentTree.java --- a/langtools/src/share/classes/com/sun/source/tree/AssignmentTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/AssignmentTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -33,7 +33,7 @@ * variable = expression * * - * @see "The Java Language Specification, 3rd ed, section 15.26.1" + * @jls section 15.26.1 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/BinaryTree.java --- a/langtools/src/share/classes/com/sun/source/tree/BinaryTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/BinaryTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -34,7 +34,7 @@ * leftOperand operator rightOperand * * - * @see "The Java Language Specification, 3rd ed, sections 15.17 to 15.24" + * @jls sections 15.17 to 15.24 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/BlockTree.java --- a/langtools/src/share/classes/com/sun/source/tree/BlockTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/BlockTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -39,7 +39,7 @@ * static { statements } * * - * @see "The Java Language Specification, 3rd ed, section 14.2" + * @jls section 14.2 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/BreakTree.java --- a/langtools/src/share/classes/com/sun/source/tree/BreakTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/BreakTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -37,7 +37,7 @@ * break label ; * * - * @see "The Java Language Specification, 3rd ed, section 14.15" + * @jls section 14.15 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/CaseTree.java --- a/langtools/src/share/classes/com/sun/source/tree/CaseTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/CaseTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -39,7 +39,7 @@ * statements * * - * @see "The Java Language Specification, 3rd ed, section 14.11" + * @jls section 14.11 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/CatchTree.java --- a/langtools/src/share/classes/com/sun/source/tree/CatchTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/CatchTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -34,7 +34,7 @@ * block * * - * @see "The Java Language Specification, 3rd ed, section 14.20" + * @jls section 14.20 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/ClassTree.java --- a/langtools/src/share/classes/com/sun/source/tree/ClassTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/ClassTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -42,8 +42,7 @@ * } * * - * @see "The Java Language Specification, 3rd ed, - * sections 8.1, 8.9, 9.1, and 9.6" + * @jls sections 8.1, 8.9, 9.1, and 9.6 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/CompilationUnitTree.java --- a/langtools/src/share/classes/com/sun/source/tree/CompilationUnitTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/CompilationUnitTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -33,7 +33,7 @@ * Represents the abstract syntax tree for compilation units (source * files) and package declarations (package-info.java). * - * @see "The Java Language Specification, 3rd ed, sections 7.3, and 7.4" + * @jls sections 7.3, and 7.4 * * @author Peter von der Ahé * @since 1.6 diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/CompoundAssignmentTree.java --- a/langtools/src/share/classes/com/sun/source/tree/CompoundAssignmentTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/CompoundAssignmentTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -34,7 +34,7 @@ * variable operator expression * * - * @see "The Java Language Specification, 3rd ed, section 15.26.2" + * @jls section 15.26.2 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/ConditionalExpressionTree.java --- a/langtools/src/share/classes/com/sun/source/tree/ConditionalExpressionTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/ConditionalExpressionTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -33,7 +33,7 @@ * condition ? trueExpression : falseExpression * * - * @see "The Java Language Specification, 3rd ed, section 15.25" + * @jls section 15.25 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/ContinueTree.java --- a/langtools/src/share/classes/com/sun/source/tree/ContinueTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/ContinueTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -36,7 +36,7 @@ * continue label ; * * - * @see "The Java Language Specification, 3rd ed, section 14.16" + * @jls section 14.16 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/DisjunctiveTypeTree.java --- a/langtools/src/share/classes/com/sun/source/tree/DisjunctiveTypeTree.java Thu Apr 21 15:33:25 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,40 +0,0 @@ -/* - * 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.source.tree; - -import java.util.List; - -/** - * A tree node for a disjunctive type expression in a multicatch var declaration. - * - * - * @author Maurizio Cimadamore - * - * @since 1.7 - */ -public interface DisjunctiveTypeTree extends Tree { - List getTypeAlternatives(); -} diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/DoWhileLoopTree.java --- a/langtools/src/share/classes/com/sun/source/tree/DoWhileLoopTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/DoWhileLoopTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -35,7 +35,7 @@ * while ( expression ); * * - * @see "The Java Language Specification, 3rd ed, section 14.13" + * @jls section 14.13 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/EmptyStatementTree.java --- a/langtools/src/share/classes/com/sun/source/tree/EmptyStatementTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/EmptyStatementTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -33,7 +33,7 @@ * ; * * - * @see "The Java Language Specification, 3rd ed, section 14.6" + * @jls section 14.6 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/EnhancedForLoopTree.java --- a/langtools/src/share/classes/com/sun/source/tree/EnhancedForLoopTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/EnhancedForLoopTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -34,7 +34,7 @@ * statement * * - * @see "The Java Language Specification, 3rd ed, section 14.14.2" + * @jls section 14.14.2 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/ExpressionStatementTree.java --- a/langtools/src/share/classes/com/sun/source/tree/ExpressionStatementTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/ExpressionStatementTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -33,7 +33,7 @@ * expression ; * * - * @see "The Java Language Specification, 3rd ed, section 14.8" + * @jls section 14.8 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/ExpressionTree.java --- a/langtools/src/share/classes/com/sun/source/tree/ExpressionTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/ExpressionTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -29,7 +29,7 @@ * A tree node used as the base class for the different types of * expressions. * - * @see "The Java Language Specification, 3rd ed, chapter 15" + * @jls chapter 15 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/ForLoopTree.java --- a/langtools/src/share/classes/com/sun/source/tree/ForLoopTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/ForLoopTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -36,7 +36,7 @@ * statement * * - * @see "The Java Language Specification, 3rd ed, section 14.14.1" + * @jls section 14.14.1 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/IdentifierTree.java --- a/langtools/src/share/classes/com/sun/source/tree/IdentifierTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/IdentifierTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -35,7 +35,7 @@ * name * * - * @see "The Java Language Specification, 3rd ed, section 6.5.6.1" + * @jls section 6.5.6.1 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/IfTree.java --- a/langtools/src/share/classes/com/sun/source/tree/IfTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/IfTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -39,7 +39,7 @@ * elseStatement * * - * @see "The Java Language Specification, 3rd ed, section 14.9" + * @jls section 14.9 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/ImportTree.java --- a/langtools/src/share/classes/com/sun/source/tree/ImportTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/ImportTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -35,7 +35,7 @@ * static import qualifiedIdentifier ; * * - * @see "The Java Language Specification, 3rd ed, section 7.5" + * @jls section 7.5 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/InstanceOfTree.java --- a/langtools/src/share/classes/com/sun/source/tree/InstanceOfTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/InstanceOfTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -33,7 +33,7 @@ * expression instanceof type * * - * @see "The Java Language Specification, 3rd ed, section 15.20.2" + * @jls section 15.20.2 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/LabeledStatementTree.java --- a/langtools/src/share/classes/com/sun/source/tree/LabeledStatementTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/LabeledStatementTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -35,7 +35,7 @@ * label : statement * * - * @see "The Java Language Specification, 3rd ed, section 14.7" + * @jls section 14.7 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/LiteralTree.java --- a/langtools/src/share/classes/com/sun/source/tree/LiteralTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/LiteralTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -34,7 +34,7 @@ * value * * - * @see "The Java Language Specification, 3rd ed, section 15.28" + * @jls section 15.28 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/MemberSelectTree.java --- a/langtools/src/share/classes/com/sun/source/tree/MemberSelectTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/MemberSelectTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -35,8 +35,7 @@ * expression . identifier * * - * @see "The Java Language Specification, 3rd ed, sections 6.5, - * 15.11, and 15.12" + * @jls sections 6.5, 15.11,and 15.12 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/MethodInvocationTree.java --- a/langtools/src/share/classes/com/sun/source/tree/MethodInvocationTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/MethodInvocationTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -37,7 +37,7 @@ * this . typeArguments identifier ( arguments ) * * - * @see "The Java Language Specification, 3rd ed, section 15.12" + * @jls section 15.12 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/MethodTree.java --- a/langtools/src/share/classes/com/sun/source/tree/MethodTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/MethodTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -40,8 +40,7 @@ * modifiers type name () default defaultValue * * - * @see "The Java Language Specification, 3rd ed, sections 8.4, 8.6, 8.7, - * 9.4, and 9.6" + * @jls sections 8.4, 8.6, 8.7, 9.4, and 9.6 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/ModifiersTree.java --- a/langtools/src/share/classes/com/sun/source/tree/ModifiersTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/ModifiersTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -39,8 +39,7 @@ * flags annotations * * - * @see "The Java Language Specification, 3rd ed, sections - * 8.1.1, 8.3.1, 8.4.3, 8.5.1, 8.8.3, 9.1.1, and 9.7" + * @jls sections 8.1.1, 8.3.1, 8.4.3, 8.5.1, 8.8.3, 9.1.1, and 9.7 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/NewArrayTree.java --- a/langtools/src/share/classes/com/sun/source/tree/NewArrayTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/NewArrayTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -37,7 +37,7 @@ * new type dimensions [ ] initializers * * - * @see "The Java Language Specification, 3rd ed, section 15.10" + * @jls section 15.10 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/NewClassTree.java --- a/langtools/src/share/classes/com/sun/source/tree/NewClassTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/NewClassTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -42,7 +42,7 @@ * enclosingExpression.new identifier ( arguments ) * * - * @see "The Java Language Specification, 3rd ed, section 15.9" + * @jls section 15.9 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/ParameterizedTypeTree.java --- a/langtools/src/share/classes/com/sun/source/tree/ParameterizedTypeTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/ParameterizedTypeTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -35,7 +35,7 @@ * type < typeArguments > * * - * @see "The Java Language Specification, 3rd ed, section 4.5.1" + * @jls section 4.5.1 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/ParenthesizedTree.java --- a/langtools/src/share/classes/com/sun/source/tree/ParenthesizedTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/ParenthesizedTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -34,7 +34,7 @@ * ( expression ) * * - * @see "The Java Language Specification, 3rd ed, section 15.8.5" + * @jls section 15.8.5 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/PrimitiveTypeTree.java --- a/langtools/src/share/classes/com/sun/source/tree/PrimitiveTypeTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/PrimitiveTypeTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -35,7 +35,7 @@ * primitiveTypeKind * * - * @see "The Java Language Specification, 3rd ed, section 4.2" + * @jls section 4.2 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/ReturnTree.java --- a/langtools/src/share/classes/com/sun/source/tree/ReturnTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/ReturnTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -34,7 +34,7 @@ * return expression; * * - * @see "The Java Language Specification, 3rd ed, section 14.17" + * @jls section 14.17 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/StatementTree.java --- a/langtools/src/share/classes/com/sun/source/tree/StatementTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/StatementTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -29,7 +29,7 @@ * A tree node used as the base class for the different kinds of * statements. * - * @see "The Java Language Specification, 3rd ed, chapter 14" + * @jls chapter 14 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/SwitchTree.java --- a/langtools/src/share/classes/com/sun/source/tree/SwitchTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/SwitchTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -37,7 +37,7 @@ * } * * - * @see "The Java Language Specification, 3rd ed, section 14.11" + * @jls section 14.11 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/SynchronizedTree.java --- a/langtools/src/share/classes/com/sun/source/tree/SynchronizedTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/SynchronizedTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -34,7 +34,7 @@ * block * * - * @see "The Java Language Specification, 3rd ed, section 14.19" + * @jls section 14.19 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/ThrowTree.java --- a/langtools/src/share/classes/com/sun/source/tree/ThrowTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/ThrowTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -33,7 +33,7 @@ * throw expression; * * - * @see "The Java Language Specification, 3rd ed, section 14.18" + * @jls section 14.18 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/Tree.java --- a/langtools/src/share/classes/com/sun/source/tree/Tree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/Tree.java Mon Apr 25 15:45:49 2011 -0700 @@ -232,9 +232,9 @@ PARAMETERIZED_TYPE(ParameterizedTypeTree.class), /** - * Used for instances of {@link DisjunctiveTypeTree}. + * Used for instances of {@link UnionTypeTree}. */ - DISJUNCTIVE_TYPE(DisjunctiveTypeTree.class), + UNION_TYPE(UnionTypeTree.class), /** * Used for instances of {@link TypeCastTree}. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/TreeVisitor.java --- a/langtools/src/share/classes/com/sun/source/tree/TreeVisitor.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/TreeVisitor.java Mon Apr 25 15:45:49 2011 -0700 @@ -95,7 +95,7 @@ R visitCompilationUnit(CompilationUnitTree node, P p); R visitTry(TryTree node, P p); R visitParameterizedType(ParameterizedTypeTree node, P p); - R visitDisjunctiveType(DisjunctiveTypeTree node, P p); + R visitUnionType(UnionTypeTree node, P p); R visitArrayType(ArrayTypeTree node, P p); R visitTypeCast(TypeCastTree node, P p); R visitPrimitiveType(PrimitiveTypeTree node, P p); diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/TryTree.java --- a/langtools/src/share/classes/com/sun/source/tree/TryTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/TryTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -39,7 +39,7 @@ * finallyBlock * * - * @see "The Java Language Specification, 3rd ed, section 14.20" + * @jls section 14.20 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/TypeCastTree.java --- a/langtools/src/share/classes/com/sun/source/tree/TypeCastTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/TypeCastTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -33,7 +33,7 @@ * ( type ) expression * * - * @see "The Java Language Specification, 3rd ed, section 15.16" + * @jls section 15.16 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/TypeParameterTree.java --- a/langtools/src/share/classes/com/sun/source/tree/TypeParameterTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/TypeParameterTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -38,7 +38,7 @@ * name extends bounds * * - * @see "The Java Language Specification, 3rd ed, section 4.4" + * @jls section 4.4 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/UnaryTree.java --- a/langtools/src/share/classes/com/sun/source/tree/UnaryTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/UnaryTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -36,7 +36,7 @@ * expression operator * * - * @see "The Java Language Specification, 3rd ed, sections 15.14 and 15.15" + * @jls sections 15.14 and 15.15 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/UnionTypeTree.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/src/share/classes/com/sun/source/tree/UnionTypeTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2010, 2011 Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package com.sun.source.tree; + +import java.util.List; + +/** + * A tree node for a union type expression in a multicatch var declaration. + * + * @author Maurizio Cimadamore + * + * @since 1.7 + */ +public interface UnionTypeTree extends Tree { + List getTypeAlternatives(); +} diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/VariableTree.java --- a/langtools/src/share/classes/com/sun/source/tree/VariableTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/VariableTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -35,7 +35,7 @@ * modifiers type name initializer ; * * - * @see "The Java Language Specification, 3rd ed, sections 8.3 and 14.4" + * @jls sections 8.3 and 14.4 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/WhileLoopTree.java --- a/langtools/src/share/classes/com/sun/source/tree/WhileLoopTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/WhileLoopTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -35,7 +35,7 @@ * * * - * @see "The Java Language Specification, 3rd ed, section 14.12" + * @jls section 14.12 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/tree/WildcardTree.java --- a/langtools/src/share/classes/com/sun/source/tree/WildcardTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/tree/WildcardTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -38,7 +38,7 @@ * ? super bound * * - * @see "The Java Language Specification, 3rd ed, section 4.5.1" + * @jls section 4.5.1 * * @author Peter von der Ahé * @author Jonathan Gibbons diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/util/SimpleTreeVisitor.java --- a/langtools/src/share/classes/com/sun/source/util/SimpleTreeVisitor.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/util/SimpleTreeVisitor.java Mon Apr 25 15:45:49 2011 -0700 @@ -228,7 +228,7 @@ return defaultAction(node, p); } - public R visitDisjunctiveType(DisjunctiveTypeTree node, P p) { + public R visitUnionType(UnionTypeTree node, P p) { return defaultAction(node, p); } diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/source/util/TreeScanner.java --- a/langtools/src/share/classes/com/sun/source/util/TreeScanner.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/source/util/TreeScanner.java Mon Apr 25 15:45:49 2011 -0700 @@ -355,7 +355,7 @@ return r; } - public R visitDisjunctiveType(DisjunctiveTypeTree node, P p) { + public R visitUnionType(UnionTypeTree node, P p) { return scan(node.getTypeAlternatives(), p); } diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/apt/mirror/util/DeclarationsImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/util/DeclarationsImpl.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/util/DeclarationsImpl.java Mon Apr 25 15:45:49 2011 -0700 @@ -67,7 +67,8 @@ /** * {@inheritDoc} - * See JLS 2 sections 8.3 and 8.4.6. + * See sections 8.3 and 8.4.6 of + * The Java™ Language Specification */ public boolean hides(MemberDeclaration sub, MemberDeclaration sup) { Symbol hider = ((DeclarationImpl) sub).sym; @@ -107,7 +108,8 @@ /** * {@inheritDoc} - * See JLS 2 section 8.4.6.1. + * See section 8.4.6.1 of + * The Java™ Language Specification */ public boolean overrides(MethodDeclaration sub, MethodDeclaration sup) { MethodSymbol overrider = ((MethodDeclarationImpl) sub).sym; diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/AccessFlags.java --- a/langtools/src/share/classes/com/sun/tools/classfile/AccessFlags.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/AccessFlags.java Mon Apr 25 15:45:49 2011 -0700 @@ -30,7 +30,7 @@ import java.util.Set; /** - * See JVMS3, sections 4.2, 4.6, 4.7. + * See JVMS, sections 4.2, 4.6, 4.7. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/Annotation.java --- a/langtools/src/share/classes/com/sun/tools/classfile/Annotation.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/Annotation.java Mon Apr 25 15:45:49 2011 -0700 @@ -28,7 +28,7 @@ import java.io.IOException; /** - * See JVMS3, section 4.8.16. + * See JVMS, section 4.8.16. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. @@ -71,7 +71,7 @@ public final element_value_pair element_value_pairs[]; /** - * See JVMS3, section 4.8.16.1. + * See JVMS, section 4.8.16.1. */ public static abstract class element_value { public static element_value read(ClassReader cr) diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/AnnotationDefault_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/AnnotationDefault_attribute.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/AnnotationDefault_attribute.java Mon Apr 25 15:45:49 2011 -0700 @@ -28,7 +28,7 @@ import java.io.IOException; /** - * See JVMS3, section 4.8.15. + * See JVMS, section 4.8.15. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/BootstrapMethods_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/BootstrapMethods_attribute.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/BootstrapMethods_attribute.java Mon Apr 25 15:45:49 2011 -0700 @@ -28,7 +28,7 @@ import java.io.IOException; /** - * See JVMS3 + * See JVMS * http://cr.openjdk.java.net/~jrose/pres/indy-javadoc-mlvm/ * *

This is NOT part of any supported API. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/ClassFile.java --- a/langtools/src/share/classes/com/sun/tools/classfile/ClassFile.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/ClassFile.java Mon Apr 25 15:45:49 2011 -0700 @@ -33,7 +33,7 @@ import static com.sun.tools.classfile.AccessFlags.*; /** - * See JVMS3, section 4.2. + * See JVMS, section 4.2. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/Code_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/Code_attribute.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/Code_attribute.java Mon Apr 25 15:45:49 2011 -0700 @@ -30,7 +30,7 @@ import java.util.NoSuchElementException; /** - * See JVMS3, section 4.8.3. + * See JVMS, section 4.8.3. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/ConstantPool.java --- a/langtools/src/share/classes/com/sun/tools/classfile/ConstantPool.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/ConstantPool.java Mon Apr 25 15:45:49 2011 -0700 @@ -31,7 +31,7 @@ import java.util.Iterator; /** - * See JVMS3, section 4.5. + * See JVMS, section 4.5. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/ConstantValue_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/ConstantValue_attribute.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/ConstantValue_attribute.java Mon Apr 25 15:45:49 2011 -0700 @@ -28,7 +28,7 @@ import java.io.IOException; /** - * See JVMS3, section 4.8.2. + * See JVMS, section 4.8.2. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/Deprecated_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/Deprecated_attribute.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/Deprecated_attribute.java Mon Apr 25 15:45:49 2011 -0700 @@ -28,7 +28,7 @@ import java.io.IOException; /** - * See JVMS3, section 4.8.15. + * See JVMS, section 4.8.15. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/Descriptor.java --- a/langtools/src/share/classes/com/sun/tools/classfile/Descriptor.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/Descriptor.java Mon Apr 25 15:45:49 2011 -0700 @@ -29,7 +29,7 @@ import java.io.IOException; /** - * See JVMS3, section 4.4. + * See JVMS, section 4.4. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/EnclosingMethod_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/EnclosingMethod_attribute.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/EnclosingMethod_attribute.java Mon Apr 25 15:45:49 2011 -0700 @@ -29,7 +29,7 @@ import java.io.IOException; /** - * See JVMS3, section 4.8.7. + * See JVMS, section 4.8.7. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/Exceptions_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/Exceptions_attribute.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/Exceptions_attribute.java Mon Apr 25 15:45:49 2011 -0700 @@ -28,7 +28,7 @@ import java.io.IOException; /** - * See JVMS3, section 4.8.5. + * See JVMS, section 4.8.5. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/InnerClasses_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/InnerClasses_attribute.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/InnerClasses_attribute.java Mon Apr 25 15:45:49 2011 -0700 @@ -30,7 +30,7 @@ import com.sun.tools.classfile.ConstantPool.*; /** - * See JVMS3, section 4.8.6. + * See JVMS, section 4.8.6. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/Instruction.java --- a/langtools/src/share/classes/com/sun/tools/classfile/Instruction.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/Instruction.java Mon Apr 25 15:45:49 2011 -0700 @@ -26,7 +26,7 @@ package com.sun.tools.classfile; /** - * See JVMS3, chapter 6. + * See JVMS, chapter 6. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/LineNumberTable_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/LineNumberTable_attribute.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/LineNumberTable_attribute.java Mon Apr 25 15:45:49 2011 -0700 @@ -28,7 +28,7 @@ import java.io.IOException; /** - * See JVMS3, section 4.8.12. + * See JVMS, section 4.8.12. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/LocalVariableTable_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/LocalVariableTable_attribute.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/LocalVariableTable_attribute.java Mon Apr 25 15:45:49 2011 -0700 @@ -28,7 +28,7 @@ import java.io.IOException; /** - * See JVMS3, section 4.8.13. + * See JVMS, section 4.8.13. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/LocalVariableTypeTable_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/LocalVariableTypeTable_attribute.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/LocalVariableTypeTable_attribute.java Mon Apr 25 15:45:49 2011 -0700 @@ -28,7 +28,7 @@ import java.io.IOException; /** - * See JVMS3, section 4.8.14. + * See JVMS, section 4.8.14. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/Opcode.java --- a/langtools/src/share/classes/com/sun/tools/classfile/Opcode.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/Opcode.java Mon Apr 25 15:45:49 2011 -0700 @@ -29,7 +29,7 @@ import static com.sun.tools.classfile.Opcode.Set.*; /** - * See JVMS3, chapter 6. + * See JVMS, chapter 6. * *

In addition to providing all the standard opcodes defined in JVMS, * this class also provides legacy support for the PicoJava extensions. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/RuntimeAnnotations_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/RuntimeAnnotations_attribute.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/RuntimeAnnotations_attribute.java Mon Apr 25 15:45:49 2011 -0700 @@ -28,7 +28,7 @@ import java.io.IOException; /** - * See JVMS3, section 4.8.16 and 4.8.17. + * See JVMS, section 4.8.16 and 4.8.17. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleAnnotations_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleAnnotations_attribute.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleAnnotations_attribute.java Mon Apr 25 15:45:49 2011 -0700 @@ -28,7 +28,7 @@ import java.io.IOException; /** - * See JVMS3, section 4.8.17. + * See JVMS, section 4.8.17. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleParameterAnnotations_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleParameterAnnotations_attribute.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleParameterAnnotations_attribute.java Mon Apr 25 15:45:49 2011 -0700 @@ -28,7 +28,7 @@ import java.io.IOException; /** - * See JVMS3, section 4.8.18. + * See JVMS, section 4.8.18. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/RuntimeParameterAnnotations_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/RuntimeParameterAnnotations_attribute.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/RuntimeParameterAnnotations_attribute.java Mon Apr 25 15:45:49 2011 -0700 @@ -28,7 +28,7 @@ import java.io.IOException; /** - * See JVMS3, section 4.8.18 and 4.8.19. + * See JVMS, section 4.8.18 and 4.8.19. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/RuntimeVisibleAnnotations_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/RuntimeVisibleAnnotations_attribute.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/RuntimeVisibleAnnotations_attribute.java Mon Apr 25 15:45:49 2011 -0700 @@ -28,7 +28,7 @@ import java.io.IOException; /** - * See JVMS3, section 4.8.16. + * See JVMS, section 4.8.16. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/RuntimeVisibleParameterAnnotations_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/RuntimeVisibleParameterAnnotations_attribute.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/RuntimeVisibleParameterAnnotations_attribute.java Mon Apr 25 15:45:49 2011 -0700 @@ -28,7 +28,7 @@ import java.io.IOException; /** - * See JVMS3, section 4.8.18. + * See JVMS, section 4.8.18. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/Signature.java --- a/langtools/src/share/classes/com/sun/tools/classfile/Signature.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/Signature.java Mon Apr 25 15:45:49 2011 -0700 @@ -30,7 +30,7 @@ import com.sun.tools.classfile.Type.*; /** - * See JVMS3 4.4.4. + * See JVMS 4.4.4. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/Signature_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/Signature_attribute.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/Signature_attribute.java Mon Apr 25 15:45:49 2011 -0700 @@ -28,7 +28,7 @@ import java.io.IOException; /** - * See JVMS3, section 4.8.9. + * See JVMS, section 4.8.9. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java Mon Apr 25 15:45:49 2011 -0700 @@ -30,7 +30,7 @@ import java.io.IOException; /** - * See JVMS3, section 4.8.15. + * See JVMS, section 4.8.15. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/SourceFile_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/SourceFile_attribute.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/SourceFile_attribute.java Mon Apr 25 15:45:49 2011 -0700 @@ -28,7 +28,7 @@ import java.io.IOException; /** - * See JVMS3, section 4.8.10. + * See JVMS, section 4.8.10. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/StackMapTable_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/StackMapTable_attribute.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/StackMapTable_attribute.java Mon Apr 25 15:45:49 2011 -0700 @@ -28,7 +28,7 @@ import java.io.IOException; /** - * See JVMS3, section 4.8.4. + * See JVMS, section 4.8.4. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/Synthetic_attribute.java --- a/langtools/src/share/classes/com/sun/tools/classfile/Synthetic_attribute.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/Synthetic_attribute.java Mon Apr 25 15:45:49 2011 -0700 @@ -28,7 +28,7 @@ import java.io.IOException; /** - * See JVMS3, section 4.8.8. + * See JVMS, section 4.8.8. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/classfile/package.html --- a/langtools/src/share/classes/com/sun/tools/classfile/package.html Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/package.html Mon Apr 25 15:45:49 2011 -0700 @@ -6,7 +6,7 @@ A minimalist library to read and write class files into objects closely - based on the corresponding definitions in the Java Virtual Machine - Specification (JVMS). + based on the corresponding definitions in + The Java™ Virtual Machine Specification (JVMS). diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java --- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java Mon Apr 25 15:45:49 2011 -0700 @@ -2523,8 +2523,9 @@ } /** - * According to the Java Language Specifications, all the outer classes - * and static nested classes are core classes. + * According to + * The Java™ Language Specification, + * all the outer classes and static nested classes are core classes. */ public boolean isCoreClass(ClassDoc cd) { return cd.containingClass() == null || cd.isStatic(); diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java --- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java Mon Apr 25 15:45:49 2011 -0700 @@ -175,8 +175,9 @@ } /** - * According to the Java Language Specifications, all the outer classes - * and static inner classes are core classes. + * According to + * The Java™ Language Specification, + * all the outer classes and static inner classes are core classes. */ public static boolean isCoreClass(ClassDoc cd) { return cd.containingClass() == null || cd.isStatic(); diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/javac/code/Flags.java --- a/langtools/src/share/classes/com/sun/tools/javac/code/Flags.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/code/Flags.java Mon Apr 25 15:45:49 2011 -0700 @@ -231,9 +231,9 @@ public static final long PROPRIETARY = 1L<<38; /** - * Flag that marks a disjunction var in a multi-catch clause + * Flag that marks a a multi-catch parameter */ - public static final long DISJUNCTION = 1L<<39; + public static final long UNION = 1L<<39; /** * Flag that marks a signature-polymorphic invoke method. diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/javac/code/Symbol.java --- a/langtools/src/share/classes/com/sun/tools/javac/code/Symbol.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/code/Symbol.java Mon Apr 25 15:45:49 2011 -0700 @@ -1193,7 +1193,7 @@ } private boolean isOverridableIn(TypeSymbol origin) { - // JLS3 8.4.6.1 + // JLS 8.4.6.1 switch ((int)(flags_field & Flags.AccessFlags)) { case Flags.PRIVATE: return false; diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/javac/code/Types.java --- a/langtools/src/share/classes/com/sun/tools/javac/code/Types.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/code/Types.java Mon Apr 25 15:45:49 2011 -0700 @@ -1985,7 +1985,7 @@ * signature of the other. This is not an equivalence * relation. * - * @see "The Java Language Specification, Third Ed. (8.4.2)." + * @jls section 8.4.2. * @see #overrideEquivalent(Type t, Type s) * @param t first signature (possibly raw). * @param s second signature (could be subjected to erasure). @@ -2004,7 +2004,7 @@ * equivalence. This is the natural extension of * isSubSignature to an equivalence relation. * - * @see "The Java Language Specification, Third Ed. (8.4.2)." + * @jls section 8.4.2. * @see #isSubSignature(Type t, Type s) * @param t a signature (possible raw, could be subjected to * erasure). @@ -2309,7 +2309,7 @@ if (elemtype == t.elemtype) return t; else - return new ArrayType(upperBound(elemtype), t.tsym); + return new ArrayType(elemtype, t.tsym); } @Override @@ -3049,8 +3049,7 @@ /** * Return-Type-Substitutable. - * @see The Java - * Language Specification, Third Ed. (8.4.5) + * @jls section 8.4.5 */ public boolean returnTypeSubstitutable(Type r1, Type r2) { if (hasSameArgs(r1, r2)) @@ -3130,7 +3129,7 @@ // /* - * JLS 3rd Ed. 5.1.10 Capture Conversion: + * JLS 5.1.10 Capture Conversion: * * Let G name a generic type declaration with n formal type * parameters A1 ... An with corresponding bounds U1 ... Un. There @@ -3163,7 +3162,7 @@ * Capture conversion is not applied recursively. */ /** - * Capture conversion as specified by JLS 3rd Ed. + * Capture conversion as specified by the JLS. */ public List capture(List ts) { diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java --- a/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java Mon Apr 25 15:45:49 2011 -0700 @@ -1112,7 +1112,7 @@ Type ctype = attribStat(c.param, catchEnv); if (TreeInfo.isMultiCatch(c)) { //multi-catch parameter is implicitly marked as final - c.param.sym.flags_field |= FINAL | DISJUNCTION; + c.param.sym.flags_field |= FINAL | UNION; } if (c.param.sym.kind == Kinds.VAR) { c.param.sym.setData(ElementKind.EXCEPTION_PARAMETER); @@ -2632,10 +2632,10 @@ * @param tree The tree making up the variable reference. * @param env The current environment. * @param v The variable's symbol. - * @see JLS 3rd Ed. (8.9 Enums) + * @jls section 8.9 Enums */ private void checkEnumInitializer(JCTree tree, Env env, VarSymbol v) { - // JLS 3rd Ed.: + // JLS: // // "It is a compile-time error to reference a static field // of an enum type that is not a compile-time constant @@ -2908,7 +2908,7 @@ result = check(tree, owntype, TYP, pkind, pt); } - public void visitTypeDisjunction(JCTypeDisjunction tree) { + public void visitTypeUnion(JCTypeUnion tree) { ListBuffer multicatchTypes = ListBuffer.lb(); for (JCExpression typeTree : tree.alternatives) { Type ctype = attribType(typeTree, env); @@ -2916,7 +2916,7 @@ chk.checkClassType(typeTree.pos(), ctype), syms.throwableType); if (!ctype.isErroneous()) { - //check that alternatives of a disjunctive type are pairwise + //check that alternatives of a union type are pairwise //unrelated w.r.t. subtyping if (chk.intersects(ctype, multicatchTypes.toList())) { for (Type t : multicatchTypes) { diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/javac/comp/Check.java --- a/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java Mon Apr 25 15:45:49 2011 -0700 @@ -2271,7 +2271,7 @@ * that of any public or protected method declared in class Object * or in the interface annotation.Annotation." * - * @jls3 9.6 Annotation Types + * @jls 9.6 Annotation Types */ void validateAnnotationMethod(DiagnosticPosition pos, MethodSymbol m) { for (Type sup = syms.annotationType; sup.tag == CLASS; sup = types.supertype(sup)) { diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/javac/comp/Flow.java --- a/langtools/src/share/classes/com/sun/tools/javac/comp/Flow.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Flow.java Mon Apr 25 15:45:49 2011 -0700 @@ -51,7 +51,7 @@ * unassignment analysis ensures that no final variable is assigned * more than once. * - *

The second edition of the JLS has a number of problems in the + *

The JLS has a number of problems in the * specification of these flow analysis problems. This implementation * attempts to address those issues. * @@ -126,7 +126,7 @@ * don't have to worry about the return expression because this * concept is only used for construcrors. * - *

There is no spec in JLS2 for when a variable is definitely + *

There is no spec in the JLS for when a variable is definitely * assigned at the end of a constructor, which is needed for final * fields (8.3.1.2). We implement the rule that V is DA at the end * of the constructor iff it is DA and the end of the body of the @@ -381,7 +381,7 @@ if (sym.adr >= firstadr && trackable(sym)) { if ((sym.flags() & FINAL) != 0) { if ((sym.flags() & PARAMETER) != 0) { - if ((sym.flags() & DISJUNCTION) != 0) { //multi-catch parameter + if ((sym.flags() & UNION) != 0) { //multi-catch parameter log.error(pos, "multicatch.parameter.may.not.be.assigned", sym); } @@ -1003,7 +1003,7 @@ thrown = List.nil(); for (List l = tree.catchers; l.nonEmpty(); l = l.tail) { List subClauses = TreeInfo.isMultiCatch(l.head) ? - ((JCTypeDisjunction)l.head.param.vartype).alternatives : + ((JCTypeUnion)l.head.param.vartype).alternatives : List.of(l.head.param.vartype); for (JCExpression ct : subClauses) { caught = chk.incl(ct.type, caught); @@ -1075,7 +1075,7 @@ alive = true; JCVariableDecl param = l.head.param; List subClauses = TreeInfo.isMultiCatch(l.head) ? - ((JCTypeDisjunction)l.head.param.vartype).alternatives : + ((JCTypeUnion)l.head.param.vartype).alternatives : List.of(l.head.param.vartype); List ctypes = List.nil(); List rethrownTypes = chk.diff(thrownInTry, caughtInTry); diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java --- a/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java Mon Apr 25 15:45:49 2011 -0700 @@ -346,7 +346,7 @@ if (typeargtypes == null) typeargtypes = List.nil(); if (mt.tag != FORALL && typeargtypes.nonEmpty()) { // This is not a polymorphic method, but typeargs are supplied - // which is fine, see JLS3 15.12.2.1 + // which is fine, see JLS 15.12.2.1 } else if (mt.tag == FORALL && typeargtypes.nonEmpty()) { ForAll pmt = (ForAll) mt; if (typeargtypes.length() != pmt.tvars.length()) @@ -770,12 +770,9 @@ return ambiguityError(m1, m2); // both abstract, neither overridden; merge throws clause and result type Symbol mostSpecific; - Type result2 = mt2.getReturnType(); - if (mt2.tag == FORALL) - result2 = types.subst(result2, ((ForAll)mt2).tvars, ((ForAll)mt1).tvars); - if (types.isSubtype(mt1.getReturnType(), result2)) + if (types.returnTypeSubstitutable(mt1, mt2)) mostSpecific = m1; - else if (types.isSubtype(result2, mt1.getReturnType())) + else if (types.returnTypeSubstitutable(mt2, mt1)) mostSpecific = m2; else { // Theoretically, this can't happen, but it is possible @@ -1772,7 +1769,7 @@ /** * Resolve an appropriate implicit this instance for t's container. - * JLS2 8.8.5.1 and 15.9.2 + * JLS 8.8.5.1 and 15.9.2 */ Type resolveImplicitThis(DiagnosticPosition pos, Env env, Type t) { return resolveImplicitThis(pos, env, t, false); diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/javac/jvm/Gen.java --- a/langtools/src/share/classes/com/sun/tools/javac/jvm/Gen.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/Gen.java Mon Apr 25 15:45:49 2011 -0700 @@ -283,7 +283,7 @@ } // leave alone methods inherited from Object - // JLS2 13.1. + // JLS 13.1. if (sym.owner == syms.objectType.tsym) return sym; @@ -1456,7 +1456,7 @@ List gaps) { if (startpc != endpc) { List subClauses = TreeInfo.isMultiCatch(tree) ? - ((JCTypeDisjunction)tree.param.vartype).alternatives : + ((JCTypeUnion)tree.param.vartype).alternatives : List.of(tree.param.vartype); while (gaps.nonEmpty()) { for (JCExpression subCatch : subClauses) { diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java --- a/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java Mon Apr 25 15:45:49 2011 -0700 @@ -1837,7 +1837,7 @@ JCModifiers mods = optFinal(Flags.PARAMETER); List catchTypes = catchTypes(); JCExpression paramType = catchTypes.size() > 1 ? - toP(F.at(catchTypes.head.getStartPosition()).TypeDisjunction(catchTypes)) : + toP(F.at(catchTypes.head.getStartPosition()).TypeUnion(catchTypes)) : catchTypes.head; JCVariableDecl formal = variableDeclaratorId(mods, paramType); accept(RPAREN); diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/javac/tree/JCTree.java --- a/langtools/src/share/classes/com/sun/tools/javac/tree/JCTree.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/tree/JCTree.java Mon Apr 25 15:45:49 2011 -0700 @@ -236,13 +236,13 @@ */ public static final int TYPEAPPLY = TYPEARRAY + 1; - /** Disjunction types, of type TypeDisjunction + /** Union types, of type TypeUnion */ - public static final int TYPEDISJUNCTION = TYPEAPPLY + 1; + public static final int TYPEUNION = TYPEAPPLY + 1; /** Formal type parameters, of type TypeParameter. */ - public static final int TYPEPARAMETER = TYPEDISJUNCTION + 1; + public static final int TYPEPARAMETER = TYPEUNION + 1; /** Type argument. */ @@ -1881,30 +1881,30 @@ } /** - * A disjunction type, T1 | T2 | ... Tn (used in multicatch statements) + * A union type, T1 | T2 | ... Tn (used in multicatch statements) */ - public static class JCTypeDisjunction extends JCExpression implements DisjunctiveTypeTree { + public static class JCTypeUnion extends JCExpression implements UnionTypeTree { public List alternatives; - protected JCTypeDisjunction(List components) { + protected JCTypeUnion(List components) { this.alternatives = components; } @Override - public void accept(Visitor v) { v.visitTypeDisjunction(this); } + public void accept(Visitor v) { v.visitTypeUnion(this); } - public Kind getKind() { return Kind.DISJUNCTIVE_TYPE; } + public Kind getKind() { return Kind.UNION_TYPE; } public List getTypeAlternatives() { return alternatives; } @Override public R accept(TreeVisitor v, D d) { - return v.visitDisjunctiveType(this, d); + return v.visitUnionType(this, d); } @Override public int getTag() { - return TYPEDISJUNCTION; + return TYPEUNION; } } @@ -2227,7 +2227,7 @@ public void visitTypeIdent(JCPrimitiveTypeTree that) { visitTree(that); } public void visitTypeArray(JCArrayTypeTree that) { visitTree(that); } public void visitTypeApply(JCTypeApply that) { visitTree(that); } - public void visitTypeDisjunction(JCTypeDisjunction that) { visitTree(that); } + public void visitTypeUnion(JCTypeUnion that) { visitTree(that); } public void visitTypeParameter(JCTypeParameter that) { visitTree(that); } public void visitWildcard(JCWildcard that) { visitTree(that); } public void visitTypeBoundKind(TypeBoundKind that) { visitTree(that); } diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/javac/tree/Pretty.java --- a/langtools/src/share/classes/com/sun/tools/javac/tree/Pretty.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/tree/Pretty.java Mon Apr 25 15:45:49 2011 -0700 @@ -1169,7 +1169,7 @@ } } - public void visitTypeDisjunction(JCTypeDisjunction tree) { + public void visitTypeUnion(JCTypeUnion tree) { try { printExprs(tree.alternatives, " | "); } catch (IOException e) { diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/javac/tree/TreeCopier.java --- a/langtools/src/share/classes/com/sun/tools/javac/tree/TreeCopier.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/tree/TreeCopier.java Mon Apr 25 15:45:49 2011 -0700 @@ -338,10 +338,10 @@ return M.at(t.pos).TypeApply(clazz, arguments); } - public JCTree visitDisjunctiveType(DisjunctiveTypeTree node, P p) { - JCTypeDisjunction t = (JCTypeDisjunction) node; + public JCTree visitUnionType(UnionTypeTree node, P p) { + JCTypeUnion t = (JCTypeUnion) node; List components = copy(t.alternatives, p); - return M.at(t.pos).TypeDisjunction(components); + return M.at(t.pos).TypeUnion(components); } public JCTree visitArrayType(ArrayTypeTree node, P p) { diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/javac/tree/TreeInfo.java --- a/langtools/src/share/classes/com/sun/tools/javac/tree/TreeInfo.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/tree/TreeInfo.java Mon Apr 25 15:45:49 2011 -0700 @@ -119,7 +119,7 @@ } public static boolean isMultiCatch(JCCatch catchClause) { - return catchClause.param.vartype.getTag() == JCTree.TYPEDISJUNCTION; + return catchClause.param.vartype.getTag() == JCTree.TYPEUNION; } /** Is statement an initializer for a synthetic field? diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/javac/tree/TreeMaker.java --- a/langtools/src/share/classes/com/sun/tools/javac/tree/TreeMaker.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/tree/TreeMaker.java Mon Apr 25 15:45:49 2011 -0700 @@ -435,8 +435,8 @@ return tree; } - public JCTypeDisjunction TypeDisjunction(List components) { - JCTypeDisjunction tree = new JCTypeDisjunction(components); + public JCTypeUnion TypeUnion(List components) { + JCTypeUnion tree = new JCTypeUnion(components); tree.pos = pos; return tree; } diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/javac/tree/TreeScanner.java --- a/langtools/src/share/classes/com/sun/tools/javac/tree/TreeScanner.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/tree/TreeScanner.java Mon Apr 25 15:45:49 2011 -0700 @@ -272,7 +272,7 @@ scan(tree.arguments); } - public void visitTypeDisjunction(JCTypeDisjunction tree) { + public void visitTypeUnion(JCTypeUnion tree) { scan(tree.alternatives); } diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/com/sun/tools/javac/tree/TreeTranslator.java --- a/langtools/src/share/classes/com/sun/tools/javac/tree/TreeTranslator.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/tree/TreeTranslator.java Mon Apr 25 15:45:49 2011 -0700 @@ -363,7 +363,7 @@ result = tree; } - public void visitTypeDisjunction(JCTypeDisjunction tree) { + public void visitTypeUnion(JCTypeUnion tree) { tree.alternatives = translate(tree.alternatives); result = tree; } diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/javax/annotation/processing/Processor.java --- a/langtools/src/share/classes/javax/annotation/processing/Processor.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/javax/annotation/processing/Processor.java Mon Apr 25 15:45:49 2011 -0700 @@ -225,12 +225,13 @@ * * * - * where TypeName is as defined in the Java Language Specification. + * where TypeName is as defined in + * The Java™ Language Specification. * * @return the names of the annotation types supported by this processor * @see javax.annotation.processing.SupportedAnnotationTypes - * @jls3 3.8 Identifiers - * @jls3 6.5.5 Meaning of Type Names + * @jls 3.8 Identifiers + * @jls 6.5.5 Meaning of Type Names */ Set getSupportedAnnotationTypes(); diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/javax/lang/model/SourceVersion.java --- a/langtools/src/share/classes/javax/lang/model/SourceVersion.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/javax/lang/model/SourceVersion.java Mon Apr 25 15:45:49 2011 -0700 @@ -32,10 +32,9 @@ /** * Source versions of the Java™ programming language. * - * See http://java.sun.com/docs/books/jls/ - * for information on editions of The Java™ Language - * Specification, including updates and clarifications. + * See the appropriate edition of + * The Java™ Language Specification + * for information about a particular source version. * *

Note that additional source version constants will be added to * model future releases of the language. @@ -59,17 +58,16 @@ /** * The original version. * - * The language described in the first edition of The - * Java™ Language Specification. + * The language described in + * The Java™ Language Specification, First Edition. */ RELEASE_0, /** * The version recognized by the Java Platform 1.1. * - * The language is {@code RELEASE_0} augmented - * with nested classes. + * The language is {@code RELEASE_0} augmented with nested classes as described in the 1.1 update to + * The Java™ Language Specification, First Edition. */ RELEASE_1, @@ -77,8 +75,9 @@ * The version recognized by the Java 2 Platform, Standard Edition, * v 1.2. * - * The language described in The Java™ Language - * Specification, Second Edition, which includes the {@code + * The language described in + * The Java™ Language Specification, + * Second Edition, which includes the {@code * strictfp} modifier. */ RELEASE_2, @@ -103,8 +102,9 @@ * The version recognized by the Java 2 Platform, Standard * Edition 5.0. * - * The language described in The Java™ Language - * Specification, Third Edition. First release to support + * The language described in + * The Java™ Language Specification, + * Third Edition. First release to support * generics, annotations, autoboxing, var-args, enhanced {@code * for} loop, and hexadecimal floating-point literals. */ @@ -210,7 +210,7 @@ * @param name the string to check * @return {@code true} if this string is a * syntactically valid name, {@code false} otherwise. - * @jls3 6.2 Names and Identifiers + * @jls 6.2 Names and Identifiers */ public static boolean isName(CharSequence name) { String id = name.toString(); diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/javax/lang/model/element/Element.java --- a/langtools/src/share/classes/javax/lang/model/element/Element.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/javax/lang/model/element/Element.java Mon Apr 25 15:45:49 2011 -0700 @@ -232,8 +232,8 @@ * * @return the enclosed elements, or an empty list if none * @see Elements#getAllMembers - * @jls3 8.8.9 Default Constructor - * @jls3 8.9 Enums + * @jls 8.8.9 Default Constructor + * @jls 8.9 Enums */ List getEnclosedElements(); diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/javax/lang/model/element/Modifier.java --- a/langtools/src/share/classes/javax/lang/model/element/Modifier.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/javax/lang/model/element/Modifier.java Mon Apr 25 15:45:49 2011 -0700 @@ -46,7 +46,7 @@ public enum Modifier { - // See JLS2 sections 8.1.1, 8.3.1, 8.4.3, 8.8.3, and 9.1.1. + // See JLS sections 8.1.1, 8.3.1, 8.4.3, 8.8.3, and 9.1.1. // java.lang.reflect.Modifier includes INTERFACE, but that's a VMism. /** The modifier {@code public} */ PUBLIC, diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/javax/lang/model/element/PackageElement.java --- a/langtools/src/share/classes/javax/lang/model/element/PackageElement.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/javax/lang/model/element/PackageElement.java Mon Apr 25 15:45:49 2011 -0700 @@ -43,7 +43,7 @@ * * @return the fully qualified name of this package, or an * empty name if this is an unnamed package - * @jls3 6.7 Fully Qualified Names and Canonical Names + * @jls 6.7 Fully Qualified Names and Canonical Names */ Name getQualifiedName(); @@ -63,7 +63,7 @@ * * @return {@code true} is this is an unnamed package and {@code * false} otherwise - * @jls3 7.4.2 Unnamed Packages + * @jls 7.4.2 Unnamed Packages */ boolean isUnnamed(); diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/javax/lang/model/element/TypeElement.java --- a/langtools/src/share/classes/javax/lang/model/element/TypeElement.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/javax/lang/model/element/TypeElement.java Mon Apr 25 15:45:49 2011 -0700 @@ -101,7 +101,7 @@ * an empty name if none * * @see Elements#getBinaryName - * @jls3 6.7 Fully Qualified Names and Canonical Names + * @jls 6.7 Fully Qualified Names and Canonical Names */ Name getQualifiedName(); diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/javax/lang/model/element/VariableElement.java --- a/langtools/src/share/classes/javax/lang/model/element/VariableElement.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/javax/lang/model/element/VariableElement.java Mon Apr 25 15:45:49 2011 -0700 @@ -59,8 +59,8 @@ * otherwise * * @see Elements#getConstantExpression(Object) - * @jls3 15.28 Constant Expression - * @jls3 4.12.4 final Variables + * @jls 15.28 Constant Expression + * @jls 4.12.4 final Variables */ Object getConstantValue(); } diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/javax/lang/model/type/DeclaredType.java --- a/langtools/src/share/classes/javax/lang/model/type/DeclaredType.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/javax/lang/model/type/DeclaredType.java Mon Apr 25 15:45:49 2011 -0700 @@ -79,8 +79,8 @@ * enclosing instance. * * @return a type mirror for the enclosing type - * @jls3 8.1.3 Inner Classes and Enclosing Instances - * @jls3 15.9.2 Determining Enclosing Instances + * @jls 8.1.3 Inner Classes and Enclosing Instances + * @jls 15.9.2 Determining Enclosing Instances */ TypeMirror getEnclosingType(); diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/javax/lang/model/type/DisjunctiveType.java --- a/langtools/src/share/classes/javax/lang/model/type/DisjunctiveType.java Thu Apr 21 15:33:25 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package javax.lang.model.type; - -import java.util.List; - -/** - * Represents a disjunctive type. - * - * As of the {@link javax.lang.model.SourceVersion#RELEASE_7 - * RELEASE_7} source version, disjunctive types can appear as the type - * of a multi-catch exception parameter. - * - * @since 1.7 - */ -public interface DisjunctiveType extends TypeMirror { - - /** - * Return the alternatives comprising this disjunctive type. - * - * The alternatives are formally referred to as disjuncts. - * - * @return the alternatives comprising this disjunctive type. - */ - List getAlternatives(); -} diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/javax/lang/model/type/TypeKind.java --- a/langtools/src/share/classes/javax/lang/model/type/TypeKind.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/javax/lang/model/type/TypeKind.java Mon Apr 25 15:45:49 2011 -0700 @@ -140,11 +140,11 @@ OTHER, /** - * A disjunctive type. + * A union type. * * @since 1.7 */ - DISJUNCTIVE; + UNION; /** * Returns {@code true} if this kind corresponds to a primitive diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/javax/lang/model/type/TypeVariable.java --- a/langtools/src/share/classes/javax/lang/model/type/TypeVariable.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/javax/lang/model/type/TypeVariable.java Mon Apr 25 15:45:49 2011 -0700 @@ -38,8 +38,8 @@ * type, method, or constructor. * A type variable may also be declared implicitly, as by * the capture conversion of a wildcard type argument - * (see chapter 5 of The Java Language Specification, Third - * Edition). + * (see chapter 5 of + * The Java™ Language Specification). * * @author Joseph D. Darcy * @author Scott Seligman diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/javax/lang/model/type/TypeVisitor.java --- a/langtools/src/share/classes/javax/lang/model/type/TypeVisitor.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/javax/lang/model/type/TypeVisitor.java Mon Apr 25 15:45:49 2011 -0700 @@ -164,12 +164,12 @@ R visitUnknown(TypeMirror t, P p); /** - * Visits a disjunctive type. + * Visits a union type. * * @param t the type to visit * @param p a visitor-specified parameter * @return a visitor-specified result * @since 1.7 */ - R visitDisjunctive(DisjunctiveType t, P p); + R visitUnion(UnionType t, P p); } diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/javax/lang/model/type/UnionType.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/src/share/classes/javax/lang/model/type/UnionType.java Mon Apr 25 15:45:49 2011 -0700 @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package javax.lang.model.type; + +import java.util.List; + +/** + * Represents a union type. + * + * As of the {@link javax.lang.model.SourceVersion#RELEASE_7 + * RELEASE_7} source version, union types can appear as the type + * of a multi-catch exception parameter. + * + * @since 1.7 + */ +public interface UnionType extends TypeMirror { + + /** + * Return the alternatives comprising this union type. + * + * @return the alternatives comprising this union type. + */ + List getAlternatives(); +} diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java --- a/langtools/src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java Mon Apr 25 15:45:49 2011 -0700 @@ -96,7 +96,7 @@ } /** - * Visits a {@code DisjunctiveType} element by calling {@code + * Visits a {@code UnionType} element by calling {@code * visitUnknown}. * @param t {@inheritDoc} @@ -105,7 +105,7 @@ * * @since 1.7 */ - public R visitDisjunctive(DisjunctiveType t, P p) { + public R visitUnion(UnionType t, P p) { return visitUnknown(t, p); } diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/javax/lang/model/util/AbstractTypeVisitor7.java --- a/langtools/src/share/classes/javax/lang/model/util/AbstractTypeVisitor7.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/javax/lang/model/util/AbstractTypeVisitor7.java Mon Apr 25 15:45:49 2011 -0700 @@ -67,11 +67,11 @@ } /** - * Visits a {@code DisjunctiveType} in a manner defined by a subclass. + * Visits a {@code UnionType} in a manner defined by a subclass. * * @param t {@inheritDoc} * @param p {@inheritDoc} * @return the result of the visit as defined by a subclass */ - public abstract R visitDisjunctive(DisjunctiveType t, P p); + public abstract R visitUnion(UnionType t, P p); } diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/javax/lang/model/util/Elements.java --- a/langtools/src/share/classes/javax/lang/model/util/Elements.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/javax/lang/model/util/Elements.java Mon Apr 25 15:45:49 2011 -0700 @@ -95,7 +95,7 @@ * @param e the element being examined * @return the documentation comment of the element, or {@code null} * if there is none - * @jls3 3.6 White Space + * @jls 3.6 White Space */ String getDocComment(Element e); @@ -114,7 +114,7 @@ * @return the binary name * * @see TypeElement#getQualifiedName - * @jls3 13.1 The Form of a Binary + * @jls 13.1 The Form of a Binary */ Name getBinaryName(TypeElement type); @@ -210,8 +210,8 @@ * @param type the type of which the first method is a member * @return {@code true} if and only if the first method overrides * the second - * @jls3 8.4.8 Inheritance, Overriding, and Hiding - * @jls3 9.4.1 Inheritance and Overriding + * @jls 8.4.8 Inheritance, Overriding, and Hiding + * @jls 9.4.1 Inheritance and Overriding */ boolean overrides(ExecutableElement overrider, ExecutableElement overridden, TypeElement type); diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/javax/lang/model/util/SimpleTypeVisitor7.java --- a/langtools/src/share/classes/javax/lang/model/util/SimpleTypeVisitor7.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/javax/lang/model/util/SimpleTypeVisitor7.java Mon Apr 25 15:45:49 2011 -0700 @@ -91,7 +91,7 @@ } /** - * This implementation visits a {@code DisjunctiveType} by calling + * This implementation visits a {@code UnionType} by calling * {@code defaultAction}. * * @param t {@inheritDoc} @@ -99,7 +99,7 @@ * @return the result of {@code defaultAction} */ @Override - public R visitDisjunctive(DisjunctiveType t, P p) { + public R visitUnion(UnionType t, P p) { return defaultAction(t, p); } } diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/javax/lang/model/util/TypeKindVisitor7.java --- a/langtools/src/share/classes/javax/lang/model/util/TypeKindVisitor7.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/javax/lang/model/util/TypeKindVisitor7.java Mon Apr 25 15:45:49 2011 -0700 @@ -94,7 +94,7 @@ } /** - * This implementation visits a {@code DisjunctiveType} by calling + * This implementation visits a {@code UnionType} by calling * {@code defaultAction}. * * @param t {@inheritDoc} @@ -102,7 +102,7 @@ * @return the result of {@code defaultAction} */ @Override - public R visitDisjunctive(DisjunctiveType t, P p) { + public R visitUnion(UnionType t, P p) { return defaultAction(t, p); } } diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/javax/lang/model/util/Types.java --- a/langtools/src/share/classes/javax/lang/model/util/Types.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/javax/lang/model/util/Types.java Mon Apr 25 15:45:49 2011 -0700 @@ -81,7 +81,7 @@ * @return {@code true} if and only if the first type is a subtype * of the second * @throws IllegalArgumentException if given an executable or package type - * @jls3 4.10 Subtyping + * @jls 4.10 Subtyping */ boolean isSubtype(TypeMirror t1, TypeMirror t2); @@ -93,7 +93,7 @@ * @return {@code true} if and only if the first type is assignable * to the second * @throws IllegalArgumentException if given an executable or package type - * @jls3 5.2 Assignment Conversion + * @jls 5.2 Assignment Conversion */ boolean isAssignable(TypeMirror t1, TypeMirror t2); @@ -104,7 +104,7 @@ * @param t2 the second type * @return {@code true} if and only if the first type contains the second * @throws IllegalArgumentException if given an executable or package type - * @jls3 4.5.1.1 Type Argument Containment and Equivalence + * @jls 4.5.1.1 Type Argument Containment and Equivalence */ boolean contains(TypeMirror t1, TypeMirror t2); @@ -116,7 +116,7 @@ * @param m2 the second method * @return {@code true} if and only if the first signature is a * subsignature of the second - * @jls3 8.4.2 Method Signature + * @jls 8.4.2 Method Signature */ boolean isSubsignature(ExecutableType m1, ExecutableType m2); @@ -136,7 +136,7 @@ * @param t the type to be erased * @return the erasure of the given type * @throws IllegalArgumentException if given a package type - * @jls3 4.6 Type Erasure + * @jls 4.6 Type Erasure */ TypeMirror erasure(TypeMirror t); @@ -146,7 +146,7 @@ * * @param p the primitive type to be converted * @return the class of a boxed value of type {@code p} - * @jls3 5.1.7 Boxing Conversion + * @jls 5.1.7 Boxing Conversion */ TypeElement boxedClass(PrimitiveType p); @@ -158,7 +158,7 @@ * @return the type of an unboxed value of type {@code t} * @throws IllegalArgumentException if the given type has no * unboxing conversion - * @jls3 5.1.8 Unboxing Conversion + * @jls 5.1.8 Unboxing Conversion */ PrimitiveType unboxedType(TypeMirror t); @@ -168,7 +168,7 @@ * @param t the type to be converted * @return the result of applying capture conversion * @throws IllegalArgumentException if given an executable or package type - * @jls3 5.1.10 Capture Conversion + * @jls 5.1.10 Capture Conversion */ TypeMirror capture(TypeMirror t); diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/javax/tools/JavaCompiler.java --- a/langtools/src/share/classes/javax/tools/JavaCompiler.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/javax/tools/JavaCompiler.java Mon Apr 25 15:45:49 2011 -0700 @@ -58,9 +58,11 @@ * standard file manager such as the one returned by {@linkplain * #getStandardFileManager getStandardFileManager}. * - *

An instance implementing this interface must conform to the Java - * Language Specification and generate class files conforming to the - * Java Virtual Machine specification. The versions of these + *

An instance implementing this interface must conform to + * The Java™ Language Specification + * and generate class files conforming to + * The Java™ Virtual Machine Specification. + * The versions of these * specifications are defined in the {@linkplain Tool} interface. * * Additionally, an instance of this interface supporting {@link diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/javax/tools/JavaFileManager.java --- a/langtools/src/share/classes/javax/tools/JavaFileManager.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/javax/tools/JavaFileManager.java Mon Apr 25 15:45:49 2011 -0700 @@ -49,17 +49,16 @@ * names must be given in the Java Virtual Machine internal form of * fully qualified class and interface names. For convenience '.' * and '/' are interchangeable. The internal form is defined in - * chapter four of the - * Java - * Virtual Machine Specification. + * chapter four of + * The Java™ Virtual Machine Specification. *

* Discussion: this means that the names * "java/lang.package-info", "java/lang/package-info", * "java.lang.package-info", are valid and equivalent. Compare to - * binary name as defined in the - * Java Language - * Specification (JLS) section 13.1 "The Form of a Binary". + * binary name as defined in + * The Java™ Language Specification, + * section 13.1 "The Form of a Binary". *

* *

The case of names is significant. All names should be treated @@ -173,7 +172,8 @@ /** * Infers a binary name of a file object based on a location. The - * binary name returned might not be a valid JLS binary name. + * binary name returned might not be a valid binary name according to + * The Java™ Language Specification. * * @param location a location * @param file a file object diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/classes/javax/tools/JavaFileObject.java --- a/langtools/src/share/classes/javax/tools/JavaFileObject.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/classes/javax/tools/JavaFileObject.java Mon Apr 25 15:45:49 2011 -0700 @@ -99,9 +99,9 @@ /** * Checks if this file object is compatible with the specified * simple name and kind. A simple name is a single identifier - * (not qualified) as defined in the Java Language - * Specification 3rd ed., section 6.2 "Names and Identifiers". + * (not qualified) as defined in + * The Java™ Language Specification, + * section 6.2 "Names and Identifiers". * * @param simpleName a simple name of a class * @param kind a kind diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/src/share/sample/javac/processing/src/CheckNamesProcessor.java --- a/langtools/src/share/sample/javac/processing/src/CheckNamesProcessor.java Thu Apr 21 15:33:25 2011 -0700 +++ b/langtools/src/share/sample/javac/processing/src/CheckNamesProcessor.java Mon Apr 25 15:45:49 2011 -0700 @@ -152,7 +152,8 @@ * Provide checks that an element and its enclosed elements follow * the usual naming conventions. * - *

Conventions from JLSv3 section 6.8: + *

Conventions from section 6.8 of + * The Java™ Language Specification * *

    *
  • Classes and interfaces: camel case, first letter is uppercase @@ -163,7 +164,8 @@ *
  • non-final: camel case, initial lowercase *
  • constant: uppercase separated by underscores *
- *
  • Packages: checks left as exercise for the reader, see JLSv3 section 7.7 + *
  • Packages: checks left as exercise for the reader, see section 7.7 of + * The Java™ Language Specification. * */ private static class NameChecker { @@ -286,7 +288,7 @@ public Void visitPackage(PackageElement e, Void p) { /* * Implementing the checks of package names is left - * as an exercise for the reader, see JLSv3 section + * as an exercise for the reader, see JLS section * 7.7 for conventions. */ diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/test/tools/javac/generics/7034019/T7034019a.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/generics/7034019/T7034019a.java Mon Apr 25 15:45:49 2011 -0700 @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please 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 7034019 + * @summary ClassCastException in javac with conjunction types + * + * @compile T7034019a.java + */ + +class T7034019a { + interface A { + abstract void foo(); + } + + interface B { + abstract void foo(); + } + + static class C { + void test(T x) { + x.foo(); + } + } +} diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/test/tools/javac/generics/7034019/T7034019b.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/generics/7034019/T7034019b.java Mon Apr 25 15:45:49 2011 -0700 @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please 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 7034019 + * @summary ClassCastException in javac with conjunction types + * + * @compile T7034019b.java + */ + +class T7034019a { + interface A { + void foo(); + } + + interface B { + void foo(); + } + + static abstract class E implements A,B { + void test() { + foo(); + } + } +} diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/test/tools/javac/generics/7034019/T7034019c.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/generics/7034019/T7034019c.java Mon Apr 25 15:45:49 2011 -0700 @@ -0,0 +1,23 @@ +/* + * @test /nodynamiccopyright/ + * @bug 7034019 + * @summary ClassCastException in javac with conjunction types + * + * @compile/fail/ref=T7034019c.out -XDrawDiagnostics T7034019c.java + */ + +class T7034019c { + interface A { + abstract T foo(); + } + + interface B { + abstract T foo(); + } + + static class C { + void test(T x) { + x.foo(); + } + } +} diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/test/tools/javac/generics/7034019/T7034019c.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/generics/7034019/T7034019c.out Mon Apr 25 15:45:49 2011 -0700 @@ -0,0 +1,3 @@ +T7034019c.java:18:20: compiler.err.name.clash.same.erasure.no.override: foo(), T7034019c.B, foo(), T7034019c.A +T7034019c.java:20:14: compiler.err.ref.ambiguous: foo, kindname.method, foo(), T7034019c.B, kindname.method, foo(), T7034019c.A +2 errors diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/test/tools/javac/generics/7034019/T7034019d.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/generics/7034019/T7034019d.java Mon Apr 25 15:45:49 2011 -0700 @@ -0,0 +1,23 @@ +/* + * @test /nodynamiccopyright/ + * @bug 7034019 + * @summary ClassCastException in javac with conjunction types + * + * @compile/fail/ref=T7034019d.out -XDrawDiagnostics T7034019d.java + */ + +class T7034019c { + interface A { + abstract T foo(); + } + + interface B { + abstract T foo(); + } + + static abstract class E implements A,B { + void test() { + foo(); + } + } +} diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/test/tools/javac/generics/7034019/T7034019d.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/generics/7034019/T7034019d.out Mon Apr 25 15:45:49 2011 -0700 @@ -0,0 +1,3 @@ +T7034019d.java:18:21: compiler.err.name.clash.same.erasure.no.override: foo(), T7034019c.B, foo(), T7034019c.A +T7034019d.java:20:13: compiler.err.ref.ambiguous: foo, kindname.method, foo(), T7034019c.B, kindname.method, foo(), T7034019c.A +2 errors diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/test/tools/javac/generics/7034511/T7034511a.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/generics/7034511/T7034511a.java Mon Apr 25 15:45:49 2011 -0700 @@ -0,0 +1,21 @@ +/* + * @test /nodynamiccopyright/ + * @bug 7034511 + * @summary Loophole in typesafety + * @compile/fail/ref=T7034511a.out -XDrawDiagnostics T7034511a.java + */ + +class T7034511a { + + interface A { + void foo(T x); + } + + interface B extends A { } + + static abstract class C implements B { + > void test(T x, String[] ss) { + x.foo(ss); + } + } +} diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/test/tools/javac/generics/7034511/T7034511a.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/generics/7034511/T7034511a.out Mon Apr 25 15:45:49 2011 -0700 @@ -0,0 +1,2 @@ +T7034511a.java:18:14: compiler.err.cant.apply.symbol.1: kindname.method, foo, compiler.misc.type.captureof: 1, ?[], java.lang.String[], kindname.interface, T7034511a.A, (compiler.misc.no.conforming.assignment.exists: java.lang.String[], compiler.misc.type.captureof: 1, ?[]) +1 error diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/test/tools/javac/generics/7034511/T7034511b.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/generics/7034511/T7034511b.java Mon Apr 25 15:45:49 2011 -0700 @@ -0,0 +1,16 @@ +/* + * @test /nodynamiccopyright/ + * @bug 7034511 + * @summary Loophole in typesafety + * @compile/fail/ref=T7034511b.out -XDrawDiagnostics T7034511b.java + */ + +class T7034511b { + static class MyList { + E toArray(E[] e) { return null; } + } + + void test(MyList ml, Object o[]) { + ml.toArray(o); + } +} diff -r f42e8c68e5f0 -r c0c0f0374f67 langtools/test/tools/javac/generics/7034511/T7034511b.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/generics/7034511/T7034511b.out Mon Apr 25 15:45:49 2011 -0700 @@ -0,0 +1,2 @@ +T7034511b.java:14:11: compiler.err.cant.apply.symbol.1: kindname.method, toArray, compiler.misc.type.captureof: 1, ?[], java.lang.Object[], kindname.class, T7034511b.MyList, (compiler.misc.no.conforming.assignment.exists: java.lang.Object[], compiler.misc.type.captureof: 1, ?[]) +1 error