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.

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

Commit messages:
 - Removing whitespace
 - Cleanup.
 - Cleanup, bugfixes.
 - Adding tests.
 - Adding examples.
 - More correct handling of exceptions in derived record creation expression; 
optimizing the resulting bytecode.
 - Javadoc cleanup.
 - Merge branch 'master' into wthexp
 - Adding missing file.
 - Cleanup.
 - ... and 11 more: https://git.openjdk.org/jdk/compare/0c1b254b...a61682ff

Changes: https://git.openjdk.org/jdk/pull/18509/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18509&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8324651
  Stats: 1551 lines in 41 files changed: 1481 ins; 20 del; 50 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

Reply via email to