hg: lambda/lambda/langtools: Generate all static lambda methods as static. Only interface instance (default) methods still public awaiting VM fixes.
peter.levart at gmail.com
Wed Apr 24 06:16:36 PDT 2013
Thanks for clarifications, Brian, Robert.
On 04/24/2013 01:38 AM, Brian Goetz wrote:
> At the language level, we support in interfaces:
> public instance methods (defaults)
> public static methods
> At the VM level, we further support private versions of both of these. There are no plans to expose private methods in interfaces at the language level at this time.
> As Robert points out, VM support is not 100% there so there are some things that are temporarily translated to public when they will eventually be private.
> As with classes, lambdas that capture 'this' are desugared to instance methods, otherwise to static methods.
> On Apr 23, 2013, at 5:51 PM, Peter Levart wrote:
>> We have default public instance methods, public static and private
>> static methods in interfaces. Will there be private instance methods
>> too? In the language or just as implementation detail for translating
>> lambda bodies?
>> Regards, Peter
>> On 04/23/2013 11:19 PM, robert.field at oracle.com wrote:
>>> Changeset: b3a9d8ca17dd
>>> Author: rfield
>>> Date: 2013-04-23 14:19 -0700
>>> URL: http://hg.openjdk.java.net/lambda/lambda/langtools/rev/b3a9d8ca17dd
>>> Generate all static lambda methods as static. Only interface instance (default) methods still public awaiting VM fixes.
>>> ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java
More information about the lambda-dev