On Fri, 6 Jan 2023 01:05:40 GMT, Jaikiran Pai <j...@openjdk.org> wrote:

>> Trivial fix.  Fix `Invokers.checkExactType` to call 
>> `newWrongMethodTypeException(actual, expected)` with parameters in right 
>> order.
>
> Hello Mandy, this looks good to me. The copyright year on the file will need 
> an update.
> 
> There's another call to this `newWrongMethodTypeException` method on line 515 
> and I am guessing that one is already passing the params in the correct 
> order. If I go by that same logic, then there appears to be a direct 
> construction of `WrongMethodTypeException` on line 497 and I suspect the 
> `String` passed to it is perhaps using the wrong order? It currently says:
> 
> 
> if (handle.hasInvokeExactBehavior() && handle.accessModeType(ad.type) != 
> ad.symbolicMethodTypeExact) {
>      throw new WrongMethodTypeException("expected " + 
> handle.accessModeType(ad.type) + " but found "
>                     + ad.symbolicMethodTypeExact);
> }
> 
> Should it instead say:
> 
> if (handle.hasInvokeExactBehavior() && handle.accessModeType(ad.type) != 
> ad.symbolicMethodTypeExact) {
>     throw new WrongMethodTypeException("expected " + 
> ad.symbolicMethodTypeExact + " but found "
>                     + handle.accessModeType(ad.type));
> }

@jaikiran good observation. 

"expected" and "actual" parameters are confusing. "expected" is ambiguous and 
it could refer to handle's method type or symbolic type descriptor.  I decide 
to rename the parameters and the exception message for clarity.

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

PR: https://git.openjdk.org/jdk/pull/11870

Reply via email to