# HG changeset patch # User prr # Date 1493412765 25200 # Node ID 28b32b8d67b6a59e48247871c52662eaf64bf0f1 # Parent 7bd7767129ed16a5ef7f868877e46c626f729dab# Parent 72e90db93f70ec4db106a8104c0d0ba1135319b6 Merge diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/.hgtags --- a/jdk/.hgtags Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/.hgtags Fri Apr 28 13:52:45 2017 -0700 @@ -409,3 +409,4 @@ 6dea581453d7c0e767e3169cfec8b423a381e71d jdk-9+164 a7942c3b1e59495dbf51dc7c41aab355fcd253d7 jdk-9+165 5d2b48f1f0a322aca719b49ff02ab421705bffc7 jdk-9+166 +7828aedcb525df40b7c8122bcc3f997c75ebaf7f jdk-9+167 diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/make/CompileTools.gmk --- a/jdk/make/CompileTools.gmk Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/make/CompileTools.gmk Fri Apr 28 13:52:45 2017 -0700 @@ -30,6 +30,8 @@ include JavaCompilation.gmk include SetupJavaCompilers.gmk +################################################################################ + $(eval $(call IncludeCustomExtension, jdk, CompileTools.gmk)) ################################################################################ diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/make/gensrc/GensrcCharsetCoder.gmk --- a/jdk/make/gensrc/GensrcCharsetCoder.gmk Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/make/gensrc/GensrcCharsetCoder.gmk Fri Apr 28 13:52:45 2017 -0700 @@ -54,7 +54,7 @@ -DOtherCoder='Encoder' \ -DreplTypeName='string' \ -DdefaultRepl='"\\uFFFD"' \ - -DdefaultReplName='"\\uFFFD"<\/tt>' \ + -DdefaultReplName='"\\uFFFD"<\/code>' \ -DreplType='String' \ -DreplFQType='java.lang.String' \ -DreplLength='length()' \ @@ -89,7 +89,7 @@ -DOtherCoder='Decoder' \ -DreplTypeName='byte array' \ -DdefaultRepl='new byte[] { (byte)'"'"\\?"'"' }' \ - -DdefaultReplName='{<\/tt>\ (byte)'"'"\\?"'"'<\/tt>\ }<\/tt>' \ + -DdefaultReplName='{<\/code>\ (byte)'"'"\\?"'"'<\/code>\ }<\/code>' \ -DreplType='byte[]' \ -DreplFQType='byte[]' \ -DreplLength='length' \ diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/make/launcher/Launcher-jdk.aot.gmk --- a/jdk/make/launcher/Launcher-jdk.aot.gmk Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/make/launcher/Launcher-jdk.aot.gmk Fri Apr 28 13:52:45 2017 -0700 @@ -25,9 +25,25 @@ include LauncherCommon.gmk +# The JVMCI exports are needed since JVMCI is normally dynamically exported +# (see jdk.vm.ci.services.internal.ReflectionAccessJDK::openJVMCITo). + $(eval $(call SetupBuildLauncher, jaotc, \ MAIN_CLASS := jdk.tools.jaotc.Main, \ JAVA_ARGS := -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI \ + --add-exports=jdk.internal.vm.ci/jdk.vm.ci.aarch64=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \ + --add-exports=jdk.internal.vm.ci/jdk.vm.ci.amd64=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \ + --add-exports=jdk.internal.vm.ci/jdk.vm.ci.code=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \ + --add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.site=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \ + --add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.stack=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \ + --add-exports=jdk.internal.vm.ci/jdk.vm.ci.common=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \ + --add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \ + --add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \ + --add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \ + --add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.sparc=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \ + --add-exports=jdk.internal.vm.ci/jdk.vm.ci.meta=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \ + --add-exports=jdk.internal.vm.ci/jdk.vm.ci.runtime=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \ + --add-exports=jdk.internal.vm.ci/jdk.vm.ci.sparc=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \ -XX:+UseAOT \ -Djvmci.UseProfilingInformation=false \ -Dgraal.UseExceptionProbability=false \ diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/make/src/classes/build/tools/taglet/ExtLink.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/src/classes/build/tools/taglet/ExtLink.java Fri Apr 28 13:52:45 2017 -0700 @@ -0,0 +1,109 @@ +/* + * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute 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 build.tools.taglet; + +import java.util.EnumSet; +import java.util.List; +import java.util.Set; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import javax.lang.model.element.Element; + +import com.sun.source.doctree.DocTree; +import com.sun.source.doctree.UnknownInlineTagTree; +import jdk.javadoc.doclet.Taglet; + +import static com.sun.source.doctree.DocTree.Kind.*; +import static jdk.javadoc.doclet.Taglet.Location.*; + +/** + * An inline tag to conveniently insert an external link. + * The tag can be used as follows: + * {@extLink name description}, for example + *

+ * {@code Please see {@extLink Borealis a spectacular} sight.} + *

+ * will produce the following html + *

+ * {@code + * Please see a spectacular sight. + * } + */ +public class ExtLink implements Taglet { + + static final String TAG_NAME = "extLink"; + + static final String URL = "https://www.oracle.com/pls/topic/lookup?ctx=javase9&id="; + + static final Pattern TAG_PATTERN = Pattern.compile("(\\s*)(?\\w+)(\\s+)(?.*)"); + + /** + * Returns the set of locations in which the tag may be used. + */ + @Override + public Set getAllowedLocations() { + return EnumSet.allOf(jdk.javadoc.doclet.Taglet.Location.class); + } + + @Override + public boolean isInlineTag() { + return true; + } + + @Override + public String getName() { + return TAG_NAME; + } + + @Override + public String toString(List tags, Element elem) { + + if (tags.isEmpty()) + return ""; + + DocTree tag = tags.get(0); + if (tag.getKind() != UNKNOWN_INLINE_TAG) + return ""; + + UnknownInlineTagTree uitree = (UnknownInlineTagTree) tag; + if (uitree.getContent().isEmpty()) + return ""; + + String tagText = uitree.getContent().get(0).toString(); + Matcher m = TAG_PATTERN.matcher(tagText); + if (!m.find()) + return ""; + + StringBuilder sb = new StringBuilder("") + .append(m.group("desc")) + .append(""); + + return sb.toString(); + } +} diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/io/DataInput.java --- a/jdk/src/java.base/share/classes/java/io/DataInput.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/io/DataInput.java Fri Apr 28 13:52:45 2017 -0700 @@ -48,7 +48,7 @@ * may be thrown if the input stream has been * closed. * - *

Modified UTF-8

+ *

Modified UTF-8

*

* Implementations of the DataInput and DataOutput interfaces represent * Unicode strings in a format that is a slight modification of UTF-8. @@ -72,8 +72,8 @@ * * * Byte 1 - *

0
- *
bits 6-0
+ * 0 + * bits 6-0 * * * @@ -87,16 +87,16 @@ * * * Byte 1 - *
1
- *
1
- *
0
- *
bits 10-6
+ * 1 + * 1 + * 0 + * bits 10-6 * * * Byte 2 - *
1
- *
0
- *
bits 5-0
+ * 1 + * 0 + * bits 5-0 * * * @@ -109,23 +109,23 @@ * * * Byte 1 - *
1
- *
1
- *
1
- *
0
- *
bits 15-12
+ * 1 + * 1 + * 1 + * 0 + * bits 15-12 * * * Byte 2 - *
1
- *
0
- *
bits 11-6
+ * 1 + * 0 + * bits 11-6 * * * Byte 3 - *
1
- *
0
- *
bits 5-0
+ * 1 + * 0 + * bits 5-0 * * * diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/io/File.java --- a/jdk/src/java.base/share/classes/java/io/File.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/io/File.java Fri Apr 28 13:52:45 2017 -0700 @@ -113,7 +113,7 @@ * operating system-specific portion of storage for a file system. A single * storage device (e.g. a physical disk-drive, flash memory, CD-ROM) may * contain multiple partitions. The object, if any, will reside on the - * partition named by some ancestor of the absolute + * partition named by some ancestor of the absolute * form of this pathname. * *

A file system may implement restrictions to certain operations on the diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/io/LineNumberReader.java --- a/jdk/src/java.base/share/classes/java/io/LineNumberReader.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/io/LineNumberReader.java Fri Apr 28 13:52:45 2017 -0700 @@ -39,7 +39,7 @@ * the stream; it only changes the value that will be returned by * {@code getLineNumber()}. * - *

A line is considered to be terminated by any one of a + *

A line is considered to be terminated by any one of a * line feed ('\n'), a carriage return ('\r'), or a carriage return followed * immediately by a linefeed. * diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/io/PipedInputStream.java --- a/jdk/src/java.base/share/classes/java/io/PipedInputStream.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/io/PipedInputStream.java Fri Apr 28 13:52:45 2017 -0700 @@ -39,7 +39,7 @@ * The piped input stream contains a buffer, * decoupling read operations from write operations, * within limits. - * A pipe is said to be broken if a + * A pipe is said to be broken if a * thread that was providing data bytes to the connected * piped output stream is no longer alive. * diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/io/PipedOutputStream.java --- a/jdk/src/java.base/share/classes/java/io/PipedOutputStream.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/io/PipedOutputStream.java Fri Apr 28 13:52:45 2017 -0700 @@ -35,7 +35,7 @@ * read from the connected PipedInputStream by some * other thread. Attempting to use both objects from a single thread * is not recommended as it may deadlock the thread. - * The pipe is said to be broken if a + * The pipe is said to be broken if a * thread that was reading data bytes from the connected piped input * stream is no longer alive. * diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/io/RandomAccessFile.java --- a/jdk/src/java.base/share/classes/java/io/RandomAccessFile.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/io/RandomAccessFile.java Fri Apr 28 13:52:45 2017 -0700 @@ -132,24 +132,24 @@ * write to, the file specified by the {@link File} argument. A new {@link * FileDescriptor} object is created to represent this file connection. * - *

The {@code mode} argument specifies the access mode + *

The {@code mode} argument specifies the access mode * in which the file is to be opened. The permitted values and their * meanings are: * * - * - * + * + * * - * + * * - * + * * - * + * * diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/lang/Character.java --- a/jdk/src/java.base/share/classes/java/lang/Character.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/lang/Character.java Fri Apr 28 13:52:45 2017 -0700 @@ -56,7 +56,7 @@ *
  • http://www.unicode.org * * - *

    Unicode Character Representations

    + *

    Unicode Character Representations

    * *

    The {@code char} data type (and therefore the value that a * {@code Character} object encapsulates) are based on the @@ -70,9 +70,9 @@ * definition of the U+n notation in the Unicode * Standard.) * - *

    The set of characters from U+0000 to U+FFFF is + *

    The set of characters from U+0000 to U+FFFF is * sometimes referred to as the Basic Multilingual Plane (BMP). - * Characters whose code points are greater + * Characters whose code points are greater * than U+FFFF are called supplementary characters. The Java * platform uses the UTF-16 representation in {@code char} arrays and * in the {@code String} and {@code StringBuffer} classes. In diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/lang/Class.java --- a/jdk/src/java.base/share/classes/java/lang/Class.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/lang/Class.java Fri Apr 28 13:52:45 2017 -0700 @@ -726,16 +726,16 @@ * *

  • ValueMeaning
    {@code "r"}
    ValueMeaning
    {@code "r"} Open for reading only. Invoking any of the {@code write} * methods of the resulting object will cause an * {@link java.io.IOException} to be thrown.
    {@code "rw"}
    {@code "rw"} Open for reading and writing. If the file does not already * exist then an attempt will be made to create it.
    {@code "rws"}
    {@code "rws"} Open for reading and writing, as with {@code "rw"}, and also * require that every update to the file's content or metadata be * written synchronously to the underlying storage device.
    {@code "rwd"}
    {@code "rwd"} Open for reading and writing, as with {@code "rw"}, and also * require that every update to the file's content be written * synchronously to the underlying storage device.
    *
    Element Type     Encoding - *
    boolean     Z - *
    byte     B - *
    char     C + *
    boolean     Z + *
    byte     B + *
    char     C *
    class or interface - *     Lclassname; - *
    double     D - *
    float     F - *
    int     I - *
    long     J - *
    short     S + *     Lclassname; + *
    double     D + *
    float     F + *
    int     I + *
    long     J + *
    short     S *
    * *

    The class or interface name classname is the binary name of diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/lang/ClassLoader.java --- a/jdk/src/java.base/share/classes/java/lang/ClassLoader.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/lang/ClassLoader.java Fri Apr 28 13:52:45 2017 -0700 @@ -114,7 +114,7 @@ * duration of the class loading process (see {@link #loadClass * loadClass} methods). * - *

    Run-time Built-in Class Loaders

    + *

    Run-time Built-in Class Loaders

    * * The Java run-time has the following built-in class loaders: * @@ -183,7 +183,7 @@ * } * * - *

    Binary names

    + *

    Binary names

    * *

    Any class name provided as a {@code String} parameter to methods in * {@code ClassLoader} must be a binary name as defined by diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/lang/Math.java --- a/jdk/src/java.base/share/classes/java/lang/Math.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/lang/Math.java Fri Apr 28 13:52:45 2017 -0700 @@ -1277,7 +1277,7 @@ } /** - * Returns the floor modulus of the {@code long} and {@int} arguments. + * Returns the floor modulus of the {@code long} and {@code int} arguments. *

    * The floor modulus is {@code x - (floorDiv(x, y) * y)}, * has the same sign as the divisor {@code y}, and diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/lang/ProcessBuilder.java --- a/jdk/src/java.base/share/classes/java/lang/ProcessBuilder.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/lang/ProcessBuilder.java Fri Apr 28 13:52:45 2017 -0700 @@ -71,7 +71,7 @@ * working directory of the current process, usually the directory * named by the system property {@code user.dir}. * - *

  • a source of standard input. + *
  • a source of standard input. * By default, the subprocess reads input from a pipe. Java code * can access this pipe via the output stream returned by * {@link Process#getOutputStream()}. However, standard input may @@ -86,7 +86,7 @@ *
  • the {@link OutputStream#close() close} method does nothing * * - *
  • a destination for standard output + *
  • a destination for standard output * and standard error. By default, the subprocess writes standard * output and standard error to pipes. Java code can access these pipes * via the input streams returned by {@link Process#getOutputStream()} and diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/lang/Runtime.java --- a/jdk/src/java.base/share/classes/java/lang/Runtime.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/lang/Runtime.java Fri Apr 28 13:52:45 2017 -0700 @@ -950,7 +950,7 @@ * Java SE Platform. A version string consists of a version number * optionally followed by pre-release and build information. * - *

    Version numbers

    + *

    Version numbers

    * *

    A version number, {@code $VNUM}, is a non-empty sequence * of elements separated by period characters (U+002E). An element is @@ -971,7 +971,7 @@ * *

      * - *
    • {@code $MAJOR} --- The major version + *

    • {@code $MAJOR} --- The major version * number, incremented for a major release that contains significant new * features as specified in a new edition of the Java SE Platform * Specification, e.g.,

    • * - *
    • {@code $MINOR} --- The minor version + *

    • {@code $MINOR} --- The minor version * number, incremented for a minor update release that may contain * compatible bug fixes, revisions to standard APIs mandated by a * Maintenance Release @@ -992,7 +992,7 @@ * additional service providers, new garbage collectors, and ports to new * hardware architectures.

    • * - *
    • {@code $SECURITY} --- The security + *

    • {@code $SECURITY} --- The security * level, incremented for a security update release that contains critical * fixes including those necessary to improve security. {@code $SECURITY} * is not reset when {@code $MINOR} is incremented. A @@ -1021,7 +1021,7 @@ * sequence; e.g., {@code 9.1.2} is less than {@code 9.1.2.1}. *

      * - *

      Version strings

      + *

      Version strings

      * *

      A version string, {@code $VSTR}, consists of a version * number {@code $VNUM}, as described above, optionally followed by @@ -1038,17 +1038,17 @@ * *

        * - *
      • {@code $PRE}, matching {@code ([a-zA-Z0-9]+)} + *

      • {@code $PRE}, matching {@code ([a-zA-Z0-9]+)} * --- A pre-release identifier. Typically {@code ea}, for a * potentially unstable early-access release under active development, * or {@code internal}, for an internal developer build.

      • * - *
      • {@code $BUILD}, matching {@code + *

      • {@code $BUILD}, matching {@code * (0|[1-9][0-9]*)} --- The build number, incremented for each promoted * build. {@code $BUILD} is reset to {@code 1} when any portion of {@code * $VNUM} is incremented.

      • * - *
      • {@code $OPT}, matching {@code + *

      • {@code $OPT}, matching {@code * ([-a-zA-Z0-9.]+)} --- Additional build information, if desired. In * the case of an {@code internal} build this will often contain the date * and time of the build.

      • diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/lang/StrictMath.java --- a/jdk/src/java.base/share/classes/java/lang/StrictMath.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/lang/StrictMath.java Fri Apr 28 13:52:45 2017 -0700 @@ -975,7 +975,7 @@ } /** - * Returns the floor modulus of the {@code long} and {@int} arguments. + * Returns the floor modulus of the {@code long} and {@code int} arguments. *

        * The floor modulus is {@code x - (floorDiv(x, y) * y)}, * has the same sign as the divisor {@code y}, and diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/lang/String.java --- a/jdk/src/java.base/share/classes/java/lang/String.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/lang/String.java Fri Apr 28 13:52:45 2017 -0700 @@ -2209,23 +2209,23 @@ * Limit * Result * - * : - * 2 + * : + * 2 * {@code { "boo", "and:foo" }} - * : - * 5 + * : + * 5 * {@code { "boo", "and", "foo" }} - * : - * -2 + * : + * -2 * {@code { "boo", "and", "foo" }} - * o - * 5 + * o + * 5 * {@code { "b", "", ":and:f", "", "" }} - * o - * -2 + * o + * -2 * {@code { "b", "", ":and:f", "", "" }} - * o - * 0 + * o + * 0 * {@code { "b", "", ":and:f" }} * * @@ -2331,9 +2331,9 @@ * Regex * Result * - * : + * : * {@code { "boo", "and", "foo" }} - * o + * o * {@code { "b", "", ":and:f" }} * * diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/lang/System.java --- a/jdk/src/java.base/share/classes/java/lang/System.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/lang/System.java Fri Apr 28 13:52:45 2017 -0700 @@ -899,7 +899,7 @@ * being thrown. If no exception is thrown the value of the * variable name is returned. * - *

        System + *

        System * properties and environment variables are both * conceptually mappings between names and values. Both * mechanisms can be used to pass user-defined information to a diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/lang/invoke/MethodHandle.java --- a/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandle.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandle.java Fri Apr 28 13:52:45 2017 -0700 @@ -310,7 +310,7 @@ * throwables locally, rethrowing only those which are legal in the context, * and wrapping ones which are illegal. * - *

        Signature polymorphism

        + *

        Signature polymorphism

        * The unusual compilation and linkage behavior of * {@code invokeExact} and plain {@code invoke} * is referenced by the term signature polymorphism. @@ -404,7 +404,7 @@ * genericity with a Java type parameter. *
      * - *

      Arity limits

      + *

      Arity limits

      * The JVM imposes on all methods and constructors of any kind an absolute * limit of 255 stacked arguments. This limit can appear more restrictive * in certain cases: diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/lang/invoke/MethodHandleInfo.java --- a/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandleInfo.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandleInfo.java Fri Apr 28 13:52:45 2017 -0700 @@ -35,7 +35,7 @@ * A symbolic reference obtained by cracking a direct method handle * into its consitutent symbolic parts. * To crack a direct method handle, call {@link Lookup#revealDirect Lookup.revealDirect}. - *

      Direct Method Handles

      + *

      Direct Method Handles

      * A direct method handle represents a method, constructor, or field without * any intervening argument bindings or other transformations. * The method, constructor, or field referred to by a direct method handle is called @@ -77,7 +77,7 @@ * handle with symbolic information (or caller binding) from an unexpected scope. * Use {@link java.lang.invoke.MethodHandles#reflectAs} to override this limitation. * - *

      Reference kinds

      + *

      Reference kinds

      * The Lookup Factory Methods * correspond to all major use cases for methods, constructors, and fields. * These use cases may be distinguished using small integers as follows: diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/lang/invoke/MethodHandles.java --- a/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandles.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandles.java Fri Apr 28 13:52:45 2017 -0700 @@ -257,7 +257,7 @@ * This includes all methods, constructors, and fields which are allowed to the lookup class, * even private ones. * - *

      Lookup Factory Methods

      + *

      Lookup Factory Methods

      * The factory methods on a {@code Lookup} object correspond to all major * use cases for methods, constructors, and fields. * Each method handle created by a factory method is the functional @@ -267,7 +267,7 @@ * the behavior of the resulting method handles: * * - * + * * * * @@ -378,7 +378,7 @@ * type having too many parameters. * * - *

      Access checking

      + *

      Access checking

      * Access checks are applied in the factory methods of {@code Lookup}, * when a method handle is created. * This is a key difference from the Core Reflection API, since @@ -483,7 +483,7 @@ * with fewer access modes than the original lookup object. * *

      - * + * * Discussion of private access: * We say that a lookup has private access * if its {@linkplain #lookupModes lookup modes} @@ -506,7 +506,7 @@ * whose bytecode behaviors and Java language access permissions * can be reliably determined and emulated by method handles. * - *

      Security manager interactions

      + *

      Security manager interactions

      * Although bytecode instructions can only refer to classes in * a related class loader, this API can search for methods in any * class, as long as a reference to its {@code Class} object is @@ -565,7 +565,7 @@ * or else that is being accessed from a lookup class that has * rights to access the member or class. * - *

      Caller sensitive methods

      + *

      Caller sensitive methods

      * A small number of Java methods have a special property called caller sensitivity. * A caller-sensitive method can behave differently depending on the * identity of its immediate caller. @@ -4497,7 +4497,7 @@ * The init functions can observe initial pre-loop state, in the form {@code (a...)}. * Most clause functions will not need all of this information, but they will be formally connected to it * as if by {@link #dropArguments}. - * + * * More specifically, we shall use the notation {@code (V*)} to express an arbitrary prefix of a full * sequence {@code (V...)} (and likewise for {@code (v*)}, {@code (A*)}, {@code (a*)}). * In that notation, the general form of an init function parameter list @@ -4510,7 +4510,7 @@ * met by the inputs to the loop combinator. *

      * Effectively identical sequences: - * + * * A parameter list {@code A} is defined to be effectively identical to another parameter list {@code B} * if {@code A} and {@code B} are identical, or if {@code A} is shorter and is identical with a proper prefix of {@code B}. * When speaking of an unordered set of parameter lists, we say they the set is "effectively identical" diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/lang/invoke/VarHandle.java --- a/jdk/src/java.base/share/classes/java/lang/invoke/VarHandle.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/lang/invoke/VarHandle.java Fri Apr 28 13:52:45 2017 -0700 @@ -247,7 +247,7 @@ * except the null reference. * * - *

      Invocation of an access mode's method

      + *

      Invocation of an access mode's method

      * The first time an {@code invokevirtual} instruction is executed it is linked * by symbolically resolving the names in the instruction and verifying that * the method call is statically legal. This also holds for calls to access mode diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/lang/ref/Cleaner.java --- a/jdk/src/java.base/share/classes/java/lang/ref/Cleaner.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/lang/ref/Cleaner.java Fri Apr 28 13:52:45 2017 -0700 @@ -119,7 +119,7 @@ * Using a static nested class, as above, will avoid accidentally retaining the * object reference. *

      - * + * * Cleaning actions should be prepared to be invoked concurrently with * other cleaning actions. * Typically the cleaning actions should be very quick to execute diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/lang/ref/package-info.java --- a/jdk/src/java.base/share/classes/java/lang/ref/package-info.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/lang/ref/package-info.java Fri Apr 28 13:52:45 2017 -0700 @@ -93,7 +93,7 @@ * structure, this check will add little overhead to the hashtable * access methods. * - * + * *

      Reachability

      * * Going from strongest to weakest, the different levels of diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/lang/reflect/AnnotatedElement.java --- a/jdk/src/java.base/share/classes/java/lang/reflect/AnnotatedElement.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/lang/reflect/AnnotatedElement.java Fri Apr 28 13:52:45 2017 -0700 @@ -109,22 +109,22 @@ * * * - * * - * * - * * - * * - * * - * * *
      lookup expressionlookup expressionmemberbytecode behavior
      Overview of kind of presence detected by different AnnotatedElement methods
      Kind of Presence
      MethodDirectly PresentIndirectly PresentPresentAssociated
      {@code T}{@link #getAnnotation(Class) getAnnotation(Class<T>)} + *
      {@code T}{@link #getAnnotation(Class) getAnnotation(Class<T>)} * X
      {@code Annotation[]}{@link #getAnnotations getAnnotations()} + *
      {@code Annotation[]}{@link #getAnnotations getAnnotations()} * X
      {@code T[]}{@link #getAnnotationsByType(Class) getAnnotationsByType(Class<T>)} + *
      {@code T[]}{@link #getAnnotationsByType(Class) getAnnotationsByType(Class<T>)} * X
      {@code T}{@link #getDeclaredAnnotation(Class) getDeclaredAnnotation(Class<T>)} + *
      {@code T}{@link #getDeclaredAnnotation(Class) getDeclaredAnnotation(Class<T>)} * X
      {@code Annotation[]}{@link #getDeclaredAnnotations getDeclaredAnnotations()} + *
      {@code Annotation[]}{@link #getDeclaredAnnotations getDeclaredAnnotations()} * X
      {@code T[]}{@link #getDeclaredAnnotationsByType(Class) getDeclaredAnnotationsByType(Class<T>)} + *
      {@code T[]}{@link #getDeclaredAnnotationsByType(Class) getDeclaredAnnotationsByType(Class<T>)} * XX
      diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/lang/reflect/Proxy.java --- a/jdk/src/java.base/share/classes/java/lang/reflect/Proxy.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/lang/reflect/Proxy.java Fri Apr 28 13:52:45 2017 -0700 @@ -157,7 +157,7 @@ * like they do for instances of {@code java.lang.Object}. *
    * - *

    Package and Module Membership of Proxy Class

    + *

    Package and Module Membership of Proxy Class

    * * The package and module to which a proxy class belongs are chosen such that * the accessibility of the proxy class is in line with the accessibility of @@ -218,7 +218,7 @@ * a package that either is not exported/open by its containing module or is * exported/open in a qualified fashion by its containing module. * - *

    Dynamic Modules

    + *

    Dynamic Modules

    *

    * A dynamic module is a named module generated at runtime. A proxy class * defined in a dynamic module is encapsulated and not accessible to any module. @@ -894,7 +894,7 @@ * that dispatches method invocations to the specified invocation * handler. *

    - * {@code IllegalArgumentException} will be thrown + * {@code IllegalArgumentException} will be thrown * if any of the following restrictions is violated: *

      *
    • All of {@code Class} objects in the given {@code interfaces} array diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/math/RoundingMode.java --- a/jdk/src/java.base/share/classes/java/math/RoundingMode.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/math/RoundingMode.java Fri Apr 28 13:52:45 2017 -0700 @@ -55,7 +55,7 @@ * Summary of Rounding Operations Under Different Rounding Modes * Result of rounding input to one digit with the given * rounding mode - * + * * Input Number {@code UP} * {@code DOWN} * {@code CEILING} @@ -65,16 +65,16 @@ * {@code HALF_EVEN} * {@code UNNECESSARY} * - * 5.5 6 5 6 5 6 5 6 throw {@code ArithmeticException} - * 2.5 3 2 3 2 3 2 2 throw {@code ArithmeticException} - * 1.6 2 1 2 1 2 2 2 throw {@code ArithmeticException} - * 1.1 2 1 2 1 1 1 1 throw {@code ArithmeticException} - * 1.0 1 1 1 1 1 1 1 1 - * -1.0 -1 -1 -1 -1 -1 -1 -1 -1 - * -1.1 -2 -1 -1 -2 -1 -1 -1 throw {@code ArithmeticException} - * -1.6 -2 -1 -1 -2 -2 -2 -2 throw {@code ArithmeticException} - * -2.5 -3 -2 -2 -3 -3 -2 -2 throw {@code ArithmeticException} - * -5.5 -6 -5 -5 -6 -6 -5 -6 throw {@code ArithmeticException} + * 5.5 6 5 6 5 6 5 6 throw {@code ArithmeticException} + * 2.5 3 2 3 2 3 2 2 throw {@code ArithmeticException} + * 1.6 2 1 2 1 2 2 2 throw {@code ArithmeticException} + * 1.1 2 1 2 1 1 1 1 throw {@code ArithmeticException} + * 1.0 1 1 1 1 1 1 1 1 + * -1.0 -1 -1 -1 -1 -1 -1 -1 -1 + * -1.1 -2 -1 -1 -2 -1 -1 -1 throw {@code ArithmeticException} + * -1.6 -2 -1 -1 -2 -2 -2 -2 throw {@code ArithmeticException} + * -2.5 -3 -2 -2 -3 -3 -2 -2 throw {@code ArithmeticException} + * -5.5 -6 -5 -5 -6 -6 -5 -6 throw {@code ArithmeticException} * * * @@ -102,18 +102,18 @@ *

      Example: * * - * + * * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * + * + * *
      Rounding mode UP Examples
      Input Number
      Input NumberInput rounded to one digit
      with {@code UP} rounding - *
      5.5 6
      2.5 3
      1.6 2
      1.1 2
      1.0 1
      -1.0 -1
      -1.1 -2
      -1.6 -2
      -2.5 -3
      -5.5 -6
      5.5 6
      2.5 3
      1.6 2
      1.1 2
      1.0 1
      -1.0 -1
      -1.1 -2
      -1.6 -2
      -2.5 -3
      -5.5 -6
      */ UP(BigDecimal.ROUND_UP), @@ -126,18 +126,18 @@ *

      Example: * * - * + * * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * + * + * *
      Rounding mode DOWN Examples
      Input Number
      Input NumberInput rounded to one digit
      with {@code DOWN} rounding - *
      5.5 5
      2.5 2
      1.6 1
      1.1 1
      1.0 1
      -1.0 -1
      -1.1 -1
      -1.6 -1
      -2.5 -2
      -5.5 -5
      5.5 5
      2.5 2
      1.6 1
      1.1 1
      1.0 1
      -1.0 -1
      -1.1 -1
      -1.6 -1
      -2.5 -2
      -5.5 -5
      */ DOWN(BigDecimal.ROUND_DOWN), @@ -151,18 +151,18 @@ *

      Example: * * - * + * * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * + * + * *
      Rounding mode CEILING Examples
      Input Number
      Input NumberInput rounded to one digit
      with {@code CEILING} rounding - *
      5.5 6
      2.5 3
      1.6 2
      1.1 2
      1.0 1
      -1.0 -1
      -1.1 -1
      -1.6 -1
      -2.5 -2
      -5.5 -5
      5.5 6
      2.5 3
      1.6 2
      1.1 2
      1.0 1
      -1.0 -1
      -1.1 -1
      -1.6 -1
      -2.5 -2
      -5.5 -5
      */ CEILING(BigDecimal.ROUND_CEILING), @@ -176,18 +176,18 @@ *

      Example: * * - * + * * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * + * + * *
      Rounding mode FLOOR Examples
      Input Number
      Input NumberInput rounded to one digit
      with {@code FLOOR} rounding - *
      5.5 5
      2.5 2
      1.6 1
      1.1 1
      1.0 1
      -1.0 -1
      -1.1 -2
      -1.6 -2
      -2.5 -3
      -5.5 -6
      5.5 5
      2.5 2
      1.6 1
      1.1 1
      1.0 1
      -1.0 -1
      -1.1 -2
      -1.6 -2
      -2.5 -3
      -5.5 -6
      */ FLOOR(BigDecimal.ROUND_FLOOR), @@ -203,18 +203,18 @@ *

      Example: * * - * + * * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * + * + * *
      Rounding mode HALF_UP Examples
      Input Number
      Input NumberInput rounded to one digit
      with {@code HALF_UP} rounding - *
      5.5 6
      2.5 3
      1.6 2
      1.1 1
      1.0 1
      -1.0 -1
      -1.1 -1
      -1.6 -2
      -2.5 -3
      -5.5 -6
      5.5 6
      2.5 3
      1.6 2
      1.1 1
      1.0 1
      -1.0 -1
      -1.1 -1
      -1.6 -2
      -2.5 -3
      -5.5 -6
      */ HALF_UP(BigDecimal.ROUND_HALF_UP), @@ -229,18 +229,18 @@ *

      Example: * * - * + * * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * + * + * *
      Rounding mode HALF_DOWN Examples
      Input Number
      Input NumberInput rounded to one digit
      with {@code HALF_DOWN} rounding - *
      5.5 5
      2.5 2
      1.6 2
      1.1 1
      1.0 1
      -1.0 -1
      -1.1 -1
      -1.6 -2
      -2.5 -2
      -5.5 -5
      5.5 5
      2.5 2
      1.6 2
      1.1 1
      1.0 1
      -1.0 -1
      -1.1 -1
      -1.6 -2
      -2.5 -2
      -5.5 -5
      */ HALF_DOWN(BigDecimal.ROUND_HALF_DOWN), @@ -262,18 +262,18 @@ *

      Example: * * - * + * * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * + * + * *
      Rounding mode HALF_EVEN Examples
      Input Number
      Input NumberInput rounded to one digit
      with {@code HALF_EVEN} rounding - *
      5.5 6
      2.5 2
      1.6 2
      1.1 1
      1.0 1
      -1.0 -1
      -1.1 -1
      -1.6 -2
      -2.5 -2
      -5.5 -6
      5.5 6
      2.5 2
      1.6 2
      1.1 1
      1.0 1
      -1.0 -1
      -1.1 -1
      -1.6 -2
      -2.5 -2
      -5.5 -6
      */ HALF_EVEN(BigDecimal.ROUND_HALF_EVEN), @@ -286,18 +286,18 @@ *

      Example: * * - * + * * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * + * + * *
      Rounding mode UNNECESSARY Examples
      Input Number
      Input NumberInput rounded to one digit
      with {@code UNNECESSARY} rounding - *
      5.5 throw {@code ArithmeticException}
      2.5 throw {@code ArithmeticException}
      1.6 throw {@code ArithmeticException}
      1.1 throw {@code ArithmeticException}
      1.0 1
      -1.0 -1
      -1.1 throw {@code ArithmeticException}
      -1.6 throw {@code ArithmeticException}
      -2.5 throw {@code ArithmeticException}
      -5.5 throw {@code ArithmeticException}
      5.5 throw {@code ArithmeticException}
      2.5 throw {@code ArithmeticException}
      1.6 throw {@code ArithmeticException}
      1.1 throw {@code ArithmeticException}
      1.0 1
      -1.0 -1
      -1.1 throw {@code ArithmeticException}
      -1.6 throw {@code ArithmeticException}
      -2.5 throw {@code ArithmeticException}
      -5.5 throw {@code ArithmeticException}
      */ UNNECESSARY(BigDecimal.ROUND_UNNECESSARY); diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/net/Inet4Address.java --- a/jdk/src/java.base/share/classes/java/net/Inet4Address.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/net/Inet4Address.java Fri Apr 28 13:52:45 2017 -0700 @@ -36,7 +36,7 @@ * and RFC 2365: * Administratively Scoped IP Multicast * - *

      Textual representation of IP addresses

      + *

      Textual representation of IP addresses

      * * Textual representation of IPv4 address used as input to methods * takes one of the following forms: diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/net/Inet6Address.java --- a/jdk/src/java.base/share/classes/java/net/Inet6Address.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/net/Inet6Address.java Fri Apr 28 13:52:45 2017 -0700 @@ -38,13 +38,13 @@ * Defined by * RFC 2373: IP Version 6 Addressing Architecture. * - *

      Textual representation of IP addresses

      + *

      Textual representation of IP addresses

      * * Textual representation of IPv6 address used as input to methods * takes one of the following forms: * *
        - *
      1. The preferred form is x:x:x:x:x:x:x:x, + *

      2. The preferred form is x:x:x:x:x:x:x:x, * where the 'x's are * the hexadecimal values of the eight 16-bit pieces of the * address. This is the full form. For example, @@ -134,7 +134,7 @@ * address. * * - *

        Textual representation of IPv6 scoped addresses

        + *

        Textual representation of IPv6 scoped addresses

        * *

        The textual representation of IPv6 addresses as described above can be * extended to specify IPv6 scoped addresses. This extension to the basic diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/net/URI.java --- a/jdk/src/java.base/share/classes/java/net/URI.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/net/URI.java Fri Apr 28 13:52:45 2017 -0700 @@ -281,7 +281,7 @@ * limited to US-ASCII) * * - *

        The set of all legal URI characters consists of + *

        The set of all legal URI characters consists of * the unreserved, reserved, escaped, and other * characters. * @@ -308,20 +308,20 @@ * *

          * - *
        • A character is encoded by replacing it + *

        • A character is encoded by replacing it * with the sequence of escaped octets that represent that character in the * UTF-8 character set. The Euro currency symbol ({@code '\u005Cu20AC'}), * for example, is encoded as {@code "%E2%82%AC"}. (Deviation from * RFC 2396, which does not specify any particular character * set.)

        • * - *
        • An illegal character is quoted simply by + *

        • An illegal character is quoted simply by * encoding it. The space character, for example, is quoted by replacing it * with {@code "%20"}. UTF-8 contains US-ASCII, hence for US-ASCII * characters this transformation has exactly the effect required by * RFC 2396.

        • * - *
        • + *

        • * A sequence of escaped octets is decoded by * replacing it with the sequence of characters that it represents in the * UTF-8 character set. UTF-8 contains US-ASCII, hence decoding has the @@ -983,7 +983,7 @@ *

          If the given URI is already absolute, or if this URI is opaque, then * the given URI is returned. * - *

          If the given URI's fragment component is + *

          If the given URI's fragment component is * defined, its path component is empty, and its scheme, authority, and * query components are undefined, then a URI with the given fragment but * with all other components equal to those of this URI is returned. This diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/net/URLConnection.java --- a/jdk/src/java.base/share/classes/java/net/URLConnection.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/net/URLConnection.java Fri Apr 28 13:52:45 2017 -0700 @@ -54,7 +54,7 @@ * read from and to write to the resource referenced by the URL. In * general, creating a connection to a URL is a multistep process: * - *

          + *
          * * * *
          {@code openConnection()}{@code connect()}
          Manipulate parameters that affect the connection to the remote @@ -63,7 +63,7 @@ * contents.
          * ----------------------------> - *
          time
          + *
          time * *
            *
          1. The connection object is created by invoking the diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/nio/MappedByteBuffer.java --- a/jdk/src/java.base/share/classes/java/nio/MappedByteBuffer.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/nio/MappedByteBuffer.java Fri Apr 28 13:52:45 2017 -0700 @@ -45,7 +45,7 @@ * this program or another. Whether or not such changes occur, and when they * occur, is operating-system dependent and therefore unspecified. * - *

            All or part of a mapped byte buffer may become + *

            All or part of a mapped byte buffer may become * inaccessible at any time, for example if the mapped file is truncated. An * attempt to access an inaccessible region of a mapped byte buffer will not * change the buffer's content and will cause an unspecified exception to be diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/nio/X-Buffer.java.template --- a/jdk/src/java.base/share/classes/java/nio/X-Buffer.java.template Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/nio/X-Buffer.java.template Fri Apr 28 13:52:45 2017 -0700 @@ -93,7 +93,7 @@ * #if[byte] * - * + * *

            Direct vs. non-direct buffers

            * *

            A byte buffer is either direct or non-direct. Given a @@ -128,7 +128,7 @@ * that explicit buffer management can be done in performance-critical code. * * - * + * *

            Access to binary data

            * *

            This class defines methods for reading and writing values of all other @@ -155,7 +155,7 @@ * parameters of the absolute get and put methods are in terms of * bytes rather than of the type being read or written. * - * + * * *

            For access to homogeneous binary data, that is, sequences of values of * the same type, this class defines methods that can create views of a diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/nio/channels/AsynchronousChannelGroup.java --- a/jdk/src/java.base/share/classes/java/nio/channels/AsynchronousChannelGroup.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/nio/channels/AsynchronousChannelGroup.java Fri Apr 28 13:52:45 2017 -0700 @@ -88,7 +88,7 @@ * * * - *

            Threading

            + *

            Threading

            * *

            The completion handler for an I/O operation initiated on a channel bound * to a group is guaranteed to be invoked by one of the pooled threads in the @@ -103,7 +103,7 @@ * handler directly by the initiating thread (see {@link * AsynchronousServerSocketChannel#accept(Object,CompletionHandler) accept}). * - *

            Shutdown and Termination

            + *

            Shutdown and Termination

            * *

            The {@link #shutdown() shutdown} method is used to initiate an orderly * shutdown of a group. An orderly shutdown marks the group as shutdown; diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/nio/channels/FileChannel.java --- a/jdk/src/java.base/share/classes/java/nio/channels/FileChannel.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/nio/channels/FileChannel.java Fri Apr 28 13:52:45 2017 -0700 @@ -118,7 +118,7 @@ * versa. Changing the file's content by writing bytes will change the content * seen by the originating object, and vice versa. * - *

            At various points this class specifies that an + *

            At various points this class specifies that an * instance that is "open for reading," "open for writing," or "open for * reading and writing" is required. A channel obtained via the {@link * java.io.FileInputStream#getChannel getChannel} method of a {@link @@ -131,7 +131,7 @@ * was created with mode {@code "r"} and will be open for reading and writing * if the instance was created with mode {@code "rw"}. * - *

            A file channel that is open for writing may be in + *

            A file channel that is open for writing may be in * append mode, for example if it was obtained from a file-output stream * that was created by invoking the {@link * java.io.FileOutputStream#FileOutputStream(java.io.File,boolean) diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/nio/channels/FileLock.java --- a/jdk/src/java.base/share/classes/java/nio/channels/FileLock.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/nio/channels/FileLock.java Fri Apr 28 13:52:45 2017 -0700 @@ -73,7 +73,7 @@ *

            File-lock objects are safe for use by multiple concurrent threads. * * - *

            Platform dependencies

            + *

            Platform dependencies

            * *

            This file-locking API is intended to map directly to the native locking * facility of the underlying operating system. Thus the locks held on a file diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/nio/channels/SelectableChannel.java --- a/jdk/src/java.base/share/classes/java/nio/channels/SelectableChannel.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/nio/channels/SelectableChannel.java Fri Apr 28 13:52:45 2017 -0700 @@ -64,7 +64,7 @@ * threads.

            * * - * + * *

            Blocking mode

            * * A selectable channel is either in blocking mode or in diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/nio/channels/SelectionKey.java --- a/jdk/src/java.base/share/classes/java/nio/channels/SelectionKey.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/nio/channels/SelectionKey.java Fri Apr 28 13:52:45 2017 -0700 @@ -40,7 +40,7 @@ * next selection operation. The validity of a key may be tested by invoking * its {@link #isValid isValid} method. * - * + * * *

            A selection key contains two operation sets represented as * integer values. Each bit of an operation set denotes a category of diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/nio/channels/Selector.java --- a/jdk/src/java.base/share/classes/java/nio/channels/Selector.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/nio/channels/Selector.java Fri Apr 28 13:52:45 2017 -0700 @@ -42,7 +42,7 @@ * method of a custom selector provider. A selector remains open until it is * closed via its {@link #close close} method. * - * + * * *

            A selectable channel's registration with a selector is represented by a * {@link SelectionKey} object. A selector maintains three sets of selection @@ -80,7 +80,7 @@ * during the next selection operation, at which time the key will removed from * all of the selector's key sets. * - *

            Keys are added to the selected-key set by selection + *

            Keys are added to the selected-key set by selection * operations. A key may be removed directly from the selected-key set by * invoking the set's {@link java.util.Set#remove(java.lang.Object) remove} * method or by invoking the {@link java.util.Iterator#remove() remove} method @@ -90,7 +90,7 @@ * operations. Keys may not be added directly to the selected-key set.

            * * - * + * *

            Selection

            * *

            During each selection operation, keys may be added to and removed from a @@ -183,7 +183,7 @@ *

            The {@link #close close} method synchronizes on the selector and all * three key sets in the same order as in a selection operation. * - * + * * *

            A selector's key and selected-key sets are not, in general, safe for use * by multiple concurrent threads. If such a thread might modify one of these diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/nio/charset/Charset-X-Coder.java.template --- a/jdk/src/java.base/share/classes/java/nio/charset/Charset-X-Coder.java.template Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/nio/charset/Charset-X-Coder.java.template Fri Apr 28 13:52:45 2017 -0700 @@ -41,7 +41,7 @@ * An engine that can transform a sequence of $itypesPhrase$ into a sequence of * $otypesPhrase$. * - * + * * *

            The input $itype$ sequence is provided in a $itype$ buffer or a series * of such buffers. The output $otype$ sequence is written to a $otype$ buffer @@ -76,14 +76,14 @@ * examine this object and fill the input buffer, flush the output buffer, or * attempt to recover from $a$ $coding$ error, as appropriate, and try again. * - * + * * *

            There are two general types of $coding$ errors. If the input $itype$ * sequence is $notLegal$ then the input is considered malformed. If * the input $itype$ sequence is legal but cannot be mapped to a valid * $outSequence$ then an unmappable character has been encountered. * - * + * * *

            How $a$ $coding$ error is handled depends upon the action requested for * that type of error, which is described by an instance of the {@link diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/nio/charset/Charset.java --- a/jdk/src/java.base/share/classes/java/nio/charset/Charset.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/nio/charset/Charset.java Fri Apr 28 13:52:45 2017 -0700 @@ -67,7 +67,7 @@ * concurrent threads. * * - * + * *

            Charset names

            * *

            Charsets are named by strings composed of the following characters: @@ -113,14 +113,14 @@ * The aliases of a charset are returned by the {@link #aliases() aliases} * method. * - *

            Some charsets have an historical name that is defined for + *

            Some charsets have an historical name that is defined for * compatibility with previous versions of the Java platform. A charset's * historical name is either its canonical name or one of its aliases. The * historical name is returned by the {@code getEncoding()} methods of the * {@link java.io.InputStreamReader#getEncoding InputStreamReader} and {@link * java.io.OutputStreamWriter#getEncoding OutputStreamWriter} classes. * - *

            If a charset listed in the If a charset listed in the IANA Charset * Registry is supported by an implementation of the Java platform then * its canonical name must be the name listed in the registry. Many charsets @@ -142,27 +142,27 @@ * * * - *

            Every implementation of the Java platform is required to support the + *

            Every implementation of the Java platform is required to support the * following standard charsets. Consult the release documentation for your * implementation to see if any other charsets are supported. The behavior * of such optional charsets may differ between implementations. * - *

            - * - * + *
            CharsetDescription
            {@code US-ASCII}
            + * + * * - * + * * - * + * * - * + * * - * + * * - * + * * *
            CharsetDescription
            {@code US-ASCII}Seven-bit ASCII, a.k.a. {@code ISO646-US}, * a.k.a. the Basic Latin block of the Unicode character set
            ISO-8859-1  
            ISO-8859-1  ISO Latin Alphabet No. 1, a.k.a. {@code ISO-LATIN-1}
            {@code UTF-8}
            {@code UTF-8}Eight-bit UCS Transformation Format
            {@code UTF-16BE}
            {@code UTF-16BE}Sixteen-bit UCS Transformation Format, * big-endian byte order
            {@code UTF-16LE}
            {@code UTF-16LE}Sixteen-bit UCS Transformation Format, * little-endian byte order
            {@code UTF-16}
            {@code UTF-16}Sixteen-bit UCS Transformation Format, * byte order identified by an optional byte-order mark
            diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/nio/file/Path.java --- a/jdk/src/java.base/share/classes/java/nio/file/Path.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/nio/file/Path.java Fri Apr 28 13:52:45 2017 -0700 @@ -76,7 +76,7 @@ * BufferedReader reader = Files.newBufferedReader(path, StandardCharsets.UTF_8); * * - *

            Interoperability

            + *

            Interoperability

            *

            Paths associated with the default {@link * java.nio.file.spi.FileSystemProvider provider} are generally interoperable * with the {@link java.io.File java.io.File} class. Paths created by other diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/text/BreakIterator.java --- a/jdk/src/java.base/share/classes/java/text/BreakIterator.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/text/BreakIterator.java Fri Apr 28 13:52:45 2017 -0700 @@ -68,19 +68,19 @@ * (word, line, sentence, and so on). You must use a different iterator * for each unit boundary analysis you wish to perform. * - *

            + *

            * Line boundary analysis determines where a text string can be * broken when line-wrapping. The mechanism correctly handles * punctuation and hyphenated words. Actual line breaking needs * to also consider the available line width and is handled by * higher-level software. * - *

            + *

            * Sentence boundary analysis allows selection with correct interpretation * of periods within numbers and abbreviations, and trailing punctuation * marks such as quotation marks and parentheses. * - *

            + *

            * Word boundary analysis is used by search and replace functions, as * well as within text editing applications that allow the user to * select words with a double click. Word selection provides correct @@ -88,7 +88,7 @@ * words. Characters that are not part of a word, such as symbols * or punctuation marks, have word-breaks on both sides. * - *

            + *

            * Character boundary analysis allows users to interact with characters * as they expect to, for example, when moving the cursor through a text * string. Character boundary analysis provides correct navigation diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/text/ChoiceFormat.java --- a/jdk/src/java.base/share/classes/java/text/ChoiceFormat.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/text/ChoiceFormat.java Fri Apr 28 13:52:45 2017 -0700 @@ -151,7 +151,7 @@ * } * * - *

            Synchronization

            + *

            Synchronization

            * *

            * Choice formats are not synchronized. diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/text/DateFormat.java --- a/jdk/src/java.base/share/classes/java/text/DateFormat.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/text/DateFormat.java Fri Apr 28 13:52:45 2017 -0700 @@ -133,7 +133,7 @@ * on the screen. *

        * - *

        Synchronization

        + *

        Synchronization

        * *

        * Date formats are not synchronized. diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/text/DecimalFormat.java --- a/jdk/src/java.base/share/classes/java/text/DecimalFormat.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/text/DecimalFormat.java Fri Apr 28 13:52:45 2017 -0700 @@ -175,11 +175,11 @@ * * - * + * * + * * + * * + * * + * * + * *
        Symbol - * Location - * Localized? - * Meaning - *
        Symbol + * Location + * Localized? + * Meaning + *
        0 * Number * Yes @@ -189,7 +189,7 @@ * Number * Yes * Digit, zero shows as absent - *
        . * Number * Yes @@ -199,7 +199,7 @@ * Number * Yes * Minus sign - *
        , * Number * Yes @@ -210,7 +210,7 @@ * Yes * Separates mantissa and exponent in scientific notation. * Need not be quoted in prefix or suffix. - *
        ; * Subpattern boundary * Yes @@ -220,7 +220,7 @@ * Prefix or suffix * Yes * Multiply by 100 and show as percentage - *
        \u2030 * Prefix or suffix * Yes @@ -233,7 +233,7 @@ * doubled, replaced by international currency symbol. * If present in a pattern, the monetary decimal separator * is used instead of the decimal separator. - *
        ' * Prefix or suffix * No @@ -327,7 +327,7 @@ * and isParseIntegerOnly() are false. * * - *

        Synchronization

        + *

        Synchronization

        * *

        * Decimal formats are generally not synchronized. diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/text/Format.java --- a/jdk/src/java.base/share/classes/java/text/Format.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/text/Format.java Fri Apr 28 13:52:45 2017 -0700 @@ -115,7 +115,7 @@ * the field. For examples of these constants, see ERA_FIELD and its * friends in {@link DateFormat}. * - *

        Synchronization

        + *

        Synchronization

        * *

        * Formats are generally not synchronized. diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/text/MessageFormat.java --- a/jdk/src/java.base/share/classes/java/text/MessageFormat.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/text/MessageFormat.java Fri Apr 28 13:52:45 2017 -0700 @@ -68,7 +68,7 @@ * behavior is defined by the pattern that you provide as well as the * subformats used for inserted arguments. * - *

        Patterns and Their Interpretation

        + *

        Patterns and Their Interpretation

        * * MessageFormat uses patterns of the following form: *
        @@ -321,7 +321,7 @@
          * // result now equals {new String("z")}
          * 
        * - *

        Synchronization

        + *

        Synchronization

        * *

        * Message formats are not synchronized. diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/text/NumberFormat.java --- a/jdk/src/java.base/share/classes/java/text/NumberFormat.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/text/NumberFormat.java Fri Apr 28 13:52:45 2017 -0700 @@ -166,7 +166,7 @@ * numbers: "(12)" for -12. * * - *

        Synchronization

        + *

        Synchronization

        * *

        * Number formats are generally not synchronized. diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/text/SimpleDateFormat.java --- a/jdk/src/java.base/share/classes/java/text/SimpleDateFormat.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/text/SimpleDateFormat.java Fri Apr 28 13:52:45 2017 -0700 @@ -94,10 +94,10 @@ *

        * * - * *
        Letter - * Date or Time Component - * Presentation - * Examples + * Letter + * Date or Time Component + * Presentation + * Examples *
        G * Era designator @@ -218,18 +218,18 @@ * Pattern letters are usually repeated, as their number determines the * exact presentation: *
          - *
        • Text: + *
        • Text: * For formatting, if the number of pattern letters is 4 or more, * the full form is used; otherwise a short or abbreviated form * is used if available. * For parsing, both forms are accepted, independent of the number * of pattern letters.

        • - *
        • Number: + *
        • Number: * For formatting, the number of pattern letters is the minimum * number of digits, and shorter numbers are zero-padded to this amount. * For parsing, the number of pattern letters is ignored unless * it's needed to separate two adjacent fields.

        • - *
        • Year: + *
        • Year: * If the formatter's {@link #getCalendar() Calendar} is the Gregorian * calendar, the following rules are applied.
          *
            @@ -270,7 +270,7 @@ * DateFormat#getCalendar() getCalendar()}.{@link * java.util.Calendar#isWeekDateSupported() * isWeekDateSupported()}.

            - *
          • Month: + *
          • Month: * If the number of pattern letters is 3 or more, the month is * interpreted as text; otherwise, * it is interpreted as a number.
            @@ -291,12 +291,12 @@ *
          • Letter L produces the standalone form of month names.
          • *
          *
        • - *
        • General time zone: + *
        • General time zone: * Time zones are interpreted as text if they have * names. For time zones representing a GMT offset value, the * following syntax is used: *
          - *     GMTOffsetTimeZone:
          + *     GMTOffsetTimeZone:
            *             GMT Sign Hours : Minutes
            *     Sign: one of
            *             + -
          @@ -312,7 +312,7 @@
            *     from the Basic Latin block of the Unicode standard.
            *     

          For parsing, RFC 822 time zones are also * accepted.

        • - *
        • RFC 822 time zone: + *
        • RFC 822 time zone: * For formatting, the RFC 822 4-digit time zone format is used: * *
          @@ -325,7 +325,7 @@
            *
            *     

          For parsing, general time zones are also * accepted. - *

        • ISO 8601 Time zone: + *
        • ISO 8601 Time zone: * The number of pattern letters designates the format for both formatting * and parsing as follows: *
          @@ -372,8 +372,8 @@
            * 
          * * - * *
          Date and Time Pattern - * Result + * Date and Time Pattern + * Result *
          "yyyy.MM.dd G 'at' HH:mm:ss z" * 2001.07.04 AD at 12:08:56 PDT @@ -410,7 +410,7 @@ *
          *
          * - *

          Synchronization

          + *

          Synchronization

          * *

          * Date formats are not synchronized. diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/time/chrono/HijrahChronology.java --- a/jdk/src/java.base/share/classes/java/time/chrono/HijrahChronology.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/time/chrono/HijrahChronology.java Fri Apr 28 13:52:45 2017 -0700 @@ -106,10 +106,10 @@ * * * - * - * - * - * + * + * + * + * * * * @@ -150,9 +150,9 @@ *
          Chronology IDCalendar TypeLocale extension, see {@link java.util.Locale}DescriptionChronology IDCalendar TypeLocale extension, see {@link java.util.Locale}Description
          * * - * - * - * + * + * + * * * * diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/time/chrono/IsoEra.java --- a/jdk/src/java.base/share/classes/java/time/chrono/IsoEra.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/time/chrono/IsoEra.java Fri Apr 28 13:52:45 2017 -0700 @@ -73,9 +73,9 @@ *
          Property Name Property value Description Property Name Property value Description
          * * - * - * - * + * + * + * * * * diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/time/chrono/MinguoEra.java --- a/jdk/src/java.base/share/classes/java/time/chrono/MinguoEra.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/time/chrono/MinguoEra.java Fri Apr 28 13:52:45 2017 -0700 @@ -74,10 +74,10 @@ *
          year-of-eraeraproleptic-yearyear-of-eraeraproleptic-year
          * * - * - * - * - * + * + * + * + * * * * diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/time/chrono/ThaiBuddhistEra.java --- a/jdk/src/java.base/share/classes/java/time/chrono/ThaiBuddhistEra.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/time/chrono/ThaiBuddhistEra.java Fri Apr 28 13:52:45 2017 -0700 @@ -74,10 +74,10 @@ *
          year-of-eraeraproleptic-yearISO proleptic-yearyear-of-eraeraproleptic-yearISO proleptic-year
          * * - * - * - * - * + * + * + * + * * * * diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/time/format/DateTimeFormatter.java --- a/jdk/src/java.base/share/classes/java/time/format/DateTimeFormatter.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/time/format/DateTimeFormatter.java Fri Apr 28 13:52:45 2017 -0700 @@ -153,9 +153,9 @@ *
          year-of-eraeraproleptic-yearISO proleptic-yearyear-of-eraeraproleptic-yearISO proleptic-year
          * * - * - * - * + * + * + * * * * diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/util/Base64.java --- a/jdk/src/java.base/share/classes/java/util/Base64.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/util/Base64.java Fri Apr 28 13:52:45 2017 -0700 @@ -41,21 +41,21 @@ * RFC 2045. * *
            - *
          • Basic + *
          • Basic *

            Uses "The Base64 Alphabet" as specified in Table 1 of * RFC 4648 and RFC 2045 for encoding and decoding operation. * The encoder does not add any line feed (line separator) * character. The decoder rejects data that contains characters * outside the base64 alphabet.

          • * - *
          • URL and Filename safe + *
          • URL and Filename safe *

            Uses the "URL and Filename safe Base64 Alphabet" as specified * in Table 2 of RFC 4648 for encoding and decoding. The * encoder does not add any line feed (line separator) character. * The decoder rejects data that contains characters outside the * base64 alphabet.

          • * - *
          • MIME + *
          • MIME *

            Uses the "The Base64 Alphabet" as specified in Table 1 of * RFC 2045 for encoding and decoding operation. The encoded output * must be represented in lines of no more than 76 characters each diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/util/Calendar.java --- a/jdk/src/java.base/share/classes/java/util/Calendar.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/util/Calendar.java Fri Apr 28 13:52:45 2017 -0700 @@ -67,7 +67,7 @@ * DAY_OF_MONTH, HOUR, and so on, and for * manipulating the calendar fields, such as getting the date of the next * week. An instant in time can be represented by a millisecond value that is - * an offset from the Epoch, January 1, 1970 + * an offset from the Epoch, January 1, 1970 * 00:00:00.000 GMT (Gregorian). * *

            The class also provides additional fields and methods for @@ -124,7 +124,7 @@ * calculating its time or calendar field values if any out-of-range field * value has been set. * - *

            First Week

            + *

            First Week

            * * Calendar defines a locale-specific seven day week using two * parameters: the first day of the week and the minimal days in first week @@ -154,13 +154,13 @@ * calendar field values to determine the date and time in the * following way. * - *

            If there is any conflict in calendar field values, + *

            If there is any conflict in calendar field values, * Calendar gives priorities to calendar fields that have been set * more recently. The following are the default combinations of the * calendar fields. The most recent combination, as determined by the * most recently set single field, will be used. * - *

            For the date fields: + *

            For the date fields: *

            *
              * YEAR + MONTH + DAY_OF_MONTH
            @@ -170,7 +170,7 @@
              * YEAR + DAY_OF_WEEK + WEEK_OF_YEAR
              * 
            * - * For the time of day fields: + * For the time of day fields: *
            *
              * HOUR_OF_DAY
            diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/util/Collection.java
            --- a/jdk/src/java.base/share/classes/java/util/Collection.java	Thu Apr 27 14:07:38 2017 -0700
            +++ b/jdk/src/java.base/share/classes/java/util/Collection.java	Fri Apr 28 13:52:45 2017 -0700
            @@ -64,7 +64,7 @@
              * but is not required to, throw the exception if the collection to be added
              * is empty.
              *
            - * 

            + *

            * Some collection implementations have restrictions on the elements that * they may contain. For example, some implementations prohibit null elements, * and some have restrictions on the types of their elements. Attempting to diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/util/Deque.java --- a/jdk/src/java.base/share/classes/java/util/Deque.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/util/Deque.java Fri Apr 28 13:52:45 2017 -0700 @@ -60,15 +60,15 @@ *

          * * - * - * + * + * * * * - * - * - * - * + * + * + * + * * * * @@ -102,8 +102,8 @@ *
          FormatterDescriptionExampleFormatterDescriptionExample
          Summary of Deque methods
          First Element (Head) Last Element (Tail) First Element (Head) Last Element (Tail)
          Throws exceptionSpecial valueThrows exceptionSpecial valueThrows exceptionSpecial valueThrows exceptionSpecial value
          Insert
          * * - * - * + * + * * * * @@ -140,8 +140,8 @@ *
          Comparison of Queue and Deque methods
          {@code Queue} Method Equivalent {@code Deque} Method {@code Queue} Method Equivalent {@code Deque} Method
          {@link java.util.Queue#add add(e)}
          * * - * - * + * + * * * * diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/util/Formatter.java --- a/jdk/src/java.base/share/classes/java/util/Formatter.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/util/Formatter.java Fri Apr 28 13:52:45 2017 -0700 @@ -137,7 +137,7 @@ * // -> s == "Duke's Birthday: May 23, 1995" * * - *

          Organization

          + *

          Organization

          * *

          This specification is divided into two sections. The first section, Summary, covers the basic formatting concepts. This @@ -147,13 +147,13 @@ * details. It is intended for users who want more precise specification of * formatting behavior. * - *

          Summary

          + *

          Summary

          * *

          This section is intended to provide a brief overview of formatting * concepts. For precise behavioral details, refer to the Details section. * - *

          Format String Syntax

          + *

          Format String Syntax

          * *

          Every method which produces formatted output requires a format * string and an argument list. The format string is a {@link @@ -292,77 +292,77 @@ * *

          Comparison of Stack and Deque methods
          Stack Method Equivalent {@code Deque} Method Stack Method Equivalent {@code Deque} Method
          {@link #push push(e)}
          * - *
          Conversion - * Argument Category - * Description - * - *
          {@code 'b'}, {@code 'B'} - * general + *
          Conversion + * Argument Category + * Description + * + *
          {@code 'b'}, {@code 'B'} + * general * If the argument arg is {@code null}, then the result is * "{@code false}". If arg is a {@code boolean} or {@link * Boolean}, then the result is the string returned by {@link * String#valueOf(boolean) String.valueOf(arg)}. Otherwise, the result is * "true". * - *
          {@code 'h'}, {@code 'H'} - * general + *
          {@code 'h'}, {@code 'H'} + * general * The result is obtained by invoking * {@code Integer.toHexString(arg.hashCode())}. * - *
          {@code 's'}, {@code 'S'} - * general + *
          {@code 's'}, {@code 'S'} + * general * If arg implements {@link Formattable}, then * {@link Formattable#formatTo arg.formatTo} is invoked. Otherwise, the * result is obtained by invoking {@code arg.toString()}. * - *
          {@code 'c'}, {@code 'C'} - * character + *
          {@code 'c'}, {@code 'C'} + * character * The result is a Unicode character * - *
          {@code 'd'} - * integral + *
          {@code 'd'} + * integral * The result is formatted as a decimal integer * - *
          {@code 'o'} - * integral + *
          {@code 'o'} + * integral * The result is formatted as an octal integer * - *
          {@code 'x'}, {@code 'X'} - * integral + *
          {@code 'x'}, {@code 'X'} + * integral * The result is formatted as a hexadecimal integer * - *
          {@code 'e'}, {@code 'E'} - * floating point + *
          {@code 'e'}, {@code 'E'} + * floating point * The result is formatted as a decimal number in computerized * scientific notation * - *
          {@code 'f'} - * floating point + *
          {@code 'f'} + * floating point * The result is formatted as a decimal number * - *
          {@code 'g'}, {@code 'G'} - * floating point + *
          {@code 'g'}, {@code 'G'} + * floating point * The result is formatted using computerized scientific notation or * decimal format, depending on the precision and the value after rounding. * - *
          {@code 'a'}, {@code 'A'} - * floating point + *
          {@code 'a'}, {@code 'A'} + * floating point * The result is formatted as a hexadecimal floating-point number with * a significand and an exponent. This conversion is not supported * for the {@code BigDecimal} type despite the latter's being in the * floating point argument category. * - *
          {@code 't'}, {@code 'T'} - * date/time + *
          {@code 't'}, {@code 'T'} + * date/time * Prefix for date and time conversion characters. See Date/Time Conversions. * - *
          {@code '%'} - * percent + *
          {@code '%'} + * percent * The result is a literal {@code '%'} ('\u0025') * - *
          {@code 'n'} - * line separator + *
          {@code 'n'} + * line separator * The result is the platform-specific line separator * *
          @@ -370,7 +370,7 @@ *

          Any characters not explicitly defined as conversions are illegal and are * reserved for future extensions. * - *

          Date/Time Conversions

          + *

          Date/Time Conversions

          * *

          The following date and time conversion suffix characters are defined for * the {@code 't'} and {@code 'T'} conversions. The types are similar to but @@ -383,44 +383,44 @@ * * * - *
          {@code 'H'} + *
          {@code 'H'} * Hour of the day for the 24-hour clock, formatted as two digits with * a leading zero as necessary i.e. {@code 00 - 23}. * - *
          {@code 'I'} + *
          {@code 'I'} * Hour for the 12-hour clock, formatted as two digits with a leading * zero as necessary, i.e. {@code 01 - 12}. * - *
          {@code 'k'} + *
          {@code 'k'} * Hour of the day for the 24-hour clock, i.e. {@code 0 - 23}. * - *
          {@code 'l'} + *
          {@code 'l'} * Hour for the 12-hour clock, i.e. {@code 1 - 12}. * - *
          {@code 'M'} + *
          {@code 'M'} * Minute within the hour formatted as two digits with a leading zero * as necessary, i.e. {@code 00 - 59}. * - *
          {@code 'S'} + *
          {@code 'S'} * Seconds within the minute, formatted as two digits with a leading * zero as necessary, i.e. {@code 00 - 60} ("{@code 60}" is a special * value required to support leap seconds). * - *
          {@code 'L'} + *
          {@code 'L'} * Millisecond within the second formatted as three digits with * leading zeros as necessary, i.e. {@code 000 - 999}. * - *
          {@code 'N'} + *
          {@code 'N'} * Nanosecond within the second, formatted as nine digits with leading * zeros as necessary, i.e. {@code 000000000 - 999999999}. * - *
          {@code 'p'} + *
          {@code 'p'} * Locale-specific {@linkplain * java.text.DateFormatSymbols#getAmPmStrings morning or afternoon} marker * in lower case, e.g."{@code am}" or "{@code pm}". Use of the conversion * prefix {@code 'T'} forces this output to upper case. * - *
          {@code 'z'} + *
          {@code 'z'} * RFC 822 * style numeric time zone offset from GMT, e.g. {@code -0800}. This * value will be adjusted as necessary for Daylight Saving Time. For @@ -428,7 +428,7 @@ * the {@linkplain TimeZone#getDefault() default time zone} for this * instance of the Java virtual machine. * - *
          {@code 'Z'} + *
          {@code 'Z'} * A string representing the abbreviation for the time zone. This * value will be adjusted as necessary for Daylight Saving Time. For * {@code long}, {@link Long}, and {@link Date} the time zone used is @@ -436,12 +436,12 @@ * instance of the Java virtual machine. The Formatter's locale will * supersede the locale of the argument (if any). * - *
          {@code 's'} + *
          {@code 's'} * Seconds since the beginning of the epoch starting at 1 January 1970 * {@code 00:00:00} UTC, i.e. {@code Long.MIN_VALUE/1000} to * {@code Long.MAX_VALUE/1000}. * - *
          {@code 'Q'} + *
          {@code 'Q'} * Milliseconds since the beginning of the epoch starting at 1 January * 1970 {@code 00:00:00} UTC, i.e. {@code Long.MIN_VALUE} to * {@code Long.MAX_VALUE}. @@ -452,54 +452,54 @@ * * * - *
          {@code 'B'} + *
          {@code 'B'} * Locale-specific {@linkplain java.text.DateFormatSymbols#getMonths * full month name}, e.g. {@code "January"}, {@code "February"}. * - *
          {@code 'b'} + *
          {@code 'b'} * Locale-specific {@linkplain * java.text.DateFormatSymbols#getShortMonths abbreviated month name}, * e.g. {@code "Jan"}, {@code "Feb"}. * - *
          {@code 'h'} + *
          {@code 'h'} * Same as {@code 'b'}. * - *
          {@code 'A'} + *
          {@code 'A'} * Locale-specific full name of the {@linkplain * java.text.DateFormatSymbols#getWeekdays day of the week}, * e.g. {@code "Sunday"}, {@code "Monday"} * - *
          {@code 'a'} + *
          {@code 'a'} * Locale-specific short name of the {@linkplain * java.text.DateFormatSymbols#getShortWeekdays day of the week}, * e.g. {@code "Sun"}, {@code "Mon"} * - *
          {@code 'C'} + *
          {@code 'C'} * Four-digit year divided by {@code 100}, formatted as two digits * with leading zero as necessary, i.e. {@code 00 - 99} * - *
          {@code 'Y'} + *
          {@code 'Y'} * Year, formatted as at least four digits with leading zeros as * necessary, e.g. {@code 0092} equals {@code 92} CE for the Gregorian * calendar. * - *
          {@code 'y'} + *
          {@code 'y'} * Last two digits of the year, formatted with leading zeros as * necessary, i.e. {@code 00 - 99}. * - *
          {@code 'j'} + *
          {@code 'j'} * Day of year, formatted as three digits with leading zeros as * necessary, e.g. {@code 001 - 366} for the Gregorian calendar. * - *
          {@code 'm'} + *
          {@code 'm'} * Month, formatted as two digits with leading zeros as necessary, * i.e. {@code 01 - 13}. * - *
          {@code 'd'} + *
          {@code 'd'} * Day of month, formatted as two digits with leading zeros as * necessary, i.e. {@code 01 - 31} * - *
          {@code 'e'} + *
          {@code 'e'} * Day of month, formatted as two digits, i.e. {@code 1 - 31}. * *
          @@ -509,25 +509,25 @@ * * * - *
          {@code 'R'} + *
          {@code 'R'} * Time formatted for the 24-hour clock as {@code "%tH:%tM"} * - *
          {@code 'T'} + *
          {@code 'T'} * Time formatted for the 24-hour clock as {@code "%tH:%tM:%tS"}. * - *
          {@code 'r'} + *
          {@code 'r'} * Time formatted for the 12-hour clock as {@code "%tI:%tM:%tS %Tp"}. * The location of the morning or afternoon marker ({@code '%Tp'}) may be * locale-dependent. * - *
          {@code 'D'} + *
          {@code 'D'} * Date formatted as {@code "%tm/%td/%ty"}. * - *
          {@code 'F'} + *
          {@code 'F'} * ISO 8601 * complete date formatted as {@code "%tY-%tm-%td"}. * - *
          {@code 'c'} + *
          {@code 'c'} * Date and time formatted as {@code "%ta %tb %td %tT %tZ %tY"}, * e.g. {@code "Sun Jul 20 16:17:00 EDT 1969"}. * @@ -543,60 +543,60 @@ * * * - *
          Flag General - * Character Integral - * Floating Point - * Date/Time - * Description - * - *
          '-' y - * y - * y - * y - * y + *
          Flag General + * Character Integral + * Floating Point + * Date/Time + * Description + * + *
          '-' y + * y + * y + * y + * y * The result will be left-justified. * - *
          '#' y1 - * - - * y3 - * y - * - + *
          '#' y1 + * - + * y3 + * y + * - * The result should use a conversion-dependent alternate form * - *
          '+' - - * - - * y4 - * y - * - + *
          '+' - + * - + * y4 + * y + * - * The result will always include a sign * - *
          '  ' - - * - - * y4 - * y - * - + *
          '  ' - + * - + * y4 + * y + * - * The result will include a leading space for positive values * - *
          '0' - - * - - * y - * y - * - + *
          '0' - + * - + * y + * y + * - * The result will be zero-padded * - *
          ',' - - * - - * y2 - * y5 - * - + *
          ',' - + * - + * y2 + * y5 + * - * The result will include locale-specific {@linkplain * java.text.DecimalFormatSymbols#getGroupingSeparator grouping separators} * - *
          '(' - - * - - * y4 - * y5 - * - + *
          '(' - + * - + * y4 + * y5 + * - * The result will enclose negative numbers in parentheses * *
          @@ -659,7 +659,7 @@ * * *
          - *

          Details

          + *

          Details

          * *

          This section is intended to provide behavioral details for formatting, * including conditions and exceptions, supported data types, localization, and @@ -701,14 +701,14 @@ *

            *    out.toUpperCase(Locale.getDefault(Locale.Category.FORMAT)) 
          * - *

          General

          + *

          General

          * *

          The following general conversions may be applied to any argument type: * * * - *
          {@code 'b'} - * '\u0062' + *
          {@code 'b'} + * '\u0062' * Produces either "{@code true}" or "{@code false}" as returned by * {@link Boolean#toString(boolean)}. * @@ -721,12 +721,12 @@ *

          If the {@code '#'} flag is given, then a {@link * FormatFlagsConversionMismatchException} will be thrown. * - *

          {@code 'B'} - * '\u0042' + *
          {@code 'B'} + * '\u0042' * The upper-case variant of {@code 'b'}. * - *
          {@code 'h'} - * '\u0068' + *
          {@code 'h'} + * '\u0068' * Produces a string representing the hash code value of the object. * *

          The result is obtained by invoking @@ -735,12 +735,12 @@ *

          If the {@code '#'} flag is given, then a {@link * FormatFlagsConversionMismatchException} will be thrown. * - *

          {@code 'H'} - * '\u0048' + *
          {@code 'H'} + * '\u0048' * The upper-case variant of {@code 'h'}. * - *
          {@code 's'} - * '\u0073' + *
          {@code 's'} + * '\u0073' * Produces a string. * *

          If the argument implements {@link Formattable}, then @@ -752,32 +752,32 @@ * Formattable} , then a {@link FormatFlagsConversionMismatchException} * will be thrown. * - *

          {@code 'S'} - * '\u0053' + *
          {@code 'S'} + * '\u0053' * The upper-case variant of {@code 's'}. * *
          * - *

          The following flags apply to general conversions: + *

          The following flags apply to general conversions: * * * - *
          {@code '-'} - * '\u002d' + *
          {@code '-'} + * '\u002d' * Left justifies the output. Spaces ('\u0020') will be * added at the end of the converted value as required to fill the minimum * width of the field. If the width is not provided, then a {@link * MissingFormatWidthException} will be thrown. If this flag is not given * then the output will be right-justified. * - *
          {@code '#'} - * '\u0023' + *
          {@code '#'} + * '\u0023' * Requires the output use an alternate form. The definition of the * form is specified by the conversion. * *
          * - *

          The width is the minimum number of characters to + *

          The width is the minimum number of characters to * be written to the * output. If the length of the converted value is less than the width then * the output will be padded by '  ' ('\u0020') @@ -792,7 +792,7 @@ * the precision. If the precision is not specified then there is no explicit * limit on the number of characters. * - *

          Character

          + *

          Character

          * * This conversion may be applied to {@code char} and {@link Character}. It * may also be applied to the types {@code byte}, {@link Byte}, @@ -803,8 +803,8 @@ * * * - *
          {@code 'c'} - * '\u0063' + *
          {@code 'c'} + * '\u0063' * Formats the argument as a Unicode character as described in Unicode Character * Representation. This may be more than one 16-bit {@code char} in @@ -813,8 +813,8 @@ *

          If the {@code '#'} flag is given, then a {@link * FormatFlagsConversionMismatchException} will be thrown. * - *

          {@code 'C'} - * '\u0043' + *
          {@code 'C'} + * '\u0043' * The upper-case variant of {@code 'c'}. * *
          @@ -828,7 +828,7 @@ *

          The precision is not applicable. If the precision is specified then an * {@link IllegalFormatPrecisionException} will be thrown. * - *

          Numeric

          + *

          Numeric

          * *

          Numeric conversions are divided into the following categories: * @@ -846,7 +846,7 @@ * *

          Numeric types will be formatted according to the following algorithm: * - *

          Number Localization Algorithm + *

          Number Localization Algorithm * *

          After digits are obtained for the integer part, fractional part, and * exponent (as appropriate for the data type), the following transformation @@ -865,7 +865,7 @@ * substituted. * *

        • If the {@code ','} ('\u002c') - * flag is given, then the locale-specific {@linkplain + * flag is given, then the locale-specific {@linkplain * java.text.DecimalFormatSymbols#getGroupingSeparator grouping separator} is * inserted by scanning the integer part of the string from least significant * to most significant digits and inserting a separator at intervals defined by @@ -896,7 +896,7 @@ * then the output will be "(Infinity)" if the {@code '('} flag is given * otherwise the output will be "-Infinity". These values are not localized. * - *

          Byte, Short, Integer, and Long + *

          Byte, Short, Integer, and Long * *

          The following conversions may be applied to {@code byte}, {@link Byte}, * {@code short}, {@link Short}, {@code int} and {@link Integer}, @@ -904,8 +904,8 @@ * * * - *
          {@code 'd'} - * '\u0064' + *
          {@code 'd'} + * '\u0064' * Formats the argument as a decimal integer. The localization algorithm is applied. * @@ -915,8 +915,8 @@ *

          If the {@code '#'} flag is given then a {@link * FormatFlagsConversionMismatchException} will be thrown. * - *

          {@code 'o'} - * '\u006f' + *
          {@code 'o'} + * '\u006f' * Formats the argument as an integer in base eight. No localization * is applied. * @@ -937,8 +937,8 @@ * are given then a {@link FormatFlagsConversionMismatchException} will be * thrown. * - *
          {@code 'x'} - * '\u0078' + *
          {@code 'x'} + * '\u0078' * Formats the argument as an integer in base sixteen. No * localization is applied. * @@ -960,8 +960,8 @@ * {@code ','} flags are given then a {@link * FormatFlagsConversionMismatchException} will be thrown. * - *
          {@code 'X'} - * '\u0058' + *
          {@code 'X'} + * '\u0058' * The upper-case variant of {@code 'x'}. The entire string * representing the number will be converted to {@linkplain * String#toUpperCase upper case} including the {@code 'x'} (if any) and @@ -979,13 +979,13 @@ *

          If the {@code '-'} flag is not given, then the space padding will occur * before the sign. * - *

          The following flags apply to numeric integral + *

          The following flags apply to numeric integral * conversions: * * * - *
          {@code '+'} - * '\u002b' + *
          {@code '+'} + * '\u002b' * Requires the output to include a positive sign for all positive * numbers. If this flag is not given then only negative values will * include a sign. @@ -993,16 +993,16 @@ *

          If both the {@code '+'} and '  ' flags are given * then an {@link IllegalFormatFlagsException} will be thrown. * - *

          '  ' - * '\u0020' + *
          '  ' + * '\u0020' * Requires the output to include a single extra space * ('\u0020') for non-negative values. * *

          If both the {@code '+'} and '  ' flags are given * then an {@link IllegalFormatFlagsException} will be thrown. * - *

          {@code '0'} - * '\u0030' + *
          {@code '0'} + * '\u0030' * Requires the output to be padded with leading {@linkplain * java.text.DecimalFormatSymbols#getZeroDigit zeros} to the minimum field * width following any sign or radix indicator except when converting NaN @@ -1012,22 +1012,22 @@ *

          If both the {@code '-'} and {@code '0'} flags are given then an * {@link IllegalFormatFlagsException} will be thrown. * - *

          {@code ','} - * '\u002c' + *
          {@code ','} + * '\u002c' * Requires the output to include the locale-specific {@linkplain * java.text.DecimalFormatSymbols#getGroupingSeparator group separators} as * described in the "group" section of the * localization algorithm. * - *
          {@code '('} - * '\u0028' + *
          {@code '('} + * '\u0028' * Requires the output to prepend a {@code '('} * ('\u0028') and append a {@code ')'} * ('\u0029') to negative values. * *
          * - *

          If no flags are given the default formatting is + *

          If no flags are given the default formatting is * as follows: * *

            @@ -1043,7 +1043,7 @@ * *
          * - *

          The width is the minimum number of characters to + *

          The width is the minimum number of characters to * be written to the output. This includes any signs, digits, grouping * separators, radix indicator, and parentheses. If the length of the * converted value is less than the width then the output will be padded by @@ -1055,23 +1055,23 @@ *

          The precision is not applicable. If precision is specified then an * {@link IllegalFormatPrecisionException} will be thrown. * - *

          BigInteger + *

          BigInteger * *

          The following conversions may be applied to {@link * java.math.BigInteger}. * * * - *
          {@code 'd'} - * '\u0064' + *
          {@code 'd'} + * '\u0064' * Requires the output to be formatted as a decimal integer. The localization algorithm is applied. * *

          If the {@code '#'} flag is given {@link * FormatFlagsConversionMismatchException} will be thrown. * - *

          {@code 'o'} - * '\u006f' + *
          {@code 'o'} + * '\u006f' * Requires the output to be formatted as an integer in base eight. * No localization is applied. * @@ -1093,8 +1093,8 @@ *

          If the {@code ','} flag is given then a {@link * FormatFlagsConversionMismatchException} will be thrown. * - *

          {@code 'x'} - * '\u0078' + *
          {@code 'x'} + * '\u0078' * Requires the output to be formatted as an integer in base * sixteen. No localization is applied. * @@ -1117,8 +1117,8 @@ *

          If the {@code ','} flag is given then a {@link * FormatFlagsConversionMismatchException} will be thrown. * - *

          {@code 'X'} - * '\u0058' + *
          {@code 'X'} + * '\u0058' * The upper-case variant of {@code 'x'}. The entire string * representing the number will be converted to {@linkplain * String#toUpperCase upper case} including the {@code 'x'} (if any) and @@ -1149,17 +1149,17 @@ *

          The precision is not applicable. If precision is specified then an * {@link IllegalFormatPrecisionException} will be thrown. * - *

          Float and Double + *

          Float and Double * *

          The following conversions may be applied to {@code float}, {@link * Float}, {@code double} and {@link Double}. * * * - *
          {@code 'e'} - * '\u0065' + *
          {@code 'e'} + * '\u0065' * Requires the output to be formatted using computerized scientific notation. The computerized scientific notation. The localization algorithm is applied. * *

          The formatting of the magnitude m depends upon its value. @@ -1204,13 +1204,13 @@ *

          If the {@code ','} flag is given, then an {@link * FormatFlagsConversionMismatchException} will be thrown. * - *

          {@code 'E'} - * '\u0045' + *
          {@code 'E'} + * '\u0045' * The upper-case variant of {@code 'e'}. The exponent symbol * will be {@code 'E'} ('\u0045'). * - *
          {@code 'g'} - * '\u0067' + *
          {@code 'g'} + * '\u0067' * Requires the output to be formatted in general scientific notation * as described below. The localization * algorithm is applied. @@ -1234,13 +1234,13 @@ *

          If the {@code '#'} flag is given then an {@link * FormatFlagsConversionMismatchException} will be thrown. * - *

          {@code 'G'} - * '\u0047' + *
          {@code 'G'} + * '\u0047' * The upper-case variant of {@code 'g'}. * - *
          {@code 'f'} - * '\u0066' - * Requires the output to be formatted using decimal + *
          {@code 'f'} + * '\u0066' + * Requires the output to be formatted using decimal * format. The localization algorithm is * applied. * @@ -1270,8 +1270,8 @@ * Float#toString(float)} or {@link Double#toString(double)} as * appropriate. * - *
          {@code 'a'} - * '\u0061' + *
          {@code 'a'} + * '\u0061' * Requires the output to be formatted in hexadecimal exponential * form. No localization is applied. * @@ -1323,8 +1323,8 @@ *

          If the {@code '('} or {@code ','} flags are given, then a {@link * FormatFlagsConversionMismatchException} will be thrown. * - *

          {@code 'A'} - * '\u0041' + *
          {@code 'A'} + * '\u0041' * The upper-case variant of {@code 'a'}. The entire string * representing the number will be converted to upper case including the * {@code 'x'} ('\u0078') and {@code 'p'} @@ -1339,7 +1339,7 @@ *

          If the {@code '#'} flag is given, then the decimal separator will * always be present. * - *

          If no flags are given the default formatting + *

          If no flags are given the default formatting * is as follows: * *

            @@ -1357,7 +1357,7 @@ * *
          * - *

          The width is the minimum number of characters + *

          The width is the minimum number of characters * to be written to the output. This includes any signs, digits, grouping * separators, decimal separators, exponential symbol, radix indicator, * parentheses, and strings representing infinity and NaN as applicable. If @@ -1367,7 +1367,7 @@ * {@code '-'} flag is given then the padding will be on the right. If width * is not specified then there is no minimum. * - *

          If the conversion is {@code 'e'}, + *

          If the conversion is {@code 'e'}, * {@code 'E'} or {@code 'f'}, then the precision is the number of digits * after the decimal separator. If the precision is not specified, then it is * assumed to be {@code 6}. @@ -1383,17 +1383,17 @@ * precision is not provided, then all of the digits as returned by {@link * Double#toHexString(double)} will be output. * - *

          BigDecimal + *

          BigDecimal * *

          The following conversions may be applied {@link java.math.BigDecimal * BigDecimal}. * * * - *
          {@code 'e'} - * '\u0065' + *
          {@code 'e'} + * '\u0065' * Requires the output to be formatted using computerized scientific notation. The computerized scientific notation. The localization algorithm is applied. * *

          The formatting of the magnitude m depends upon its value. @@ -1432,13 +1432,13 @@ *

          If the {@code ','} flag is given, then an {@link * FormatFlagsConversionMismatchException} will be thrown. * - *

          {@code 'E'} - * '\u0045' + *
          {@code 'E'} + * '\u0045' * The upper-case variant of {@code 'e'}. The exponent symbol * will be {@code 'E'} ('\u0045'). * - *
          {@code 'g'} - * '\u0067' + *
          {@code 'g'} + * '\u0067' * Requires the output to be formatted in general scientific notation * as described below. The localization * algorithm is applied. @@ -1462,13 +1462,13 @@ *

          If the {@code '#'} flag is given then an {@link * FormatFlagsConversionMismatchException} will be thrown. * - *

          {@code 'G'} - * '\u0047' + *
          {@code 'G'} + * '\u0047' * The upper-case variant of {@code 'g'}. * - *
          {@code 'f'} - * '\u0066' - * Requires the output to be formatted using decimal + *
          {@code 'f'} + * '\u0066' + * Requires the output to be formatted using decimal * format. The localization algorithm is * applied. * @@ -1507,18 +1507,18 @@ * href="#floatDPrec">precision is the same as defined for Float and * Double. * - *

          Date/Time

          + *

          Date/Time

          * *

          This conversion may be applied to {@code long}, {@link Long}, {@link * Calendar}, {@link Date} and {@link TemporalAccessor TemporalAccessor} * * * - *
          {@code 't'} - * '\u0074' + *
          {@code 't'} + * '\u0074' * Prefix for date and time conversion characters. - *
          {@code 'T'} - * '\u0054' + *
          {@code 'T'} + * '\u0054' * The upper-case variant of {@code 't'}. * *
          @@ -1534,53 +1534,53 @@ * * * - *
          {@code 'H'} - * '\u0048' + *
          {@code 'H'} + * '\u0048' * Hour of the day for the 24-hour clock, formatted as two digits with * a leading zero as necessary i.e. {@code 00 - 23}. {@code 00} * corresponds to midnight. * - *
          {@code 'I'} - * '\u0049' + *
          {@code 'I'} + * '\u0049' * Hour for the 12-hour clock, formatted as two digits with a leading * zero as necessary, i.e. {@code 01 - 12}. {@code 01} corresponds to * one o'clock (either morning or afternoon). * - *
          {@code 'k'} - * '\u006b' + *
          {@code 'k'} + * '\u006b' * Hour of the day for the 24-hour clock, i.e. {@code 0 - 23}. * {@code 0} corresponds to midnight. * - *
          {@code 'l'} - * '\u006c' + *
          {@code 'l'} + * '\u006c' * Hour for the 12-hour clock, i.e. {@code 1 - 12}. {@code 1} * corresponds to one o'clock (either morning or afternoon). * - *
          {@code 'M'} - * '\u004d' + *
          {@code 'M'} + * '\u004d' * Minute within the hour formatted as two digits with a leading zero * as necessary, i.e. {@code 00 - 59}. * - *
          {@code 'S'} - * '\u0053' + *
          {@code 'S'} + * '\u0053' * Seconds within the minute, formatted as two digits with a leading * zero as necessary, i.e. {@code 00 - 60} ("{@code 60}" is a special * value required to support leap seconds). * - *
          {@code 'L'} - * '\u004c' + *
          {@code 'L'} + * '\u004c' * Millisecond within the second formatted as three digits with * leading zeros as necessary, i.e. {@code 000 - 999}. * - *
          {@code 'N'} - * '\u004e' + *
          {@code 'N'} + * '\u004e' * Nanosecond within the second, formatted as nine digits with leading * zeros as necessary, i.e. {@code 000000000 - 999999999}. The precision * of this value is limited by the resolution of the underlying operating * system or hardware. * - *
          {@code 'p'} - * '\u0070' + *
          {@code 'p'} + * '\u0070' * Locale-specific {@linkplain * java.text.DateFormatSymbols#getAmPmStrings morning or afternoon} marker * in lower case, e.g."{@code am}" or "{@code pm}". Use of the @@ -1589,8 +1589,8 @@ * GNU {@code date} and POSIX {@code strftime(3c)} which produce * upper-case output.) * - *
          {@code 'z'} - * '\u007a' + *
          {@code 'z'} + * '\u007a' * RFC 822 * style numeric time zone offset from GMT, e.g. {@code -0800}. This * value will be adjusted as necessary for Daylight Saving Time. For @@ -1598,8 +1598,8 @@ * the {@linkplain TimeZone#getDefault() default time zone} for this * instance of the Java virtual machine. * - *
          {@code 'Z'} - * '\u005a' + *
          {@code 'Z'} + * '\u005a' * A string representing the abbreviation for the time zone. This * value will be adjusted as necessary for Daylight Saving Time. For * {@code long}, {@link Long}, and {@link Date} the time zone used is @@ -1607,14 +1607,14 @@ * instance of the Java virtual machine. The Formatter's locale will * supersede the locale of the argument (if any). * - *
          {@code 's'} - * '\u0073' + *
          {@code 's'} + * '\u0073' * Seconds since the beginning of the epoch starting at 1 January 1970 * {@code 00:00:00} UTC, i.e. {@code Long.MIN_VALUE/1000} to * {@code Long.MAX_VALUE/1000}. * - *
          {@code 'Q'} - * '\u004f' + *
          {@code 'Q'} + * '\u004f' * Milliseconds since the beginning of the epoch starting at 1 January * 1970 {@code 00:00:00} UTC, i.e. {@code Long.MIN_VALUE} to * {@code Long.MAX_VALUE}. The precision of this value is limited by @@ -1626,69 +1626,69 @@ * * * - *
          {@code 'B'} - * '\u0042' + *
          {@code 'B'} + * '\u0042' * Locale-specific {@linkplain java.text.DateFormatSymbols#getMonths * full month name}, e.g. {@code "January"}, {@code "February"}. * - *
          {@code 'b'} - * '\u0062' + *
          {@code 'b'} + * '\u0062' * Locale-specific {@linkplain * java.text.DateFormatSymbols#getShortMonths abbreviated month name}, * e.g. {@code "Jan"}, {@code "Feb"}. * - *
          {@code 'h'} - * '\u0068' + *
          {@code 'h'} + * '\u0068' * Same as {@code 'b'}. * - *
          {@code 'A'} - * '\u0041' + *
          {@code 'A'} + * '\u0041' * Locale-specific full name of the {@linkplain * java.text.DateFormatSymbols#getWeekdays day of the week}, * e.g. {@code "Sunday"}, {@code "Monday"} * - *
          {@code 'a'} - * '\u0061' + *
          {@code 'a'} + * '\u0061' * Locale-specific short name of the {@linkplain * java.text.DateFormatSymbols#getShortWeekdays day of the week}, * e.g. {@code "Sun"}, {@code "Mon"} * - *
          {@code 'C'} - * '\u0043' + *
          {@code 'C'} + * '\u0043' * Four-digit year divided by {@code 100}, formatted as two digits * with leading zero as necessary, i.e. {@code 00 - 99} * - *
          {@code 'Y'} - * '\u0059' Year, formatted to at least + *
          {@code 'Y'} + * '\u0059' Year, formatted to at least * four digits with leading zeros as necessary, e.g. {@code 0092} equals * {@code 92} CE for the Gregorian calendar. * - *
          {@code 'y'} - * '\u0079' + *
          {@code 'y'} + * '\u0079' * Last two digits of the year, formatted with leading zeros as * necessary, i.e. {@code 00 - 99}. * - *
          {@code 'j'} - * '\u006a' + *
          {@code 'j'} + * '\u006a' * Day of year, formatted as three digits with leading zeros as * necessary, e.g. {@code 001 - 366} for the Gregorian calendar. * {@code 001} corresponds to the first day of the year. * - *
          {@code 'm'} - * '\u006d' + *
          {@code 'm'} + * '\u006d' * Month, formatted as two digits with leading zeros as necessary, * i.e. {@code 01 - 13}, where "{@code 01}" is the first month of the * year and ("{@code 13}" is a special value required to support lunar * calendars). * - *
          {@code 'd'} - * '\u0064' + *
          {@code 'd'} + * '\u0064' * Day of month, formatted as two digits with leading zeros as * necessary, i.e. {@code 01 - 31}, where "{@code 01}" is the first day * of the month. * - *
          {@code 'e'} - * '\u0065' + *
          {@code 'e'} + * '\u0065' * Day of month, formatted as two digits, i.e. {@code 1 - 31} where * "{@code 1}" is the first day of the month. * @@ -1699,31 +1699,31 @@ * * * - *
          {@code 'R'} - * '\u0052' + *
          {@code 'R'} + * '\u0052' * Time formatted for the 24-hour clock as {@code "%tH:%tM"} * - *
          {@code 'T'} - * '\u0054' + *
          {@code 'T'} + * '\u0054' * Time formatted for the 24-hour clock as {@code "%tH:%tM:%tS"}. * - *
          {@code 'r'} - * '\u0072' + *
          {@code 'r'} + * '\u0072' * Time formatted for the 12-hour clock as {@code "%tI:%tM:%tS * %Tp"}. The location of the morning or afternoon marker * ({@code '%Tp'}) may be locale-dependent. * - *
          {@code 'D'} - * '\u0044' + *
          {@code 'D'} + * '\u0044' * Date formatted as {@code "%tm/%td/%ty"}. * - *
          {@code 'F'} - * '\u0046' + *
          {@code 'F'} + * '\u0046' * ISO 8601 * complete date formatted as {@code "%tY-%tm-%td"}. * - *
          {@code 'c'} - * '\u0063' + *
          {@code 'c'} + * '\u0063' * Date and time formatted as {@code "%ta %tb %td %tT %tZ %tY"}, * e.g. {@code "Sun Jul 20 16:17:00 EDT 1969"}. * @@ -1744,13 +1744,13 @@ *

          The precision is not applicable. If the precision is specified then an * {@link IllegalFormatPrecisionException} will be thrown. * - *

          Percent

          + *

          Percent

          * *

          The conversion does not correspond to any argument. * * * - *
          {@code '%'} + *
          {@code '%'} * The result is a literal {@code '%'} ('\u0025') * *

          The width is the minimum number of characters to @@ -1769,13 +1769,13 @@ * *

          * - *

          Line Separator

          + *

          Line Separator

          * *

          The conversion does not correspond to any argument. * * * - *
          {@code 'n'} + *
          {@code 'n'} * the platform-specific line separator as returned by {@link * System#lineSeparator()}. * @@ -1785,7 +1785,7 @@ * {@link IllegalFormatFlagsException}, {@link IllegalFormatWidthException}, * and {@link IllegalFormatPrecisionException}, respectively will be thrown. * - *

          Argument Index

          + *

          Argument Index

          * *

          Format specifiers can reference arguments in three ways: * diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/util/GregorianCalendar.java --- a/jdk/src/java.base/share/classes/java/util/GregorianCalendar.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/util/GregorianCalendar.java Fri Apr 28 13:52:45 2017 -0700 @@ -91,7 +91,7 @@ * adjustment may be made if desired for dates that are prior to the Gregorian * changeover and which fall between January 1 and March 24. * - *

          Week Of Year and Week Year

          + *

          Week Of Year and Week Year

          * *

          Values calculated for the {@link Calendar#WEEK_OF_YEAR * WEEK_OF_YEAR} field range from 1 to 53. The first week of a @@ -108,7 +108,7 @@ *

          The {@code getFirstDayOfWeek()} and {@code * getMinimalDaysInFirstWeek()} values are initialized using * locale-dependent resources when constructing a {@code - * GregorianCalendar}. The week + * GregorianCalendar}. The week * determination is compatible with the ISO 8601 standard when {@code * getFirstDayOfWeek()} is {@code MONDAY} and {@code * getMinimalDaysInFirstWeek()} is 4, which values are used in locales @@ -117,7 +117,7 @@ * {@link Calendar#setMinimalDaysInFirstWeek(int) * setMinimalDaysInFirstWeek()}. * - *

          A week year is in sync with a + *

          A week year is in sync with a * {@code WEEK_OF_YEAR} cycle. All weeks between the first and last * weeks (inclusive) have the same week year value. * Therefore, the first and last days of a week year may have diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/util/List.java --- a/jdk/src/java.base/share/classes/java/util/List.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/util/List.java Fri Apr 28 13:52:45 2017 -0700 @@ -87,7 +87,7 @@ * Such exceptions are marked as "optional" in the specification for this * interface. * - *

          Immutable List Static Factory Methods

          + *

          Immutable List Static Factory Methods

          *

          The {@link List#of(Object...) List.of()} static factory methods * provide a convenient way to create immutable lists. The {@code List} * instances created by these methods have the following characteristics: diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/util/ListResourceBundle.java --- a/jdk/src/java.base/share/classes/java/util/ListResourceBundle.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/util/ListResourceBundle.java Fri Apr 28 13:52:45 2017 -0700 @@ -56,7 +56,7 @@ * that key. * *

          - * The following example shows two members of a resource + * The following example shows two members of a resource * bundle family with the base name "MyResources". * "MyResources" is the default member of the bundle family, and * "MyResources_fr" is the French member. diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/util/Locale.java --- a/jdk/src/java.base/share/classes/java/util/Locale.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/util/Locale.java Fri Apr 28 13:52:45 2017 -0700 @@ -83,7 +83,7 @@ * described below. * *

          - *
          language
          + *
          language
          * *
          ISO 639 alpha-2 or alpha-3 language code, or registered * language subtags up to 8 alpha letters (for future enhancements). @@ -101,7 +101,7 @@ * *
          Example: "en" (English), "ja" (Japanese), "kok" (Konkani)
          * - *
          script
          + *
          script
          * *
          ISO 15924 alpha-4 script code. You can find a full list of * valid script codes in the IANA Language Subtag Registry (search @@ -115,7 +115,7 @@ * *
          Example: "Latn" (Latin), "Cyrl" (Cyrillic)
          * - *
          country (region)
          + *
          country (region)
          * *
          ISO 3166 alpha-2 country code or UN M.49 numeric-3 area code. * You can find a full list of valid country and region codes in the @@ -129,7 +129,7 @@ *
          Example: "US" (United States), "FR" (France), "029" * (Caribbean)
          * - *
          variant
          + *
          variant
          * *
          Any arbitrary value used to indicate a variation of a * Locale. Where there are two or more variant values @@ -160,7 +160,7 @@ * *
          Example: "polyton" (Polytonic Greek), "POSIX"
          * - *
          extensions
          + *
          extensions
          * *
          A map from single character keys to string values, indicating * extensions apart from language identification. The extensions in @@ -188,7 +188,7 @@ * requirement (is well-formed), but does not validate the value * itself. See {@link Builder} for details. * - *

          Unicode locale/language extension

          + *

          Unicode locale/language extension

          * *

          UTS#35, "Unicode Locale Data Markup Language" defines optional * attributes and keywords to override or refine the default behavior @@ -269,7 +269,7 @@ * * * - *

          Locale Matching

          + *

          Locale Matching

          * *

          If an application or a system is internationalized and provides localized * resources for multiple locales, it sometimes needs to find one or more @@ -408,7 +408,7 @@ * Clients desiring a string representation of the complete locale can * then always rely on toLanguageTag for this purpose. * - *

          Special cases
          + *
          Special cases
          * *

          For compatibility reasons, two * non-conforming locales are treated as special cases. These are @@ -1588,7 +1588,7 @@ *

          Grandfathered tags with canonical replacements are as follows: * * - * + * * * * @@ -1617,7 +1617,7 @@ * converted as follows: * *
          grandfathered tag modern replacement
          art-lojban jbo
          i-ami ami
          - * + * * * * @@ -2774,60 +2774,60 @@ * * * - * - * - * * * - * - * - * + * * * - * - * - * * * - * - * - * + * * * - * - * - * + * diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/util/Map.java --- a/jdk/src/java.base/share/classes/java/util/Map.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/util/Map.java Fri Apr 28 13:52:45 2017 -0700 @@ -110,7 +110,7 @@ * Implementations may optionally handle the self-referential scenario, however * most current implementations do not do so. * - *

          Immutable Map Static Factory Methods

          + *

          Immutable Map Static Factory Methods

          *

          The {@link Map#of() Map.of()} and * {@link Map#ofEntries(Map.Entry...) Map.ofEntries()} * static factory methods provide a convenient way to create immutable maps. diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/util/Properties.java --- a/jdk/src/java.base/share/classes/java/util/Properties.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/util/Properties.java Fri Apr 28 13:52:45 2017 -0700 @@ -290,7 +290,7 @@ * specifies that the key is {@code "cheeses"} and the associated * element is the empty string {@code ""}. *

          - * + * * Characters in keys and elements can be represented in escape * sequences similar to those used for character and string literals * (see sections 3.3 and 3.10.6 of diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/util/PropertyResourceBundle.java --- a/jdk/src/java.base/share/classes/java/util/PropertyResourceBundle.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/util/PropertyResourceBundle.java Fri Apr 28 13:52:45 2017 -0700 @@ -67,7 +67,7 @@ * for a complete description of the search and instantiation strategy. * *

          - * The following example shows a member of a resource + * The following example shows a member of a resource * bundle family with the base name "MyResources". * The text defines the bundle "MyResources_de", * the German member of the bundle family. diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/util/Queue.java --- a/jdk/src/java.base/share/classes/java/util/Queue.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/util/Queue.java Fri Apr 28 13:52:45 2017 -0700 @@ -51,8 +51,8 @@ *

          * * - * - * + * + * * * * diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/util/ResourceBundle.java --- a/jdk/src/java.base/share/classes/java/util/ResourceBundle.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/util/ResourceBundle.java Fri Apr 28 13:52:45 2017 -0700 @@ -204,7 +204,7 @@ * known concrete subclasses {@code ListResourceBundle} and * {@code PropertyResourceBundle} are thread-safe. * - *

          Resource Bundles in Named Modules

          + *

          Resource Bundles in Named Modules

          * * When resource bundles are deployed in named modules, the following * module-specific requirements and restrictions are applied. @@ -239,7 +239,7 @@ * * * - *

          ResourceBundleProvider Service Providers

          + *

          ResourceBundleProvider Service Providers

          * * The {@code getBundle} factory methods load service providers of * {@link ResourceBundleProvider}, if available, using {@link ServiceLoader}. @@ -266,7 +266,7 @@ * {@link #getBundle(String, Locale, ClassLoader, Control) getBundle} * factory method for details. * - *

          For the {@code getBundle} factory + *

          For the {@code getBundle} factory * methods that take no {@link Control} instance, their default behavior of resource bundle loading * can be modified with custom {@link @@ -1063,7 +1063,7 @@ * description of modifying the default * behavior. * - *

          The following describes the default + *

          The following describes the default * behavior. * *

          @@ -1080,7 +1080,7 @@ *

          getBundle uses the base name, the specified locale, and * the default locale (obtained from {@link java.util.Locale#getDefault() * Locale.getDefault}) to generate a sequence of candidate bundle names. If the specified + * id="candidates">candidate bundle names. If the specified * locale's language, script, country, and variant are all empty strings, * then the base name is the only candidate bundle name. Otherwise, a list * of candidate locales is generated from the attribute values of the @@ -1170,7 +1170,7 @@ *

          If still no result bundle is found, the base name alone is looked up. If * this still fails, a MissingResourceException is thrown. * - *

          Once a result resource bundle has been found, + *

          Once a result resource bundle has been found, * its parent chain is instantiated. If the result bundle already * has a parent (perhaps because it was returned from a cache) the chain is * complete. @@ -1200,7 +1200,7 @@ * path name (using "/") instead of a fully qualified class name (using * "."). * - *

          + *

          * Example: *

          * The following class and property files are provided: @@ -2481,7 +2481,7 @@ * } * * - * @apiNote {@code ResourceBundle.Control} is not supported + * @apiNote {@code ResourceBundle.Control} is not supported * in named modules. If the {@code ResourceBundle.getBundle} method with * a {@code ResourceBundle.Control} is called in a named module, the method * will throw an {@link UnsupportedOperationException}. Any service providers diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/util/Scanner.java --- a/jdk/src/java.base/share/classes/java/util/Scanner.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/util/Scanner.java Fri Apr 28 13:52:45 2017 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -95,7 +95,7 @@ * s.close(); * } * - *

          The default whitespace delimiter used + *

          The default whitespace delimiter used * by a scanner is as recognized by {@link Character#isWhitespace(char) * Character.isWhitespace()}. The {@link #reset reset()} * method will reset the value of the scanner's delimiter to the default @@ -152,11 +152,11 @@ * {@link #reset} method will reset the value of the scanner's radix to * {@code 10} regardless of whether it was previously changed. * - *

          Localized numbers

          + *

          Localized numbers

          * *

          An instance of this class is capable of scanning numbers in the standard * formats as well as in the formats of the scanner's locale. A scanner's - * initial locale is the value returned by the {@link + * initial locale is the value returned by the {@link * java.util.Locale#getDefault(Locale.Category) * Locale.getDefault(Locale.Category.FORMAT)} method; it may be changed via the {@link * #useLocale useLocale()} method. The {@link #reset} method will reset the value of the @@ -213,7 +213,7 @@ * getInfinity()} * * - *

          Number syntax

          + *

          Number syntax

          * *

          The strings that can be parsed as numbers by an instance of this class * are specified in terms of the following regular-expression grammar, where @@ -244,7 +244,7 @@ *

          {@code ( ( }Digit{@code + ) * | }GroupedNumeral{@code )} * - *
          Integer: + *
          Integer: *
          {@code ( [-+]? ( }Numeral{@code * ) )} *
          {@code | }LocalPositivePrefix Numeral @@ -263,7 +263,7 @@ *
          Exponent: *
          {@code ( [eE] [+-]? }Digit{@code + )} * - *
          Decimal: + *
          Decimal: *
          {@code ( [-+]? }DecimalNumeral * Exponent{@code ? )} *
          {@code | }LocalPositivePrefix @@ -294,7 +294,7 @@ * NonNumber * LocalNegativeSuffix * - *
          Float: + *
          Float: *
          Decimal * {@code | }HexFloat * {@code | }SignedNonNumber @@ -2846,6 +2846,7 @@ class FindSpliterator extends Spliterators.AbstractSpliterator { final Pattern pattern; int expectedCount = -1; + private boolean advance = false; // true if we need to auto-advance FindSpliterator(Pattern pattern) { super(Long.MAX_VALUE, @@ -2861,12 +2862,15 @@ throw new ConcurrentModificationException(); } } else { + // init + matchValid = false; + matcher.usePattern(pattern); expectedCount = modCount; } while (true) { // assert expectedCount == modCount - if (findPatternInBuffer(pattern, 0)) { // doesn't increment modCount + if (nextInBuffer()) { // doesn't increment modCount cons.accept(matcher.toMatchResult()); if (expectedCount != modCount) { throw new ConcurrentModificationException(); @@ -2879,6 +2883,29 @@ return false; // reached end of input } } + + // reimplementation of findPatternInBuffer with auto-advance on zero-length matches + private boolean nextInBuffer() { + if (advance) { + if (position + 1 > buf.limit()) { + if (!sourceClosed) + needInput = true; + return false; + } + position++; + advance = false; + } + matcher.region(position, buf.limit()); + if (matcher.find() && (!matcher.hitEnd() || sourceClosed)) { + // Did not hit end, or hit real end + position = matcher.end(); + advance = matcher.start() == position; + return true; + } + if (!sourceClosed) + needInput = true; + return false; + } } /** Small LRU cache of Patterns. */ diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/util/ServiceLoader.java --- a/jdk/src/java.base/share/classes/java/util/ServiceLoader.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/util/ServiceLoader.java Fri Apr 28 13:52:45 2017 -0700 @@ -125,13 +125,13 @@ * *

          A service provider that is packaged as a JAR file for the class path is * identified by placing a provider-configuration file in the resource - * directory META-INF/services. The file's name is the fully-qualified + * directory {@code META-INF/services}. The file's name is the fully-qualified * binary name of the service's * type. The file contains a list of fully-qualified binary names of concrete * provider classes, one per line. Space and tab characters surrounding each * name, as well as blank lines, are ignored. The comment character is - * '#' ('\u0023', - * NUMBER SIGN); on + * {@code '#'} ('\u0023', + * NUMBER SIGN); on * each line all characters following the first comment character are ignored. * The file must be encoded in UTF-8. * If a particular concrete provider class is named in more than one @@ -257,7 +257,7 @@ * method in this class will cause a {@link NullPointerException} to be thrown. * *

          Example

          - *

          Suppose we have a service type com.example.CodecSet which is + *

          Suppose we have a service type {@code com.example.CodecSet} which is * intended to represent sets of encoder/decoder pairs for some protocol. In * this case it is an abstract class with two abstract methods: * @@ -265,11 +265,11 @@ * public abstract Encoder getEncoder(String encodingName); * public abstract Decoder getDecoder(String encodingName); * - * Each method returns an appropriate object or null if the provider + * Each method returns an appropriate object or {@code null} if the provider * does not support the given encoding. Typical providers support more than * one encoding. * - *

          The CodecSet class creates and saves a single service instance + *

          The {@code CodecSet} class creates and saves a single service instance * at initialization: * *

          {@code
          @@ -1402,7 +1402,7 @@
                *
                * @param  loader
                *         The class loader to be used to load provider-configuration files
          -     *         and provider classes, or null if the system class
          +     *         and provider classes, or {@code null} if the system class
                *         loader (or, failing that, the bootstrap class loader) is to be
                *         used
                *
          diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/util/Set.java
          --- a/jdk/src/java.base/share/classes/java/util/Set.java	Thu Apr 27 14:07:38 2017 -0700
          +++ b/jdk/src/java.base/share/classes/java/util/Set.java	Fri Apr 28 13:52:45 2017 -0700
          @@ -63,7 +63,7 @@
            * Such exceptions are marked as "optional" in the specification for this
            * interface.
            *
          - * 

          Immutable Set Static Factory Methods

          + *

          Immutable Set Static Factory Methods

          *

          The {@link Set#of(Object...) Set.of()} static factory methods * provide a convenient way to create immutable sets. The {@code Set} * instances created by these methods have the following characteristics: diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/util/Spliterator.java --- a/jdk/src/java.base/share/classes/java/util/Spliterator.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/util/Spliterator.java Fri Apr 28 13:52:45 2017 -0700 @@ -62,7 +62,7 @@ * New characteristics may be defined in the future, so implementors should not * assign meanings to unlisted values. * - *

          A Spliterator that does not report {@code IMMUTABLE} or + *

          A Spliterator that does not report {@code IMMUTABLE} or * {@code CONCURRENT} is expected to have a documented policy concerning: * when the spliterator binds to the element source; and detection of * structural interference of the element source detected after binding. A diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/util/TimeZone.java --- a/jdk/src/java.base/share/classes/java/util/TimeZone.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/util/TimeZone.java Fri Apr 28 13:52:45 2017 -0700 @@ -74,7 +74,7 @@ * produce a TimeZone. The syntax of a custom time zone ID is: * *

          - * CustomID:
          + * CustomID:
            *         GMT Sign Hours : Minutes
            *         GMT Sign Hours Minutes
            *         GMT Sign Hours
          @@ -102,7 +102,7 @@
            * When creating a TimeZone, the specified custom time
            * zone ID is normalized in the following syntax:
            * 
          - * NormalizedCustomID:
          + * NormalizedCustomID:
            *         GMT Sign TwoDigitHours : Minutes
            * Sign: one of
            *         + -
          diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/util/concurrent/BlockingDeque.java
          --- a/jdk/src/java.base/share/classes/java/util/concurrent/BlockingDeque.java	Thu Apr 27 14:07:38 2017 -0700
          +++ b/jdk/src/java.base/share/classes/java/util/concurrent/BlockingDeque.java	Fri Apr 28 13:52:45 2017 -0700
          @@ -56,14 +56,14 @@
            * 
          grandfathered tag converts to
          cel-gaulish xtg-x-cel-gaulish
          en-GB-oed en-GB-x-oed
          Language Priority List: {@code "de-*-DE"}
          + * * {@link FilteringMode#AUTOSELECT_FILTERING AUTOSELECT_FILTERING} * + * * Performs basic filtering and returns {@code "de-DE"} and * {@code "de-DE-1996"}. * + * * Performs extended filtering and returns {@code "de-DE"}, * {@code "de-Deva-DE"}, {@code "de-DE-1996"}, {@code "de-Latn-DE"}, and * {@code "de-Latn-DE-1996"}. *
          + * * {@link FilteringMode#EXTENDED_FILTERING EXTENDED_FILTERING} * + * * Performs extended filtering and returns {@code "de-DE"}, * {@code "de-Deva-DE"}, {@code "de-DE-1996"}, {@code "de-Latn-DE"}, and * {@code "de-Latn-DE-1996"}. * Same as above.Same as above.
          + * * {@link FilteringMode#IGNORE_EXTENDED_RANGES IGNORE_EXTENDED_RANGES} * + * * Performs basic filtering and returns {@code "de-DE"} and * {@code "de-DE-1996"}. * + * * Performs basic filtering and returns {@code null} because * nothing matches. *
          + * * {@link FilteringMode#MAP_EXTENDED_RANGES MAP_EXTENDED_RANGES} * Same as above. + * Same as above. * Performs basic filtering and returns {@code "de-DE"} and * {@code "de-DE-1996"} because {@code "de-*-DE"} is mapped to * {@code "de-DE"}. *
          + * * {@link FilteringMode#REJECT_EXTENDED_RANGES REJECT_EXTENDED_RANGES} * Same as above. + * Same as above. * Throws {@link IllegalArgumentException} because {@code "de-*-DE"} is * not a valid basic language range. *
          Summary of Queue methods
          Throws exceptionReturns special valueThrows exceptionReturns special value
          Insert
          * * - * + * * * * - * - * - * - * + * + * + * + * * * * @@ -87,14 +87,14 @@ * * * - * + * * * * - * - * - * - * + * + * + * + * * * * @@ -131,11 +131,11 @@ *
          Summary of BlockingDeque methods
          First Element (Head) First Element (Head)
          Throws exceptionSpecial valueBlocksTimes outThrows exceptionSpecial valueBlocksTimes out
          Insertnot applicable
          Last Element (Tail) Last Element (Tail)
          Throws exceptionSpecial valueBlocksTimes outThrows exceptionSpecial valueBlocksTimes out
          Insert
          * * - * - * + * + * * * - * + * * * * @@ -154,7 +154,7 @@ * * * - * + * * * * @@ -173,7 +173,7 @@ * * * - * + * * * * diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/util/concurrent/BlockingQueue.java --- a/jdk/src/java.base/share/classes/java/util/concurrent/BlockingQueue.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/util/concurrent/BlockingQueue.java Fri Apr 28 13:52:45 2017 -0700 @@ -57,10 +57,10 @@ * * * - * - * - * - * + * + * + * + * * * * diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java --- a/jdk/src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java Fri Apr 28 13:52:45 2017 -0700 @@ -113,8 +113,8 @@ * * * - * - * + * + * * * * diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/util/jar/JarFile.java --- a/jdk/src/java.base/share/classes/java/util/jar/JarFile.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/util/jar/JarFile.java Fri Apr 28 13:52:45 2017 -0700 @@ -48,7 +48,7 @@ * processing multi-release jar files. The {@code Manifest} can be used * to specify meta-information about the jar file and its entries. * - *

          A multi-release jar file is a jar file that + *

          A multi-release jar file is a jar file that * contains a manifest with a main attribute named "Multi-Release", * a set of "base" entries, some of which are public classes with public * or protected methods that comprise the public interface of the jar file, diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.base/share/classes/java/util/regex/Pattern.java --- a/jdk/src/java.base/share/classes/java/util/regex/Pattern.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.base/share/classes/java/util/regex/Pattern.java Fri Apr 28 13:52:45 2017 -0700 @@ -77,310 +77,310 @@ * such use. * * - *

          Summary of regular-expression constructs

          + *

          Summary of regular-expression constructs

          * *
          Comparison of BlockingQueue and BlockingDeque methods
          {@code BlockingQueue} Method Equivalent {@code BlockingDeque} Method {@code BlockingQueue} Method Equivalent {@code BlockingDeque} Method
          Insert Insert
          {@link #add(Object) add(e)}{@link #offerLast(Object, long, TimeUnit) offerLast(e, time, unit)}
          Remove Remove
          {@link #remove() remove()}{@link #pollFirst(long, TimeUnit) pollFirst(time, unit)}
          Examine Examine
          {@link #element() element()}
          Summary of BlockingQueue methods
          Throws exceptionSpecial valueBlocksTimes outThrows exceptionSpecial valueBlocksTimes out
          Insert
          Summary of task execution methods
          Call from non-fork/join clients Call from within fork/join computations Call from non-fork/join clients Call from within fork/join computations
          Arrange async execution
          * - * - * - * + * + * + * * * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * * * - * + * * - * + * * - * + * * - * + * * - * + * * * * - * - * + * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * * * - * - * + * + * * * * - * - * + * + * * * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * * * - * + * * - * + * * - * + * * - * + * * * * - * + * * - * - * + * * - * - * + * * * - * + * * - * + * * - * + * * - * + * * * * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * - * + * * * *
          ConstructMatches
          ConstructMatches
           
          Characters
          Characters
          x
          xThe character x
          {@code \\}
          {@code \\}The backslash character
          {@code \0}n
          {@code \0}nThe character with octal value {@code 0}n * (0 {@code <=} n {@code <=} 7)
          {@code \0}nn
          {@code \0}nnThe character with octal value {@code 0}nn * (0 {@code <=} n {@code <=} 7)
          {@code \0}mnn
          {@code \0}mnnThe character with octal value {@code 0}mnn * (0 {@code <=} m {@code <=} 3, * 0 {@code <=} n {@code <=} 7)
          {@code \x}hh
          {@code \x}hhThe character with hexadecimal value {@code 0x}hh
          \uhhhh
          \uhhhhThe character with hexadecimal value {@code 0x}hhhh
          \x{h...h}
          \x{h...h}The character with hexadecimal value {@code 0x}h...h * ({@link java.lang.Character#MIN_CODE_POINT Character.MIN_CODE_POINT} *  <= {@code 0x}h...h <=  * {@link java.lang.Character#MAX_CODE_POINT Character.MAX_CODE_POINT})
          \N{name}
          \N{name}The character with Unicode character name 'name'
          {@code \t}
          {@code \t}The tab character ('\u0009')
          {@code \n}
          {@code \n}The newline (line feed) character ('\u000A')
          {@code \r}
          {@code \r}The carriage-return character ('\u000D')
          {@code \f}
          {@code \f}The form-feed character ('\u000C')
          {@code \a}
          {@code \a}The alert (bell) character ('\u0007')
          {@code \e}
          {@code \e}The escape character ('\u001B')
          {@code \c}x
          {@code \c}xThe control character corresponding to x
           
          Character classes
          Character classes
          {@code [abc]}
          {@code [abc]}{@code a}, {@code b}, or {@code c} (simple class)
          {@code [^abc]}
          {@code [^abc]}Any character except {@code a}, {@code b}, or {@code c} (negation)
          {@code [a-zA-Z]}
          {@code [a-zA-Z]}{@code a} through {@code z} * or {@code A} through {@code Z}, inclusive (range)
          {@code [a-d[m-p]]}
          {@code [a-d[m-p]]}{@code a} through {@code d}, * or {@code m} through {@code p}: {@code [a-dm-p]} (union)
          {@code [a-z&&[def]]}
          {@code [a-z&&[def]]}{@code d}, {@code e}, or {@code f} (intersection)
          {@code [a-z&&[^bc]]}
          {@code [a-z&&[^bc]]}{@code a} through {@code z}, * except for {@code b} and {@code c}: {@code [ad-z]} (subtraction)
          {@code [a-z&&[^m-p]]}
          {@code [a-z&&[^m-p]]}{@code a} through {@code z}, * and not {@code m} through {@code p}: {@code [a-lq-z]}(subtraction)
           
          Predefined character classes
          Predefined character classes
          {@code .}
          {@code .}Any character (may or may not match line terminators)
          {@code \d}
          {@code \d}A digit: {@code [0-9]}
          {@code \D}
          {@code \D}A non-digit: {@code [^0-9]}
          {@code \h}
          {@code \h}A horizontal whitespace character: * [ \t\xA0\u1680\u180e\u2000-\u200a\u202f\u205f\u3000]
          {@code \H}
          {@code \H}A non-horizontal whitespace character: {@code [^\h]}
          {@code \s}
          {@code \s}A whitespace character: {@code [ \t\n\x0B\f\r]}
          {@code \S}
          {@code \S}A non-whitespace character: {@code [^\s]}
          {@code \v}
          {@code \v}A vertical whitespace character: [\n\x0B\f\r\x85\u2028\u2029] *
          {@code \V}
          {@code \V}A non-vertical whitespace character: {@code [^\v]}
          {@code \w}
          {@code \w}A word character: {@code [a-zA-Z_0-9]}
          {@code \W}
          {@code \W}A non-word character: {@code [^\w]}
           
          POSIX character classes (US-ASCII only)
          POSIX character classes (US-ASCII only)
          {@code \p{Lower}}
          {@code \p{Lower}}A lower-case alphabetic character: {@code [a-z]}
          {@code \p{Upper}}
          {@code \p{Upper}}An upper-case alphabetic character:{@code [A-Z]}
          {@code \p{ASCII}}
          {@code \p{ASCII}}All ASCII:{@code [\x00-\x7F]}
          {@code \p{Alpha}}
          {@code \p{Alpha}}An alphabetic character:{@code [\p{Lower}\p{Upper}]}
          {@code \p{Digit}}
          {@code \p{Digit}}A decimal digit: {@code [0-9]}
          {@code \p{Alnum}}
          {@code \p{Alnum}}An alphanumeric character:{@code [\p{Alpha}\p{Digit}]}
          {@code \p{Punct}}
          {@code \p{Punct}}Punctuation: One of {@code !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~}
          {@code \p{Graph}}
          {@code \p{Graph}}A visible character: {@code [\p{Alnum}\p{Punct}]}
          {@code \p{Print}}
          {@code \p{Print}}A printable character: {@code [\p{Graph}\x20]}
          {@code \p{Blank}}
          {@code \p{Blank}}A space or a tab: {@code [ \t]}
          {@code \p{Cntrl}}
          {@code \p{Cntrl}}A control character: {@code [\x00-\x1F\x7F]}
          {@code \p{XDigit}}
          {@code \p{XDigit}}A hexadecimal digit: {@code [0-9a-fA-F]}
          {@code \p{Space}}
          {@code \p{Space}}A whitespace character: {@code [ \t\n\x0B\f\r]}
           
          java.lang.Character classes (simple java character type)
          java.lang.Character classes (simple java character type)
          {@code \p{javaLowerCase}}
          {@code \p{javaLowerCase}}Equivalent to java.lang.Character.isLowerCase()
          {@code \p{javaUpperCase}}
          {@code \p{javaUpperCase}}Equivalent to java.lang.Character.isUpperCase()
          {@code \p{javaWhitespace}}
          {@code \p{javaWhitespace}}Equivalent to java.lang.Character.isWhitespace()
          {@code \p{javaMirrored}}
          {@code \p{javaMirrored}}Equivalent to java.lang.Character.isMirrored()
           
          Classes for Unicode scripts, blocks, categories and binary properties
          {@code \p{IsLatin}}
          Classes for Unicode scripts, blocks, categories and binary properties
          {@code \p{IsLatin}}A Latin script character (script)
          {@code \p{InGreek}}
          {@code \p{InGreek}}A character in the Greek block (block)
          {@code \p{Lu}}
          {@code \p{Lu}}An uppercase letter (category)
          {@code \p{IsAlphabetic}}
          {@code \p{IsAlphabetic}}An alphabetic character (binary property)
          {@code \p{Sc}}
          {@code \p{Sc}}A currency symbol
          {@code \P{InGreek}}
          {@code \P{InGreek}}Any character except one in the Greek block (negation)
          {@code [\p{L}&&[^\p{Lu}]]}
          {@code [\p{L}&&[^\p{Lu}]]}Any letter except an uppercase letter (subtraction)
           
          Boundary matchers
          Boundary matchers
          {@code ^}
          {@code ^}The beginning of a line
          {@code $}
          {@code $}The end of a line
          {@code \b}
          {@code \b}A word boundary
          {@code \b{g}}
          {@code \b{g}}A Unicode extended grapheme cluster boundary
          {@code \B}
          {@code \B}A non-word boundary
          {@code \A}
          {@code \A}The beginning of the input
          {@code \G}
          {@code \G}The end of the previous match
          {@code \Z}
          {@code \Z}The end of the input but for the final * terminator, if any
          {@code \z}
          {@code \z}The end of the input
           
          Linebreak matcher
          {@code \R}
          Linebreak matcher
          {@code \R}Any Unicode linebreak sequence, is equivalent to * \u000D\u000A|[\u000A\u000B\u000C\u000D\u0085\u2028\u2029] *
           
          Unicode Extended Grapheme matcher
          {@code \X}
          Unicode Extended Grapheme matcher
          {@code \X}Any Unicode extended grapheme cluster
           
          Greedy quantifiers
          Greedy quantifiers
          X{@code ?}
          X{@code ?}X, once or not at all
          X{@code *}
          X{@code *}X, zero or more times
          X{@code +}
          X{@code +}X, one or more times
          X{n}
          X{n}X, exactly n times
          X{n{@code ,}}
          X{n{@code ,}}X, at least n times
          X{n{@code ,}m}
          X{n{@code ,}m}X, at least n but not more than m times
           
          Reluctant quantifiers
          Reluctant quantifiers
          X{@code ??}
          X{@code ??}X, once or not at all
          X{@code *?}
          X{@code *?}X, zero or more times
          X{@code +?}
          X{@code +?}X, one or more times
          X{n}?
          X{n}?X, exactly n times
          X{n,}?
          X{n,}?X, at least n times
          X{n{@code ,}m}?
          X{n{@code ,}m}?X, at least n but not more than m times
           
          Possessive quantifiers
          Possessive quantifiers
          X{@code ?+}
          X{@code ?+}X, once or not at all
          X{@code *+}
          X{@code *+}X, zero or more times
          X{@code ++}
          X{@code ++}X, one or more times
          X{n}+
          X{n}+X, exactly n times
          X{n,}+
          X{n,}+X, at least n times
          X{n{@code ,}m}+
          X{n{@code ,}m}+X, at least n but not more than m times
           
          Logical operators
          Logical operators
          XY
          XYX followed by Y
          X{@code |}Y
          X{@code |}YEither X or Y
          {@code (}X{@code )}
          {@code (}X{@code )}X, as a capturing group
           
          Back references
          Back references
          {@code \}nWhatever the nth + *
          {@code \}nWhatever the nth * capturing group matched
          {@code \}k<name>Whatever the + *
          {@code \}k<name>Whatever the * named-capturing group "name" matched
           
          Quotation
          Quotation
          {@code \}
          {@code \}Nothing, but quotes the following character
          {@code \Q}
          {@code \Q}Nothing, but quotes all characters until {@code \E}
          {@code \E}
          {@code \E}Nothing, but ends quoting started by {@code \Q}
           
          Special constructs (named-capturing and non-capturing)
          Special constructs (named-capturing and non-capturing)
          (?<name>X{@code )}
          (?<name>X{@code )}X, as a named-capturing group
          {@code (?:}X{@code )}
          {@code (?:}X{@code )}X, as a non-capturing group
          (?idmsuxU-idmsuxU) 
          (?idmsuxU-idmsuxU) Nothing, but turns match flags i * d m s * u x U * on - off
          (?idmsux-idmsux:X{@code )}  
          (?idmsux-idmsux:X{@code )}  X, as a non-capturing group with the * given flags i d * m s u * x on - off
          {@code (?=}X{@code )}
          {@code (?=}X{@code )}X, via zero-width positive lookahead
          {@code (?!}X{@code )}
          {@code (?!}X{@code )}X, via zero-width negative lookahead
          {@code (?<=}X{@code )}
          {@code (?<=}X{@code )}X, via zero-width positive lookbehind
          {@code (?X{@code )}
          {@code (?X{@code )}X, via zero-width negative lookbehind
          {@code (?>}X{@code )}
          {@code (?>}X{@code )}X, as an independent, non-capturing group
          @@ -388,7 +388,7 @@ *


          * * - *

          Backslashes, escapes, and quoting

          + *

          Backslashes, escapes, and quoting

          * *

          The backslash character ({@code '\'}) serves to introduce escaped * constructs, as defined in the table above, as well as to quote characters @@ -416,7 +416,7 @@ * {@code (hello)} the string literal {@code "\\(hello\\)"} * must be used. * - *

          Character Classes

          + *

          Character Classes

          * *

          Character classes may appear within other character classes, and * may be composed by the union operator (implicit) and the intersection @@ -454,7 +454,7 @@ * character class, while the expression {@code -} becomes a range * forming metacharacter. * - *

          Line terminators

          + *

          Line terminators

          * *

          A line terminator is a one- or two-character sequence that marks * the end of a line of the input character sequence. The following are @@ -489,9 +489,9 @@ * except at the end of input. When in {@link #MULTILINE} mode {@code $} * matches just before a line terminator or the end of the input sequence. * - *

          Groups and capturing

          + *

          Groups and capturing

          * - *

          Group number

          + *

          Group number

          *

          Capturing groups are numbered by counting their opening parentheses from * left to right. In the expression {@code ((A)(B(C)))}, for example, there * are four such groups:

          @@ -514,7 +514,7 @@ * subsequence may be used later in the expression, via a back reference, and * may also be retrieved from the matcher once the match operation is complete. * - *

          Group name

          + *

          Group name

          *

          A capturing group can also be assigned a "name", a {@code named-capturing group}, * and then be back-referenced later by the "name". Group names are composed of * the following characters. The first character must be a {@code letter}. @@ -585,7 +585,7 @@ * and outside of a character class. * *

          - * Scripts are specified either with the prefix {@code Is}, as in + * Scripts are specified either with the prefix {@code Is}, as in * {@code IsHiragana}, or by using the {@code script} keyword (or its short * form {@code sc}) as in {@code script=Hiragana} or {@code sc=Hiragana}. *

          @@ -594,7 +594,7 @@ * {@link java.lang.Character.UnicodeScript#forName(String) UnicodeScript.forName}. * *

          - * Blocks are specified with the prefix {@code In}, as in + * Blocks are specified with the prefix {@code In}, as in * {@code InMongolian}, or by using the keyword {@code block} (or its short * form {@code blk}) as in {@code block=Mongolian} or {@code blk=Mongolian}. *

          @@ -603,7 +603,7 @@ * {@link java.lang.Character.UnicodeBlock#forName(String) UnicodeBlock.forName}. *

          * - * Categories may be specified with the optional prefix {@code Is}: + * Categories may be specified with the optional prefix {@code Is}: * Both {@code \p{L}} and {@code \p{IsL}} denote the category of Unicode * letters. Same as scripts and blocks, categories can also be specified * by using the keyword {@code general_category} (or its short form @@ -616,7 +616,7 @@ * defined in the Standard, both normative and informative. *

          * - * Binary properties are specified with the prefix {@code Is}, as in + * Binary properties are specified with the prefix {@code Is}, as in * {@code IsAlphabetic}. The supported binary properties by {@code Pattern} * are *

          * * @since 1.2 diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.desktop/share/classes/javax/swing/text/JTextComponent.java --- a/jdk/src/java.desktop/share/classes/javax/swing/text/JTextComponent.java Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.desktop/share/classes/javax/swing/text/JTextComponent.java Fri Apr 28 13:52:45 2017 -0700 @@ -135,7 +135,7 @@ * the action (In the case that the ActionEvent * sent to the action doesn't contain the target text component as its source). *

          - * The input method framework + * The {@extLink imf_overview Input Method Framework} * lets text components interact with input methods, separate software * components that preprocess events to let users enter thousands of * different characters using keyboards with far fewer keys. diff -r 7bd7767129ed -r 28b32b8d67b6 jdk/src/java.security.jgss/share/classes/org/ietf/jgss/package.html --- a/jdk/src/java.security.jgss/share/classes/org/ietf/jgss/package.html Thu Apr 27 14:07:38 2017 -0700 +++ b/jdk/src/java.security.jgss/share/classes/org/ietf/jgss/package.html Fri Apr 28 13:52:45 2017 -0700 @@ -2,7 +2,7 @@