On Tue, 21 Mar 2023 20:21:23 GMT, Chen Liang <li...@openjdk.org> wrote:

>> This typo doesn't allow creation of malformed ClassDesc or MethodTypeDesc, 
>> but it produces an erroneous exception on certain inputs. Running 
>> `java.lang.constant.MethodTypeDesc.ofDescriptor("(IIIII[[[V)I")` in Jshell 
>> 19.0.2 throws StringIndexOutOfBoundsException, and throws 
>> IllegalArgumentException in the Jshell for this patch.
>
> Chen Liang has updated the pull request with a new target base due to a merge 
> or a rebase. The incremental webrev excludes the unrelated changes brought in 
> by the merge/rebase. The pull request contains five additional commits since 
> the last revision:
> 
>  - Merge branch 'master' of https://git.openjdk.java.net/jdk into 8303930
>  - Add test for skipOverFieldSignature bug
>  - Merge branch 'master' of https://git.openjdk.java.net/jdk into 8303930
>  - Copyright year
>  - 8303930: Fix ConstantUtils.skipOverFieldSignature void case return value

Otherwise, looks good.

test/jdk/java/lang/constant/boottest/java.base/java/lang/constant/ConstantUtilsTest.java
 line 73:

> 71:     public void testSkipOverFieldSignatureVoid() {
> 72:        int ret = ConstantUtils.skipOverFieldSignature("(V)V", 1, 4, 
> false);
> 73:        assertEquals(ret, 0, "Descriptor Length of (V)V starting at index 
> 1, void disallowed");

I think you mean:

Suggestion:

       assertEquals(ret, 0, "Descriptor of (V)V starting at index 1, void 
disallowed");

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

PR Review: https://git.openjdk.org/jdk/pull/12964#pullrequestreview-1366077560
PR Review Comment: https://git.openjdk.org/jdk/pull/12964#discussion_r1153889851

Reply via email to