On Thu, 1 May 2025 00:01:08 GMT, Chen Liang <li...@openjdk.org> wrote:
> As another step toward the removal of the old generics infrastructure, I > propose to remove the usages of generic parsing utilities and use the > facilities provided by BytecodeDescriptor, already used by > MethodType.fromDescriptorString. This also prevents extra validation cost in > use sites to defend against generic types. > > In this patch, BytecodeDescriptor and Wrapper see minor updates, mainly for > better exception messages - previously, an unparseable char in the descriptor > string just reports that char, and now the whole descriptor string is > reported. > > These behaviors are already covered by the tests added in JDK-8350704 #23788. > > Testing: reflect/annotation/Class, running tier 1+2 src/java.base/share/classes/java/lang/Class.java line 1565: > 1563: Class<?>[] parameterClasses = > types.toArray(EMPTY_CLASS_ARRAY); > 1564: > 1565: final Class<?> enclosingCandidate = > enclosingInfo.getEnclosingClass(); Suggestion: Constructor<?>[] candidates = enclosingInfo.getEnclosingClass() .privateGetDeclaredConstructors(false); Here the local variable `enclosingInfo` is only used once, the above code may be simpler ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/24978#discussion_r2071095785