RFR: 8334037: Local class creation in lambda in pre-construction context crashes javac
Maurizio Cimadamore
mcimadamore at openjdk.org
Wed Jun 26 11:05:35 UTC 2024
As we recently [moved](https://github.com/openjdk/jdk/pull/19836) the translation of "simple" method references from `LambdaToMethod` to `Lower`, it became clearer that this step in fact would benefit from running even *earlier*, as it depends on the synthetic casts generated by `TransTypes` (e.g. if one or more desugared lambda parameters have a type that is either an intersection or a union type).
Moving the translation earlier would allow us not to *guess* which casts would need to be introduced, and just running `TransTypes::translate` on the desugaring code would take into account the type mismatches.
-------------
Commit messages:
- Initial push
Changes: https://git.openjdk.org/jdk/pull/19903/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19903&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8334037
Stats: 624 lines in 2 files changed: 271 ins; 353 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/19903.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/19903/head:pull/19903
PR: https://git.openjdk.org/jdk/pull/19903
More information about the compiler-dev
mailing list