RFR: 8356057: PrintingProcessor (-Xprint) does not print type variable bounds and type annotations for Object supertypes [v5]

Joe Darcy darcy at openjdk.org
Mon May 12 17:25:54 UTC 2025


On Mon, 12 May 2025 11:22:10 GMT, Jan Lahoda <jlahoda at openjdk.org> wrote:

>> Consider code like:
>> 
>> import java.lang.annotation.*;
>> 
>> public class PrintingTest<T extends CharSequence> extends @TA Object {
>> }
>> 
>> @Target(ElementType.TYPE_USE)
>> @interface TA {}
>> 
>> 
>> when using `-Xprint` to print this code, javac produces this:
>> 
>> public class PrintingTest<T> {
>> 
>>   public PrintingTest();
>> }
>> 
>> @java.lang.annotation.Target({TYPE_USE})
>> @interface TA {
>> }
>> 
>> 
>> Note the type variable is missing the bound, and the annotated supertype is missing. This PR proposes to change that to:
>> 
>> public class PrintingTest<T extends java.lang.CharSequence> extends java.lang. at TA Object {
>> 
>>   public PrintingTest();
>> }
>> 
>> @java.lang.annotation.Target({TYPE_USE})
>> @interface TA {
>> }
>> 
>> 
>> Please also review the CSR:
>> https://bugs.openjdk.org/browse/JDK-8356058
>> and the release note:
>> https://bugs.openjdk.org/browse/JDK-8356062
>
> Jan Lahoda has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Adding test for recursive bounds.

Marked as reviewed by darcy (Reviewer).

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

PR Review: https://git.openjdk.org/jdk/pull/25002#pullrequestreview-2833961234


More information about the compiler-dev mailing list