hg: lambda/lambda/langtools: Enhancement: add support for array constructor references

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Mon Jan 7 07:16:47 PST 2013


On 07/01/13 16:15, Paul Benedict wrote:
> Maurizio,
>
> I must have missed something in the development of the spec.
> Primitives as a type parameter are new. Is it just for primitive
> arrays?
Not sure what you mean - primitive arrays have always been allowed as 
type-parameters of a generic class.

Maurizio
>
> Paul
>
> On Mon, Jan 7, 2013 at 7:13 AM,  <maurizio.cimadamore at oracle.com> wrote:
>> Changeset: 767ba50fb4b2
>> Author:    mcimadamore
>> Date:      2013-01-07 14:12 +0100
>> URL:       http://hg.openjdk.java.net/lambda/lambda/langtools/rev/767ba50fb4b2
>>
>> Enhancement: add support for array constructor references
>> Example:
>>
>> interface ArrayFactory<X> {
>>      X make(int size); //descriptor must accept an 'int' parameter (array size)
>> }
>>
>> ArrayFactory<int[][]> factory = int[][]::new;
>> int[][] i_arr = factory.make(5);
>>
>> ! src/share/classes/com/sun/tools/javac/comp/Check.java
>> ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java
>> ! src/share/classes/com/sun/tools/javac/comp/LegacyInfer.java
>> ! src/share/classes/com/sun/tools/javac/comp/Resolve.java
>> ! src/share/classes/com/sun/tools/javac/tree/JCTree.java
>> + test/tools/javac/lambda/MethodReference59.java
>> + test/tools/javac/lambda/MethodReference60.java
>> + test/tools/javac/lambda/MethodReference60.out
>>
>>



More information about the lambda-dev mailing list