On Sat, 23 Aug 2025 01:46:14 GMT, Chen Liang <li...@openjdk.org> wrote:

> A previous cleanup #14642 accidentally omitted the fact that an 
> `Array.newInstance` call in `BytecodeDescriptor::parseSig` is intended to 
> propagate `IllegalArgumentException` to 
> `MethodType::fromMethodDescriptorString`. This bug is discovered in a recent 
> cleanup for `BytecodeDescriptor` in #24978.
> 
> Instead of restoring the original `newInstance` call, this patch catches the 
> `UnsupportedOperationException` thrown by `Class::arrayType` to because the 
> cause IAE thrown by `newInstance` has no message at all. The existing 
> reporting system in `BytecodeDescriptor::parseMethod` includes the whole 
> malformed descriptor string in the error message, which can be triggered by 
> returning `null` in `parseSig`.

Looks good

test/jdk/java/lang/invoke/MethodTypeTest.java line 232:

> 230:                 "(" + "[".repeat(256) + "J)I",
> 231:                 "(java/lang/Object)V",
> 232:         };

Maybe add a case with a bad return type as well?

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

Marked as reviewed by jvernee (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/26909#pullrequestreview-3151195935
PR Review Comment: https://git.openjdk.org/jdk/pull/26909#discussion_r2297954343

Reply via email to