RFR: 8336942: Improve test coverage for class loading elements with annotations of different retentions

Liam Miller-Cushon cushon at openjdk.org
Mon Jul 22 23:09:56 UTC 2024


This changes adds some additional test coverage for the handling of type use annotations read from class files added in [JDK-8225377](https://bugs.openjdk.org/browse/JDK-8225377).

If both a `RUNTIME` and `CLASS` retention type annotation appear on the same element loaded from a class file, the annotations are attached by separate `TypeAnnotationCompleter's`s, and the logic in `ClassReader` needs to merge the annotations from the second attribute with annotations added by the first one.

The implementation already handles this correctly, but there isn't explicit test coverage for it. This change adds test coverage for that case.

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

Commit messages:
 - Sort entries in nameToAnnotation
 - 8336942: Improve test coverage for class loading elements with annotations of different retentions

Changes: https://git.openjdk.org/jdk/pull/20287/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=20287&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8336942
  Stats: 15 lines in 1 file changed: 14 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/20287.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/20287/head:pull/20287

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


More information about the compiler-dev mailing list