70 Commits

Author SHA1 Message Date
Liam Miller-Cushon
346dbd6d1c 8319196: ExecutableElement.getReceiverType doesn't return receiver types for methods loaded from bytecode
Reviewed-by: vromero
2023-11-14 17:38:09 +00:00
Liam Miller-Cushon
de6667cf11 8225377: type annotations are not visible to javac plugins across compilation boundaries
Reviewed-by: vromero
2023-11-03 17:31:05 +00:00
Joe Darcy
578ded4645 8312418: Add Elements.getEnumConstantBody
Co-authored-by: Jan Lahoda <jlahoda@openjdk.org>
Reviewed-by: vromero
2023-09-08 22:06:24 +00:00
Qing Xiao
8f7e29b2cd 8313422: test/langtools/tools/javac 144 test classes uses com.sun.tools.classfile library
Reviewed-by: asotona
2023-09-07 15:37:25 +00:00
Joe Darcy
c307391ab1 8307184: Incorrect/inconsistent specification and implementation for Elements.getDocComment
Reviewed-by: vromero, jjg
2023-08-09 21:17:10 +00:00
Joe Darcy
c24b0bada2 8309503: Improve javax.lang.model tests for JEP 445
Reviewed-by: jlahoda, jjg, jlaskey
2023-06-07 17:55:47 +00:00
Jim Laskey
98b53c06cf 8306112: Implementation of JEP 445: Unnamed Classes and Instance Main Methods (Preview)
8308613: javax.lang.model updates for JEP 445 (preview)
8308913: Update core reflection for JEP 445 (preview)

Co-authored-by: Maurizio Cimadamore <mcimadamore@openjdk.org>
Co-authored-by: Joe Darcy <darcy@openjdk.org>
Co-authored-by: Jan Lahoda <jlahoda@openjdk.org>
Co-authored-by: Jim Laskey <jlaskey@openjdk.org>
Co-authored-by: Adam Sotona <asotona@openjdk.org>
Reviewed-by: mcimadamore, vromero, darcy
2023-06-05 18:45:39 +00:00
Aggelos Biboudis
8aa50288a1 8302344: Compiler Implementation for Unnamed patterns and variables (Preview)
8307444: java.lang.AssertionError when using unnamed patterns
8307482: Compiler should accept var _ in nested patterns in switch case
8307007: Implementation for javax.lang.model for unnamed variables (Preview)
8308312: Compiler should fail when a local variable declaration does not include an Identifier and does not have an initializer
8308309: Compiler should accept mixed masked and unmasked variables in lambda parameters

Co-authored-by: Jan Lahoda <jlahoda@openjdk.org>
Co-authored-by: Aggelos Biboudis <abimpoudis@openjdk.org>
Reviewed-by: vromero, darcy
2023-05-22 08:52:36 +00:00
Hannes Greule
b3dbf28bc0 8292275: javac does not emit SYNTHETIC and MANDATED flags for parameters by default
Co-authored-by: Chen Liang <liach@openjdk.org>
Reviewed-by: vromero, jwaters
2023-04-30 07:34:09 +00:00
Stuart Marks
17ce0976e4 8266571: Sequenced Collections
Reviewed-by: alanb
2023-04-25 15:19:08 +00:00
Archie L. Cobbs
55e6bb6b85 8302685: Some javac unit tests aren't reliably closing open files
Reviewed-by: darcy, vromero
2023-02-27 16:21:57 +00:00
Archie L. Cobbs
a58fa6e73e 8302514: Misleading error generated when empty class file encountered
Reviewed-by: vromero, jwaters
2023-02-16 14:48:39 +00:00
Joe Darcy
b5a4744f90 8300857: State return value for Types.asElement(NoType) explicitly
Reviewed-by: jjg
2023-01-26 02:14:07 +00:00
Jan Lahoda
22a6b59102 8298727: Trees.getPath may crash for unnamed package
Reviewed-by: vromero
2022-12-15 11:33:56 +00:00
Joe Darcy
97c5a64d5c 8296287: Improve documentation for Types.directSupertypes()
Reviewed-by: jlahoda, prappo
2022-11-04 16:22:09 +00:00
Vicente Romero
95dd376ba2 8291914: generated constructors are considered compact when they shouldn't
Reviewed-by: darcy, jlahoda
2022-10-20 14:58:56 +00:00
Joe Darcy
0657acf534 8289249: Add methods to Elements for record constructors
Reviewed-by: vromero
2022-08-05 22:18:59 +00:00
Liam Miller-Cushon
4d30a1e8d1 8284220: TypeMirror#toString omits enclosing class names after JDK-8281238
Reviewed-by: darcy
2022-05-04 20:25:36 +00:00
Joe Darcy
732d891f9f 8282411: Add useful predicates to ElementKind
Reviewed-by: prappo
2022-03-01 18:48:43 +00:00
Jan Lahoda
8f969a1362 8278930: javac tries to compile a file twice via PackageElement.getEnclosedElements
Reviewed-by: vromero
2022-01-10 09:30:55 +00:00
Joe Darcy
4ff43010bb 8224922: Access JavaFileObject from Element(s)
Co-authored-by: Jan Lahoda <jlahoda@openjdk.org>
Reviewed-by: jjg
2021-11-21 20:42:37 +00:00
Joe Darcy
48f3fcab51 8275308: Add valueOf(Runtime.Version) factory to SourceVersion
Reviewed-by: jjg
2021-10-28 22:11:03 +00:00
Joe Darcy
2f01a6f8b6 8273157: Add convenience methods to Messager
Reviewed-by: jjg
2021-09-01 20:28:05 +00:00
Joe Darcy
57ae9fbe77 8140442: Add getOutermostTypeElement to javax.lang.model utility class
Reviewed-by: jlahoda
2021-08-10 16:49:49 +00:00
Joe Darcy
7fc99cf9b6 8225488: Examine ExecutableType.getReceiverType behavior when source receiver parameter is absent
Reviewed-by: jjg
2021-08-09 18:33:34 +00:00
Vicente Romero
4f9d6b7d68 8267465: remove superfluous preview related annotations and test options
Reviewed-by: jlahoda
2021-06-07 13:57:15 +00:00
Jan Lahoda
9247630a0d 8265270: Type.getEnclosingType() may fail with CompletionFailure
Reviewed-by: vromero
2021-06-02 09:53:31 +00:00
Joe Darcy
0ae4ceb413 8244146: javac changes for JEP 306
8266399: Core libs update for JEP 306

Reviewed-by: sadayapalam, bpb, naoto
2021-06-01 21:59:39 +00:00
Vicente Romero
f5562f1214 8258535: jvm.ClassReader should set the accessor to the corresponding record component
Reviewed-by: jfranck
2021-05-24 14:50:22 +00:00
Vicente Romero
0fa9223f34 8260517: implement Sealed Classes as a standard feature in Java
Co-authored-by: Harold Seigel <hseigel@openjdk.org>
Co-authored-by: Vicente Romero <vromero@openjdk.org>
Reviewed-by: dholmes, mcimadamore, jlahoda
2021-05-20 09:11:08 +00:00
Joe Darcy
ccefa5e378 8261625: Add Elements.isAutomaticModule(ModuleElement)
Reviewed-by: vromero, jlahoda
2021-04-08 21:25:17 +00:00
Jan Lahoda
235488215b 8250768: javac should be adapted to changes in JEP 12
Reviewed-by: mcimadamore, erikj, jjg, ihse
2021-01-11 10:10:47 +00:00
Guoxiong Li
8435f0daf2 8258525: Some existing tests should use /nodynamiccopyright/ instead of the standard header
Reviewed-by: jjg
2020-12-30 17:20:54 +00:00
Jan Lahoda
18bc95ba51 8250625: Compiler implementation of Pattern Matching for instanceof (Final)
Reviewed-by: vromero
2020-11-05 08:01:33 +00:00
Vicente Romero
8bde2f4e3d 8255013: implement Record Classes as a standard feature in Java, follow-up
Co-authored-by: Vicente Romero <vromero@openjdk.org>
Co-authored-by: Harold Seigel <hseigel@openjdk.org>
Co-authored-by: Chris Hegarty <chegar@openjdk.org>
Reviewed-by: jlahoda
2020-10-28 17:18:46 +00:00
Vicente Romero
1da28de82f 8255009: delta apply fixes for JDK-8246774 and JDK-8253455, pushed too soon
Reviewed-by: jlahoda
2020-10-19 15:55:54 +00:00
Vicente Romero
c17d58516f 8246774: implement Record Classes as a standard feature in Java
Co-authored-by: Vicente Romero <vromero@openjdk.org>
Co-authored-by: Harold Seigel <hseigel@openjdk.org>
Co-authored-by: Chris Hegarty <chegar@openjdk.org>
Reviewed-by: coleenp, jlahoda, sspitsyn, chegar
2020-10-18 18:54:33 +00:00
Vicente Romero
37880ba60d 8242529: javac defines type annotations incorrectly for record members (constructor and property accessor)
Reviewed-by: psandoz, jlahoda
2020-07-09 17:37:53 -04:00
Vicente Romero
d42bfef8a4 8227046: compiler implementation for sealed classes
8225056: VM support for sealed classes
8227044: javax.lang.model for sealed classes
8227045: Preview APIs support for sealed classes
8227047: Javadoc for sealed types
8245854: JVM TI Specification for sealed classes

Co-authored-by: Harold Seigel <harold.seigel@oracle.com>
Co-authored-by: Jan Lahoda <jan.lahoda@oracle.com>
Reviewed-by: mcimadamore, forax, darcy, dholmes, jlahoda, lfoltan, mchung, sspitsyn, vromero
2020-06-01 17:00:40 -04:00
Vicente Romero
9efdaacc31 8242478: compiler implementation for records (Second Preview)
Reviewed-by: mcimadamore, jlahoda, darcy
2020-05-17 11:09:52 -04:00
Vicente Romero
afbe2286e2 8239447: compiler error for annotations applied to record components with target METHOD
Reviewed-by: mcimadamore
2020-03-13 10:29:03 -04:00
Jan Lahoda
ad5ea72286 8235541: Extend javax.lang.model to cover binding variables
Reviewed-by: darcy
2019-12-09 09:40:09 +01:00
Vicente Romero
69c1729e26 8234101: Compilation error thrown when repeating annotation is used on record component
Reviewed-by: jlahoda
2019-12-11 15:31:40 -05:00
Vicente Romero
827e5e3226 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
2019-12-04 15:57:39 -05:00
Per Lidén
5cb6271830 8234382: Test tools/javac/processing/model/testgetallmembers/Main.java using too small heap
Reviewed-by: eosterlund, tschatzl
2019-11-20 10:37:46 +01:00
Joe Darcy
c64756158f 8233096: Update javax.lang.model for switch expressions
Reviewed-by: jjg, jlahoda
2019-11-13 15:16:45 -08:00
Joe Darcy
f14e213524 8230337: Clarify intention of Elements.{getPackageOf, getModuleOf}
Reviewed-by: jjg
2019-08-30 11:26:48 -07:00
Joe Darcy
51cf24fcc0 8222369: ExecutableElement.getReceiverType returns null instead of NOTYPE
Reviewed-by: jjg
2019-06-13 16:39:20 -07:00
Joe Darcy
aeedfd44b0 8164819: Make javac's toString() on annotation objects consistent with core reflection
Reviewed-by: jjg, coleenp
2019-06-13 11:50:45 -07:00
Joe Darcy
bcd13b790f 8224687: Add clarifying overrides of Element.asType to more specific subinterfaces
Reviewed-by: jjg
2019-05-30 16:21:08 -07:00