The return value adaption of Proxy is problematic, that it may attempt to access package-private types inaccessible to its package in a `checkcast` instruction, which causes `IllegalAccessError` if the returned object is not `null`. This likely affects all Java versions since the publication of OpenJDK.
A practical effect of this is that if a repeatable annotation is package-private but the container is not, user code cannot access the `value` element in the container annotation. All added tests except `PackagePrivateContainerTest::testGetRepeatable` fail on current mainline and pass with the ProxyGenerator patch. Testing: Running tier 1-3 ------------- Commit messages: - 8349716: IllegalAccessError when Proxy methods return object of a package-private type Changes: https://git.openjdk.org/jdk/pull/23567/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23567&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8349716 Stats: 140 lines in 3 files changed: 133 ins; 0 del; 7 mod Patch: https://git.openjdk.org/jdk/pull/23567.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/23567/head:pull/23567 PR: https://git.openjdk.org/jdk/pull/23567