In annotated types, local and inner class types should be annotated as "top-level" types. For example, in the test here
public static Class<?> getLocalsMember() { class Local { class Member { @Annot(2635) Member(@Annot(2732) Local Local.this) {} } } return Local.Member.class; } The `Local` occurrences cannot be qualified with the enclosing class type, even if the local class may be compiled to capture the enclosing class. However, core reflection had a bug where it looks for an enclosing class instead of a declaring class; this meant that for said `Local`, core reflection was treating the outer class as the top-level in type annotations, while the top level should be the local class instead. This patch fixes this bug. ------------- Commit messages: - 8162500: Receiver annotations of inner classes of local classes not found at runtime Changes: https://git.openjdk.org/jdk/pull/20200/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=20200&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8162500 Stats: 16 lines in 2 files changed: 11 ins; 0 del; 5 mod Patch: https://git.openjdk.org/jdk/pull/20200.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/20200/head:pull/20200 PR: https://git.openjdk.org/jdk/pull/20200