RFR: 8324651: Compiler Implementation for Derived Record Creation (Preview) [v12]
Jan Lahoda
jlahoda at openjdk.org
Mon Apr 29 06:31:20 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 with a new target base due to a merge or a rebase. The pull request now contains 36 commits:
- Merge branch 'master' into wthexp
- Post-merge fixes.
- Merge branch 'master' into wthexp
- Reflecting review feedback:
- reverting unnecessary changes in TransPatterns
- moving the patters/withers/Model test to a more appropriate place
- Adding tests as suggested.
- Reflecting review feedback:
- pre-generating the JCVarDecls in Attr, to aid Flow
- adding a note on how the desugared code looks like
- JavaCompiler cleanup
- Improving the javax.lang.model for component local variables, by darcy.
- Reflecting review feedback.
- Merge branch 'master' into wthexp
- ... and 26 more: https://git.openjdk.org/jdk/compare/4e5c25ee...c97eb8e6
-------------
Changes: https://git.openjdk.org/jdk/pull/18509/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18509&range=11
Stats: 2023 lines in 51 files changed: 1965 ins; 19 del; 39 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