lambda finder available!
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Fri Nov 12 09:55:19 PST 2010
Hi,
I'd like to spend few time in order to discuss a feature that I pushed
while back and that probably went unnoticed (I just realized that the
commit message didn't contain anything too specific about that :-) ).
The idea is to find all potential anonymous inner class creation
expressions that can be potentially replaced by a lambda expression. In
order to turn this 'lambda finder' feature on, you need to pass the
compiler the hidden flag '-XDidentifyLambdaCandidate=true'.
This is an example of how the flag works; assume that you have the
following code:
class Test {
Runnable r = new Runnable() { void run() { System.out.println("Hello!");
} };
}
if you compile the above program with the hidden flag, javac will emit
the following note:
Test.java:2: Note: This anonymous inner class creation can be turned
into a lambda expression.
Runnable r = new Runnable() { public void run() {
System.out.println("Hello!"); } };
^
This means that this feature can be helpful (I hope) in order to
refactor existing code base to use lambda expressions.
Maurizio
More information about the lambda-dev
mailing list