mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 23:04:50 +02:00
8255009: delta apply fixes for JDK-8246774 and JDK-8253455, pushed too soon
Reviewed-by: jlahoda
This commit is contained in:
parent
a0382cd17c
commit
1da28de82f
121 changed files with 923 additions and 312 deletions
|
@ -2342,6 +2342,13 @@ public final class Class<T> implements java.io.Serializable,
|
|||
}
|
||||
|
||||
/**
|
||||
* {@preview Associated with records, a preview feature of the Java language.
|
||||
*
|
||||
* This method is associated with <i>records</i>, a preview
|
||||
* feature of the Java language. Preview features
|
||||
* may be removed in a future release, or upgraded to permanent
|
||||
* features of the Java language.}
|
||||
*
|
||||
* Returns an array of {@code RecordComponent} objects representing all the
|
||||
* record components of this record class, or {@code null} if this class is
|
||||
* not a record class.
|
||||
|
@ -2378,8 +2385,11 @@ public final class Class<T> implements java.io.Serializable,
|
|||
* </ul>
|
||||
*
|
||||
* @jls 8.10 Record Types
|
||||
* @since 16
|
||||
* @since 14
|
||||
*/
|
||||
@jdk.internal.PreviewFeature(feature=jdk.internal.PreviewFeature.Feature.RECORDS,
|
||||
essentialAPI=false)
|
||||
@SuppressWarnings("preview")
|
||||
@CallerSensitive
|
||||
public RecordComponent[] getRecordComponents() {
|
||||
SecurityManager sm = System.getSecurityManager();
|
||||
|
@ -3678,6 +3688,13 @@ public final class Class<T> implements java.io.Serializable,
|
|||
}
|
||||
|
||||
/**
|
||||
* {@preview Associated with records, a preview feature of the Java language.
|
||||
*
|
||||
* This method is associated with <i>records</i>, a preview
|
||||
* feature of the Java language. Preview features
|
||||
* may be removed in a future release, or upgraded to permanent
|
||||
* features of the Java language.}
|
||||
*
|
||||
* Returns {@code true} if and only if this class is a record class.
|
||||
*
|
||||
* <p> The {@linkplain #getSuperclass() direct superclass} of a record
|
||||
|
@ -3690,8 +3707,10 @@ public final class Class<T> implements java.io.Serializable,
|
|||
*
|
||||
* @return true if and only if this class is a record class, otherwise false
|
||||
* @jls 8.10 Record Types
|
||||
* @since 16
|
||||
* @since 14
|
||||
*/
|
||||
@jdk.internal.PreviewFeature(feature=jdk.internal.PreviewFeature.Feature.RECORDS,
|
||||
essentialAPI=false)
|
||||
public boolean isRecord() {
|
||||
return getSuperclass() == JAVA_LANG_RECORD_CLASS && isRecord0();
|
||||
}
|
||||
|
|
|
@ -25,6 +25,14 @@
|
|||
package java.lang;
|
||||
|
||||
/**
|
||||
* {@preview Associated with records, a preview feature of the Java language.
|
||||
*
|
||||
* This class is associated with <i>records</i>, a preview
|
||||
* feature of the Java language. Programs can only use this
|
||||
* class when preview features are enabled. Preview features
|
||||
* may be removed in a future release, or upgraded to permanent
|
||||
* features of the Java language.}
|
||||
*
|
||||
* This is the common base class of all Java language record classes.
|
||||
*
|
||||
* <p>More information about records, including descriptions of the
|
||||
|
@ -78,8 +86,10 @@ package java.lang;
|
|||
* <a href="{@docRoot}/java.base/java/io/ObjectInputStream.html#record-serialization">record serialization</a>.
|
||||
*
|
||||
* @jls 8.10 Record Types
|
||||
* @since 16
|
||||
* @since 14
|
||||
*/
|
||||
@jdk.internal.PreviewFeature(feature=jdk.internal.PreviewFeature.Feature.RECORDS,
|
||||
essentialAPI=true)
|
||||
public abstract class Record {
|
||||
/**
|
||||
* Constructor for record classes to call.
|
||||
|
|
|
@ -118,12 +118,22 @@ public enum ElementType {
|
|||
MODULE,
|
||||
|
||||
/**
|
||||
* {@preview Associated with records, a preview feature of the Java language.
|
||||
*
|
||||
* This constant is associated with <i>records</i>, a preview
|
||||
* feature of the Java language. Programs can only use this
|
||||
* constant when preview features are enabled. Preview features
|
||||
* may be removed in a future release, or upgraded to permanent
|
||||
* features of the Java language.}
|
||||
*
|
||||
* Record component
|
||||
*
|
||||
* @jls 8.10.3 Record Members
|
||||
* @jls 9.7.4 Where Annotations May Appear
|
||||
*
|
||||
* @since 16
|
||||
* @since 14
|
||||
*/
|
||||
@jdk.internal.PreviewFeature(feature=jdk.internal.PreviewFeature.Feature.RECORDS,
|
||||
essentialAPI=true)
|
||||
RECORD_COMPONENT;
|
||||
}
|
||||
|
|
|
@ -38,14 +38,23 @@ import java.util.Map;
|
|||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* {@preview Associated with records, a preview feature of the Java language.
|
||||
*
|
||||
* This class is associated with <i>records</i>, a preview
|
||||
* feature of the Java language. Preview features
|
||||
* may be removed in a future release, or upgraded to permanent
|
||||
* features of the Java language.}
|
||||
*
|
||||
* A {@code RecordComponent} provides information about, and dynamic access to, a
|
||||
* component of a record class.
|
||||
*
|
||||
* @see Class#getRecordComponents()
|
||||
* @see java.lang.Record
|
||||
* @jls 8.10 Record Types
|
||||
* @since 16
|
||||
* @since 14
|
||||
*/
|
||||
@jdk.internal.PreviewFeature(feature=jdk.internal.PreviewFeature.Feature.RECORDS,
|
||||
essentialAPI=false)
|
||||
public final class RecordComponent implements AnnotatedElement {
|
||||
// declaring class
|
||||
private Class<?> clazz;
|
||||
|
|
|
@ -38,14 +38,23 @@ import java.util.List;
|
|||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* {@preview Associated with records, a preview feature of the Java language.
|
||||
*
|
||||
* This class is associated with <i>records</i>, a preview
|
||||
* feature of the Java language. Preview features
|
||||
* may be removed in a future release, or upgraded to permanent
|
||||
* features of the Java language.}
|
||||
*
|
||||
* Bootstrap methods for state-driven implementations of core methods,
|
||||
* including {@link Object#equals(Object)}, {@link Object#hashCode()}, and
|
||||
* {@link Object#toString()}. These methods may be used, for example, by
|
||||
* Java compiler implementations to implement the bodies of {@link Object}
|
||||
* methods for record classes.
|
||||
*
|
||||
* @since 16
|
||||
* @since 14
|
||||
*/
|
||||
@jdk.internal.PreviewFeature(feature=jdk.internal.PreviewFeature.Feature.RECORDS,
|
||||
essentialAPI=false)
|
||||
public class ObjectMethods {
|
||||
|
||||
private ObjectMethods() { }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue