hg: lambda/lambda/langtools: initial lambda push; the current prototype suuports the following features:

Neal Gafter neal at gafter.com
Thu May 27 14:02:07 PDT 2010


Great to see this, Maurizio!  Unfortunately it arrives a week too late, and
in the wrong repository, to be included in jdk7.

I notice that none of the tests show a variable of function type being
converted to a SAM type.  What are the plans there?

On Thu, May 27, 2010 at 10:33 AM, <maurizio.cimadamore at oracle.com> wrote:

> Changeset: 7704dcd17e0b
> Author:    mcimadamore
> Date:      2010-05-27 18:11 +0100
> URL:
> http://hg.openjdk.java.net/lambda/lambda/langtools/rev/7704dcd17e0b
>
> initial lambda push; the current prototype suuports the following features:
> *) function types syntax (optionally enabled with -XDallowFunctionTypes)
> *) function types subtyping
> *) full support for lambda expression of type 1 and 2
> *) inference of thrown types/return type in a lambda
> *) lambda conversion using rules specified in v0.1.5 draft
> *) support references to 'this' (both explicit and implicit)
> *) translation using method handles
>
> The modified script build of the langtools repository now generates an
> additional jarfile called javacrt.jar which contains an helper class to be
> used during SAM conversion; after the build, the generated scripts
> javac/java will take care of automatically setting up the required
> dependencies so that code containing lambda expressions can be compiled and
> executed.
>
> ! make/build.properties
> ! make/build.xml
> + src/share/bin/java.sh-template
> ! src/share/bin/launcher.sh-template
> + src/share/classes/com/sun/runtime/ProxyHelper.java
> + src/share/classes/com/sun/source/tree/FunctionTypeTree.java
> + src/share/classes/com/sun/source/tree/LambdaExpressionTree.java
> ! src/share/classes/com/sun/source/tree/Tree.java
> ! src/share/classes/com/sun/source/tree/TreeVisitor.java
> ! src/share/classes/com/sun/source/util/SimpleTreeVisitor.java
> ! src/share/classes/com/sun/source/util/TreeScanner.java
> ! src/share/classes/com/sun/tools/javac/code/Flags.java
> ! src/share/classes/com/sun/tools/javac/code/Printer.java
> ! src/share/classes/com/sun/tools/javac/code/Scope.java
> ! src/share/classes/com/sun/tools/javac/code/Source.java
> ! src/share/classes/com/sun/tools/javac/code/Symtab.java
> ! src/share/classes/com/sun/tools/javac/code/Type.java
> ! src/share/classes/com/sun/tools/javac/code/Types.java
> ! src/share/classes/com/sun/tools/javac/comp/Attr.java
> ! src/share/classes/com/sun/tools/javac/comp/Check.java
> ! src/share/classes/com/sun/tools/javac/comp/Flow.java
> ! src/share/classes/com/sun/tools/javac/comp/Lower.java
> ! src/share/classes/com/sun/tools/javac/comp/Resolve.java
> ! src/share/classes/com/sun/tools/javac/comp/TransTypes.java
> ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java
> ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java
> ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java
> ! src/share/classes/com/sun/tools/javac/parser/Scanner.java
> ! src/share/classes/com/sun/tools/javac/parser/Token.java
> ! src/share/classes/com/sun/tools/javac/resources/compiler.properties
> ! src/share/classes/com/sun/tools/javac/tree/JCTree.java
> ! src/share/classes/com/sun/tools/javac/tree/Pretty.java
> ! src/share/classes/com/sun/tools/javac/tree/TreeCopier.java
> ! src/share/classes/com/sun/tools/javac/tree/TreeMaker.java
> ! src/share/classes/com/sun/tools/javac/tree/TreeScanner.java
> ! src/share/classes/com/sun/tools/javac/tree/TreeTranslator.java
> ! src/share/classes/com/sun/tools/javac/util/Names.java
> ! src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java
> + test/tools/javac/lambda/LambdaCapture01.java
> + test/tools/javac/lambda/LambdaConv01.java
> + test/tools/javac/lambda/LambdaExpr01.java
> + test/tools/javac/lambda/LambdaExpr02.java
> + test/tools/javac/lambda/LambdaScope01.java
> + test/tools/javac/lambda/NakedThis.java
> + test/tools/javac/lambda/NakedThis.out
>
>
>


More information about the lambda-dev mailing list