spring cleaning in the lambda (langtools) repository
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Tue Apr 10 09:39:35 PDT 2012
Hi,
in the past week I've been busy cleaning up the langtools lambda
repository. The goal of this work is to minimize differences between the
JDK 8 repository and the lambda repository - as you all know, we've been
working for the last two year in the lambda branch, we went back and
forth on few items and that cause the two codebases to diverge a little
bit. It is also time to bring the code in sync with the latest spec EDR
(more on that below).
The cleanup focus on the following areas:
*) Remove experimental support for exception transparency
*) Cleanup attribution code for diamond
*) Bring inference/overload resolution in sync with latest JDK 8 changes
*) Remove support for obsolete -XDcomplexinference option
*) Merge with JDK8-b33
As you can see from the changeset [1] - the number of files touched is
quite large. While I took (as usual) all necessary steps to make sure
that no new regression was introduced, please be patient if some mistake
slipped through ;-)
The next step, as far as langtools in concerned, is to partially rewrite
the type-system support for lambda/method reference to bring it in sync
with the latest EDR. This rewrital will be built on top of some patches
that I've been working on in the JDK 8 repository over the last few months:
7129801 - Merge the two method applicability routines
7151492 - Encapsulate check logic into Attr.ResultInfo
7151580 - Separate DA/DU logic from exception checking logic in Flow.java
7132880 - Resolve should support nested resolution contexts
7154127 - Inference cleanup: remove bound check analysis from visitors
in Types.java
7133185 - Update 292 overload resolution logic to match JLS
7133238 - Merge proto-kind and proto-type into a single result class
7144506 - Attr.checkMethod should be called after inference variables
have been fixed
7148164 - attribution code for diamond should not rely on mutable state
7148622 - Some diagnostic methods do not go through Log.report
Once the rewrital is done and proper testing has been made, we can start
working on porting the type-system stuff back to the JDK 8 repository.
[1] - http://hg.openjdk.java.net/lambda/lambda/langtools/rev/147365ae04c5
Thanks
Maurizio
More information about the lambda-dev
mailing list