lambda/lambda/langtools: initial lambda push; the current prototype suuports the following features:
Rémi Forax
forax at univ-mlv.fr
Thu May 27 17:37:47 PDT 2010
Nice !
I suppose that you use invokeVarargs() when invoking a lambda to workaround
the current state of invokeGeneric() in b94.
I will do a code review tomorrow.
Rémi
Le 27/05/2010 21:47, maurizio cimadamore a écrit :
> Hi
> The prototype supports the syntax described in the strawman proposal
> [1]. You might want to look at some of the regression tests, in
> particular LambdaExpr01/LambdaExpr02 [2,3] to get an idea of what the
> syntax look like.
>
> Thanks
> Maurizio
>
> [1]
> http://mail.openjdk.java.net/pipermail/lambda-dev/attachments/20100212/af8d2cc5/attachment-0001.txt
> [2]
> http://hg.openjdk.java.net/lambda/lambda/langtools/diff/7704dcd17e0b/test/tools/javac/lambda/LambdaExpr01.java
> [3]
> http://hg.openjdk.java.net/lambda/lambda/langtools/diff/7704dcd17e0b/test/tools/javac/lambda/LambdaExpr02.java
>
> On 27/05/10 18:45, Nathan Bryant wrote:
>
>> This is great! But what is the syntax?
>>
>> -----Original Message-----
>> From: lambda-dev-bounces at openjdk.java.net
>> [mailto:lambda-dev-bounces at openjdk.java.net] On Behalf Of
>> maurizio.cimadamore at oracle.com
>> Sent: Thursday, May 27, 2010 1:33 PM
>> To: lambda-dev at openjdk.java.net
>> Subject: hg: lambda/lambda/langtools: initial lambda push;the current
>> prototype suuports the following features:
>>
>> 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