On Sat, 10 Jul 2021 19:03:36 GMT, Vicente Romero <vrom...@openjdk.org> wrote:

> Please review this PR that is fixing a mismatch between the implementation 
> for method `java.lang.constant.DynamicCallSiteDesc::withArgs` and its 
> implementation. I made a mistake while working on a recent CSR 
> [JDK-8224985](https://bugs.openjdk.java.net/browse/JDK-8224985) and fixed the 
> API but mistakenly thought that the implementation was in sync with the spec. 
> This is why this change is also including a unit test of the API for 
> `java.lang.constant.DynamicCallSiteDesc` modulo method `resolveCallSiteDesc` 
> which is covered in test `IndyDescTest` in the same test suite. Also this 
> change needs a CSR as while fixing the implementation of method `::withArgs` 
> I realized that the API of the varargs overloaded version of method `::of` 
> needed some rewording too as it is invoking the same private constructor 
> `::withArgs` is invoking. So it didn't make sense for the API of one method 
> to be more restrictive than the other. Please review also the accompanying 
> CSR.
> 
> Thanks,
> Vicente

Looks good.  Minor suggestions in the test.

test/jdk/java/lang/constant/DynamicCallSiteDescTest.java line 60:

> 58:                             "bootstrap",
> 59:                             ClassDesc.of("java.lang.invoke.CallSite")
> 60:                     ),

A minor suggestion: you can have the return `DirectMethodHandleDesc` in a local 
variable to be used in all `DynamicCallSiteDesc::of` calls that would avoid 
copy-n-paste of same `ConstantDescs::ofCallsiteBootstrap` call.

test/jdk/java/lang/constant/DynamicCallSiteDescTest.java line 64:

> 62:                     MethodTypeDesc.ofDescriptor("()I")
> 63:             );
> 64:             throw new AssertionError("IllegalArgumentException expected");

Suggestion:

            fail("IllegalArgumentException expected");


Same for other `throw new AssertionError(...)`

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

Marked as reviewed by mchung (Reviewer).

PR: https://git.openjdk.java.net/jdk17/pull/242

Reply via email to