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

Liam Miller-Cushon cushon at openjdk.org
Tue Aug 13 15:12:08 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.

Liam Miller-Cushon has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:

 - Merge branch 'master' into JDK-8336942
 - Sort entries in nameToAnnotation
 - 8336942: Improve test coverage for class loading elements with annotations of different retentions

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/20287/files
  - new: https://git.openjdk.org/jdk/pull/20287/files/b598c5d8..7e5bbd58

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=20287&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=20287&range=00-01

  Stats: 31993 lines in 1037 files changed: 16087 ins; 11622 del; 4284 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