RFR: 8324651: Compiler Implementation for Derived Record Creation (Preview) [v8]

Jan Lahoda jlahoda at openjdk.org
Fri Apr 5 18:35:37 UTC 2024


> This is a patch for javac, that adds the Derived Record Creation expressions. The current draft specification for the feature is:
> https://cr.openjdk.org/~gbierman/jep468/jep468-20240326/specs/derived-record-creation-jls.html
> 
> The current CSR is here:
> https://bugs.openjdk.org/browse/JDK-8328637
> 
> The patch is mostly straightforward, with two notable changes:
>  - there is a new `ElementKind.COMPONENT_LOCAL_VARIABLE`, as the specification introduces this term, and it seems consistent with `ElementKind.BINDING_VARIABLE` that was introduced some time ago.
>  - there are a bit broader changes in `Flow`, to facilitate the introduction of variables without an explicit declaration for definite assignment and effectively final computation.

Jan Lahoda has updated the pull request incrementally with one additional commit since the last revision:

  Reflecting review feedback:
  - pre-generating the JCVarDecls in Attr, to aid Flow
  - adding a note on how the desugared code looks like

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/18509/files
  - new: https://git.openjdk.org/jdk/pull/18509/files/c91e87fd..14651358

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=18509&range=07
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18509&range=06-07

  Stats: 75 lines in 6 files changed: 30 ins; 11 del; 34 mod
  Patch: https://git.openjdk.org/jdk/pull/18509.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18509/head:pull/18509

PR: https://git.openjdk.org/jdk/pull/18509


More information about the core-libs-dev mailing list