hg: lambda/lambda/langtools: Handle non-static method references from static context. More specifically, if f is an instance method of Z whose signature is A, B->C, then #obj.f is of type A, B->C and #Z.f is of type Z, A, B->C.

Brian Goetz brian.goetz at oracle.com
Wed Aug 4 07:54:21 PDT 2010


Yes, that is exactly the point!

Stay tuned for some cool examples which I was going to post later today.

On 8/4/2010 10:36 AM, Kevin Bourrillion wrote:
> Hello,
>
> Does this mean that we could replace
>
>    Predicate<Employee>  p = { e ->  e.isPartTime() };
>
> with
>
>    Predicate<Employee>  p = #Employee.isPartTime;
>
> ?  If so, very cool.
>
>
>
>
> On Wed, Aug 4, 2010 at 7:13 AM,<maurizio.cimadamore at oracle.com>  wrote:
>
>> Changeset: 443eb1d3b96c
>> Author:    mcimadamore
>> Date:      2010-08-04 15:10 +0100
>> URL:
>> http://hg.openjdk.java.net/lambda/lambda/langtools/rev/443eb1d3b96c
>>
>> Handle non-static method references from static context. More specifically,
>> if f is an instance method of Z whose signature is A,B->C, then #obj.f is of
>> type A,B->C and #Z.f is of type Z,A,B->C.
>>
>> ! src/share/classes/com/sun/tools/javac/comp/Attr.java
>> ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java
>> ! test/tools/javac/lambda/MethodReference05.java
>> - test/tools/javac/lambda/MethodReference05.out
>> + test/tools/javac/lambda/MethodReference07.java
>> + test/tools/javac/lambda/MethodReference08.java
>> + test/tools/javac/lambda/MethodReference08.out
>> + test/tools/javac/lambda/MethodReference09.java
>> + test/tools/javac/lambda/MethodReference09.out
>>
>>
>>
>
>


More information about the lambda-dev mailing list