RFR: 8267421: j.l.constant.DirectMethodHandleDesc.Kind.valueOf(int) implementation doesn't conform to the spec regarding REF_invokeInterface handling [v2]
Mandy Chung
mchung at openjdk.java.net
Fri Jun 11 02:52:50 UTC 2021
On Thu, 10 Jun 2021 23:23:23 GMT, Vicente Romero <vromero at openjdk.org> wrote:
>> test/jdk/java/lang/constant/MethodHandleDescTest.java line 362:
>>
>>> 360: public void testKind() {
>>> 361: for (Kind k : Kind.values()) {
>>> 362: assertEquals(Kind.valueOf(k.refKind), Kind.valueOf(k.refKind, k.refKind == MethodHandleInfo.REF_invokeInterface));
>>
>> Looks like the test does not verify the cases specified by `valueOf(int refKind, boolean isInterface)`.
>> i.e. For most values of refKind, there is an exact match regardless of the value of isInterface except `REF_invokeStatic` and `REF_invokeSpecial`.
>>
>> Do you mind adding those cases?
>
> @mlchung I have updated the PR with another commit, thanks for your comments
It may be better to create a new JBS issue to fix this bug as it may take more time to investigate.
-------------
PR: https://git.openjdk.java.net/jdk/pull/4416
More information about the core-libs-dev
mailing list