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

Jan Lahoda jlahoda at openjdk.org
Thu Mar 28 13:45:58 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:

  Renaming visitReconstruction to visitDerivedInstance as suggested.

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/18509/files
  - new: https://git.openjdk.org/jdk/pull/18509/files/e1a61833..73752b90

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

  Stats: 15 lines in 10 files changed: 0 ins; 0 del; 15 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