[code-reflection] Integrated: Erase receiver type before calling Gen::binaryQualifier

Maurizio Cimadamore mcimadamore at openjdk.org
Mon Apr 15 08:02:56 UTC 2024


On Fri, 12 Apr 2024 12:01:35 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:

> I found an issue where `Gen::binaryQualifier` was called on a non-denotable reveiver type. This led to a crash, as `binaryQualifier` ended up creating a new symbol whose owner was the non-denotable receiver and, at least for some symbols, we check in the constructor that the owner can't be a type-variable.
> 
> The solution is to make sure that the receiver type (`site`) passed to `binaryQualifier` is always erased, which is also the assumption `Gen` makes (obviously).

This pull request has now been integrated.

Changeset: ff2074f8
Author:    Maurizio Cimadamore <mcimadamore at openjdk.org>
URL:       https://git.openjdk.org/babylon/commit/ff2074f84ab339eee340eeab435a5ae1afc1a7c4
Stats:     44 lines in 2 files changed: 42 ins; 0 del; 2 mod

Erase receiver type before calling Gen::binaryQualifier

Reviewed-by: psandoz

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

PR: https://git.openjdk.org/babylon/pull/50


More information about the babylon-dev mailing list