Integrated: 8335159: Move method reference to lambda desugaring before Lower

Maurizio Cimadamore mcimadamore at openjdk.org
Mon Jul 15 14:26:58 UTC 2024


On Wed, 26 Jun 2024 11:00:23 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:

> 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.

This pull request has now been integrated.

Changeset: 46355319
Author:    Maurizio Cimadamore <mcimadamore at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/4635531950dbcfcd3ee2f13a57f0909af78a94c7
Stats:     660 lines in 3 files changed: 307 ins; 353 del; 0 mod

8335159: Move method reference to lambda desugaring before Lower
8336320: NullPointerException: Cannot invoke Type.getTag because type is null after JDK-8334037

Reviewed-by: jlahoda, vromero

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

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


More information about the compiler-dev mailing list