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

Jan Lahoda jlahoda at openjdk.org
Fri May 2 11:42:27 UTC 2025


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

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

Commit messages:
 - Adjusting test output.
 - Fixing type var bounds.
 - 8356057: PrintingProcessor (-Xprint) does not print type variable bounds and type annotations for Object supertypes

Changes: https://git.openjdk.org/jdk/pull/25002/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=25002&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8356057
  Stats: 167 lines in 6 files changed: 146 ins; 2 del; 19 mod
  Patch: https://git.openjdk.org/jdk/pull/25002.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/25002/head:pull/25002

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


More information about the compiler-dev mailing list