RFR: 8174222: LambdaMetafactory: validate inputs and improve documentation [v2]

Peter Levart plevart at openjdk.java.net
Fri Jun 4 06:19:59 UTC 2021


On Thu, 3 Jun 2021 20:40:23 GMT, Dan Smith <dlsmith at openjdk.org> wrote:

>> Standardizes and better specifies the errors thrown by LambdaMetafactory, including for inputs that would not be generated by javac.
>> 
>> Does some renaming of core parameters/fields to better reflect their purpose.
>> 
>> In the implementation, stops using ACC_BRIDGE for any methods, which is not a good fit for what these methods do (they don't delegate to each other, but all invoke the same implementation method).
>
> Dan Smith has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Fix accidentally commented-out parts of test

src/java.base/share/classes/java/lang/invoke/AbstractValidatingLambdaMetafactory.java line 69:

> 67:     final boolean isSerializable;             // Should the returned instance be serializable
> 68:     final Class<?>[] interfaces;              // Additional interfaces to be implemented
> 69:     final MethodType[] bridges;               // Signatures of additional methods to bridge

If you are removing ACC_BRIDGE from additional generated methods, then perhaps this parameter name could also be changed? `altMethods` (as alternative methods perhaps?)

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

PR: https://git.openjdk.java.net/jdk/pull/4346


More information about the core-libs-dev mailing list