8225054: Compiler implementation for records

8225052: javax.lang.model support for records
8225053: Preview APIs support for records
8225055: Javadoc for records
8226314: com.sun.source support for records
8227113: Specification for java.lang.Record
8233526: JVM support for records

Implement records in the compiler and the JVM, including serialization, reflection and APIs support

Co-authored-by: Brian Goetz <brian.goetz@oracle.com>
Co-authored-by: Maurizio Cimadamore <maurizio.cimadamore@oracle.com>
Co-authored-by: Harold Seigel <harold.seigel@oracle.com>
Co-authored-by: Joe Darcy <joe.darcy@oracle.com>
Co-authored-by: Jonathan Gibbons <jonathan.gibbons@oracle.com>
Co-authored-by: Chris Hegarty <chris.hegarty@oracle.com>
Co-authored-by: Jan Lahoda <jan.lahoda@oracle.com>
Reviewed-by: mcimadamore, briangoetz, alanb, darcy, chegar, jrose, jlahoda, coleenp, dholmes, lfoltan, mchung, sadayapalam, hannesw, sspitsyn
This commit is contained in:
Vicente Romero 2019-12-04 15:57:39 -05:00
parent 0a375cfa2d
commit 827e5e3226
351 changed files with 24958 additions and 6395 deletions

View file

@ -111,7 +111,7 @@ public abstract class JavacTestingAbstractProcessor extends AbstractProcessor {
*/
@SupportedSourceVersion(RELEASE_14)
public static abstract class AbstractAnnotationValueVisitor<R, P> extends AbstractAnnotationValueVisitor9<R, P> {
public static abstract class AbstractAnnotationValueVisitor<R, P> extends AbstractAnnotationValueVisitor14<R, P> {
/**
* Constructor for concrete subclasses to call.
@ -122,7 +122,7 @@ public abstract class JavacTestingAbstractProcessor extends AbstractProcessor {
}
@SupportedSourceVersion(RELEASE_14)
public static abstract class AbstractElementVisitor<R, P> extends AbstractElementVisitor9<R, P> {
public static abstract class AbstractElementVisitor<R, P> extends AbstractElementVisitor14<R, P> {
/**
* Constructor for concrete subclasses to call.
*/
@ -132,7 +132,7 @@ public abstract class JavacTestingAbstractProcessor extends AbstractProcessor {
}
@SupportedSourceVersion(RELEASE_14)
public static abstract class AbstractTypeVisitor<R, P> extends AbstractTypeVisitor9<R, P> {
public static abstract class AbstractTypeVisitor<R, P> extends AbstractTypeVisitor14<R, P> {
/**
* Constructor for concrete subclasses to call.
*/
@ -142,7 +142,7 @@ public abstract class JavacTestingAbstractProcessor extends AbstractProcessor {
}
@SupportedSourceVersion(RELEASE_14)
public static class ElementKindVisitor<R, P> extends ElementKindVisitor9<R, P> {
public static class ElementKindVisitor<R, P> extends ElementKindVisitor14<R, P> {
/**
* Constructor for concrete subclasses; uses {@code null} for the
* default value.
@ -163,7 +163,7 @@ public abstract class JavacTestingAbstractProcessor extends AbstractProcessor {
}
@SupportedSourceVersion(RELEASE_14)
public static class ElementScanner<R, P> extends ElementScanner9<R, P> {
public static class ElementScanner<R, P> extends ElementScanner14<R, P> {
/**
* Constructor for concrete subclasses; uses {@code null} for the
* default value.
@ -182,7 +182,7 @@ public abstract class JavacTestingAbstractProcessor extends AbstractProcessor {
}
@SupportedSourceVersion(RELEASE_14)
public static class SimpleAnnotationValueVisitor<R, P> extends SimpleAnnotationValueVisitor9<R, P> {
public static class SimpleAnnotationValueVisitor<R, P> extends SimpleAnnotationValueVisitor14<R, P> {
/**
* Constructor for concrete subclasses; uses {@code null} for the
* default value.
@ -203,7 +203,7 @@ public abstract class JavacTestingAbstractProcessor extends AbstractProcessor {
}
@SupportedSourceVersion(RELEASE_14)
public static class SimpleElementVisitor<R, P> extends SimpleElementVisitor9<R, P> {
public static class SimpleElementVisitor<R, P> extends SimpleElementVisitor14<R, P> {
/**
* Constructor for concrete subclasses; uses {@code null} for the
* default value.
@ -224,7 +224,7 @@ public abstract class JavacTestingAbstractProcessor extends AbstractProcessor {
}
@SupportedSourceVersion(RELEASE_14)
public static class SimpleTypeVisitor<R, P> extends SimpleTypeVisitor9<R, P> {
public static class SimpleTypeVisitor<R, P> extends SimpleTypeVisitor14<R, P> {
/**
* Constructor for concrete subclasses; uses {@code null} for the
* default value.
@ -245,7 +245,7 @@ public abstract class JavacTestingAbstractProcessor extends AbstractProcessor {
}
@SupportedSourceVersion(RELEASE_14)
public static class TypeKindVisitor<R, P> extends TypeKindVisitor9<R, P> {
public static class TypeKindVisitor<R, P> extends TypeKindVisitor14<R, P> {
/**
* Constructor for concrete subclasses to call; uses {@code null}
* for the default value.