RFR: 8325805: Compiler Implementation for Flexible Constructor Bodies (Second Preview) [v6]

Archie Cobbs acobbs at openjdk.org
Wed May 8 18:01:26 UTC 2024


> This patch changes the compiler to allow constructors to make assignments to fields prior to the `super()` invocation, i.e., in the pre-construction context.  This is part of the work associated with [JDK-8325803 - Flexible Constructor Bodies (Second Preview)](https://bugs.openjdk.org/browse/JDK-8325803).
> 
> This patch is based the relevant bits from @vicente-romero-oracle's commit [1b99b5cf](https://github.com/openjdk/valhalla/commit/1b99b5cfd9a5d484b9e7bdfc284daad9ad6535bf) to the valhalla repo.

Archie Cobbs has updated the pull request incrementally with three additional commits since the last revision:

 - Refactor some common logic into new method Resolve.isEarlyReference().
 - Minor improvements to method name and Javadoc description.
 - Add assertion to Resolve.resolveSelf() verifying symbol name.

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/18088/files
  - new: https://git.openjdk.org/jdk/pull/18088/files/7e6a6a0d..b80e7527

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=18088&range=05
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18088&range=04-05

  Stats: 41 lines in 2 files changed: 25 ins; 9 del; 7 mod
  Patch: https://git.openjdk.org/jdk/pull/18088.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18088/head:pull/18088

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


More information about the compiler-dev mailing list