hg: lambda/lambda/langtools: Implement more refined effectively-final analysis based on DA/DU rules

maurizio.cimadamore at oracle.com maurizio.cimadamore at oracle.com
Tue May 29 05:43:24 PDT 2012


Changeset: c9a2ed981af2
Author:    mcimadamore
Date:      2012-05-29 13:41 +0100
URL:       http://hg.openjdk.java.net/lambda/lambda/langtools/rev/c9a2ed981af2

Implement more refined effectively-final analysis based on DA/DU rules
Effectively final now supports blank locals - i.e.

int i;
if (cond) {
   i = 10;
} else {
   i = 5;
}
SAM s = ()-> i * i; //ok - i is effectively final

! src/share/classes/com/sun/tools/javac/comp/Attr.java
! src/share/classes/com/sun/tools/javac/comp/Flow.java
! src/share/classes/com/sun/tools/javac/resources/compiler.properties
! test/tools/javac/diags/examples.not-yet.txt
+ test/tools/javac/lambda/EffectivelyFinalTest.java
+ test/tools/javac/lambda/EffectivelyFinalTest.out



More information about the lambda-dev mailing list