[jdk17] RFR: 8270025: DynamicCallSiteDesc::withArgs doesn't throw NPE
Vicente Romero
vromero at openjdk.java.net
Mon Jul 12 17:38:53 UTC 2021
On Mon, 12 Jul 2021 17:11:01 GMT, Mandy Chung <mchung at 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
>
> 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.
will do
-------------
PR: https://git.openjdk.java.net/jdk17/pull/242
More information about the core-libs-dev
mailing list