hg: lambda/lambda/langtools: Bug fixes:
maurizio.cimadamore at oracle.com
maurizio.cimadamore at oracle.com
Wed Jul 18 10:55:08 PDT 2012
Changeset: fda29f6edfc4
Author: mcimadamore
Date: 2012-07-18 18:54 +0100
URL: http://hg.openjdk.java.net/lambda/lambda/langtools/rev/fda29f6edfc4
Bug fixes:
*) method reference bridge generation in the inner class translation doesn't handle varargs correctly
*) enclosing instance check on explicit inner constructor reference is bogus
Enhancements
*) 'raw' constructor reference will cause diamond inference to kick in
//example 1 - inference from arguments
interface SAM1 {
void m(Integer s);
}
class Foo<X> {
Foo(X x) { }
}
Foo<?> f = Foo::new; //Foo<Integer>::new inferred
//example 2 - inference from return type
interface SAM2 {
Integer m();
}
class Bar<X> { }
Bar<String> f = Bar::new; //Bar<String>::new inferred
! src/share/classes/com/sun/tools/javac/comp/Attr.java
! src/share/classes/com/sun/tools/javac/comp/LambdaToInnerClass.java
! src/share/classes/com/sun/tools/javac/comp/Resolve.java
+ test/tools/javac/lambda/LambdaConv23.java
+ test/tools/javac/lambda/MethodReference39.java
+ test/tools/javac/lambda/MethodReference39.out
+ test/tools/javac/lambda/MethodReference40.java
+ test/tools/javac/lambda/MethodReference41.java
+ test/tools/javac/lambda/MethodReference42.java
More information about the lambda-dev
mailing list