On Thu, 1 May 2025 00:01:08 GMT, Chen Liang <[email protected]> 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 1563:
> 1561: List<Class<?>> types =
> BytecodeDescriptor.parseMethod(enclosingInfo.getDescriptor(),
> getClassLoader());
> 1562: types.removeLast();
> 1563: Class<?>[] parameterClasses =
> types.toArray(EMPTY_CLASS_ARRAY);
Suggestion:
var parameterClasses = types.toArray(EMPTY_CLASS_ARRAY);
Here the type of parameterClasses is very clear, or you can use var
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24978#discussion_r2071107230