8305206: Add @spec tags in java.base/java.* (part 1)

Reviewed-by: alanb, naoto, darcy, lancea, dfuchs, iris, mchung
This commit is contained in:
Jonathan Gibbons 2023-04-04 00:09:38 +00:00
parent ccbb0e8d89
commit c6bd489cc8
60 changed files with 268 additions and 2 deletions

View file

@ -168,6 +168,7 @@ import static java.lang.constant.ConstantDescs.DEFAULT_NAME;
* use instances for synchronization, or unpredictable behavior may
* occur. For example, in a future release, synchronization may fail.
*
* @spec https://www.unicode.org/reports/tr27 Unicode 3.1.0
* @author Lee Boynton
* @author Guy Steele
* @author Akira Tanaka
@ -4489,6 +4490,7 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
* {@link Character.UnicodeScript#COMMON Common} or
* {@link Character.UnicodeScript#UNKNOWN Unknown}.
*
* @spec https://www.unicode.org/reports/tr24 Unicode Script Property
* @since 1.7
*/
public static enum UnicodeScript {
@ -10576,6 +10578,9 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
* @param ch the character to be tested.
* @return {@code true} if the character may start a Unicode
* identifier; {@code false} otherwise.
*
* @spec https://www.unicode.org/reports/tr44 Unicode Character Database
* @spec https://www.unicode.org/reports/tr31 Unicode Identifier and Pattern Syntax
* @see Character#isJavaIdentifierStart(char)
* @see Character#isLetter(char)
* @see Character#isUnicodeIdentifierPart(char)
@ -10612,6 +10617,9 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
* @param codePoint the character (Unicode code point) to be tested.
* @return {@code true} if the character may start a Unicode
* identifier; {@code false} otherwise.
*
* @spec https://www.unicode.org/reports/tr44 Unicode Character Database
* @spec https://www.unicode.org/reports/tr31 Unicode Identifier and Pattern Syntax
* @see Character#isJavaIdentifierStart(int)
* @see Character#isLetter(int)
* @see Character#isUnicodeIdentifierPart(int)
@ -10661,6 +10669,9 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
* @param ch the character to be tested.
* @return {@code true} if the character may be part of a
* Unicode identifier; {@code false} otherwise.
*
* @spec https://www.unicode.org/reports/tr44 Unicode Character Database
* @spec https://www.unicode.org/reports/tr31 Unicode Identifier and Pattern Syntax
* @see Character#isIdentifierIgnorable(char)
* @see Character#isJavaIdentifierPart(char)
* @see Character#isLetterOrDigit(char)
@ -10706,6 +10717,9 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
* @param codePoint the character (Unicode code point) to be tested.
* @return {@code true} if the character may be part of a
* Unicode identifier; {@code false} otherwise.
*
* @spec https://www.unicode.org/reports/tr44 Unicode Character Database
* @spec https://www.unicode.org/reports/tr31 Unicode Identifier and Pattern Syntax
* @see Character#isIdentifierIgnorable(int)
* @see Character#isJavaIdentifierPart(int)
* @see Character#isLetterOrDigit(int)

View file

@ -61,6 +61,8 @@ import static java.util.Objects.requireNonNull;
* java.util.EnumMap map} implementations are available.
*
* @param <E> The type of the enum subclass
*
* @spec serialization/index.html Java Object Serialization Specification
* @serial exclude
* @author Josh Bloch
* @author Neal Gafter

View file

@ -83,6 +83,7 @@ package java.lang;
* A record class structure can be obtained at runtime via reflection.
* See {@link Class#isRecord()} and {@link Class#getRecordComponents()} for more details.
*
* @spec serialization/index.html Java Object Serialization Specification
* @jls 8.10 Record Types
* @since 16
*/

View file

@ -113,6 +113,7 @@ import jdk.internal.reflect.Reflection;
* typically terminate the OS process hosting the JVM and do not interact with the JNI Invocation
* API.
*
* @spec jni/index.html Java Native Interface Specification
* @see java.lang.Runtime#getRuntime()
* @jls 12.8 Program Exit
* @since 1.0
@ -823,6 +824,7 @@ public class Runtime {
* a native library image by the host system.
* @throws NullPointerException if {@code filename} is
* {@code null}
* @spec jni/index.html Java Native Interface Specification
* @see java.lang.Runtime#getRuntime()
* @see java.lang.SecurityException
* @see java.lang.SecurityManager#checkLink(java.lang.String)
@ -888,6 +890,7 @@ public class Runtime {
* native library image by the host system.
* @throws NullPointerException if {@code libname} is
* {@code null}
* @spec jni/index.html Java Native Interface Specification
* @see java.lang.SecurityException
* @see java.lang.SecurityManager#checkLink(java.lang.String)
*/

View file

@ -2010,6 +2010,8 @@ public final class System {
* linked with the VM, or the library cannot be mapped to
* a native library image by the host system.
* @throws NullPointerException if {@code filename} is {@code null}
*
* @spec jni/index.html Java Native Interface Specification
* @see java.lang.Runtime#load(java.lang.String)
* @see java.lang.SecurityManager#checkLink(java.lang.String)
*/
@ -2046,6 +2048,8 @@ public final class System {
* linked with the VM, or the library cannot be mapped to a
* native library image by the host system.
* @throws NullPointerException if {@code libname} is {@code null}
*
* @spec jni/index.html Java Native Interface Specification
* @see java.lang.Runtime#loadLibrary(java.lang.String)
* @see java.lang.SecurityManager#checkLink(java.lang.String)
*/

View file

@ -1956,6 +1956,8 @@ public class Thread implements Runnable {
* @param name the new name for this thread.
* @throws SecurityException if the current thread cannot modify this
* thread.
*
* @spec jni/index.html Java Native Interface Specification
* @see #getName
* @see #checkAccess()
*/

View file

@ -226,6 +226,7 @@
* restricted methods is only granted to the modules listed by that option. If this option is not specified,
* access to restricted methods is enabled for all modules, but access to restricted methods will result in runtime warnings.
*
* @spec jni/index.html Java Native Interface Specification
*/
package java.lang.foreign;

View file

@ -71,6 +71,7 @@ import sun.security.util.SecurityConstants;
* object corresponds to a member in an exported or open package
* (see {@link #setAccessible(boolean)}). </p>
*
* @spec jni/index.html Java Native Interface Specification
* @jls 6.6 Access Control
* @since 1.2
* @revised 9
@ -202,6 +203,8 @@ public class AccessibleObject implements AnnotatedElement {
* @param flag the new value for the {@code accessible} flag
* @throws InaccessibleObjectException if access cannot be enabled
* @throws SecurityException if the request is denied by the security manager
*
* @spec jni/index.html Java Native Interface Specification
* @see #trySetAccessible
* @see java.lang.invoke.MethodHandles#privateLookupIn
* @revised 9
@ -268,6 +271,7 @@ public class AccessibleObject implements AnnotatedElement {
* {@code false} if access cannot be enabled.
* @throws SecurityException if the request is denied by the security manager
*
* @spec jni/index.html Java Native Interface Specification
* @since 9
* @see java.lang.invoke.MethodHandles#privateLookupIn
*/
@ -461,6 +465,7 @@ public class AccessibleObject implements AnnotatedElement {
* declaring class} of the member.</li>
* </ul>
*
* @spec jni/index.html Java Native Interface Specification
* @since 9
* @jls 6.6 Access Control
* @see #trySetAccessible