RFR: 8357653: Inner classes of type parameters emitted as raw types in signatures [v10]
Maurizio Cimadamore
mcimadamore at openjdk.org
Tue Jul 8 21:20:40 UTC 2025
On Tue, 8 Jul 2025 21:13:17 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:
>> Aggelos Biboudis has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Fix imports again
>
> src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java line 2270:
>
>> 2268:
>> 2269: /**
>> 2270: * Return the (most specific) base type of t that starts with
>
> Base type smells like "raw" type -- e.g. non-parameterized. I wonder if it would be clearer to specify in a more direct way:
>
> Calls `asSuper(S, sym)` on a sequence of types until a match is found. The sequence of types starts with `t` and the next type in the sequence is obtained by passing the previous type in the sequence to the unary operator `nextType`.
The text I wrote above can also be "specialized" for `asOuterSuper`:
Calls `asSuper(S, sym)` on a sequence of types until a match is found. The sequence of types starts with `t` and the next type in the sequence is obtained by calling `getEnclosingType()` on the previous type in the sequence.
And similarly, for `asEnclosingSuper`:
Calls `asSuper(S, sym)` on a sequence of types until a match is found. The sequence of types starts with `t` and the next type in the sequence is obtained by obtaining innermost lexically enclosing class type of the previous type in the sequence.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/25451#discussion_r2193459134
More information about the compiler-dev
mailing list