HEADS UP: Switched to 1.8 source/target in build (in graphics repository).

steve.x.northover at oracle.com steve.x.northover at oracle.com
Mon May 13 08:29:49 PDT 2013


Hey Tom!

I can verify that bytecodes for defenders and lambdas are being 
generated.  The following runs and gives the expected results:

package junk;

interface Fred {
     public void fred();
     public default int mary() {
         return 12;
     };
}

public class Junk {
     interface IntegerMath {
         int operation(int a, int b);
     }

     public int operateBinary(int a, int b, IntegerMath op) {
         return op.operation(a, b);
     }

     public static void junk() {
         System.out.println("JUNK");
     }

     public static void main(String... args) {
         Junk myApp = new Junk();
         IntegerMath addition = (a, b) -> {
             junk();
             System.out.println("Addition called");
             return a + b;
         };
         IntegerMath subtraction = (a, b) -> a - b;
         System.out.println("40 + 2 = " +
             myApp.operateBinary(40, 2, addition));
         System.out.println("20 - 10 = " +
             myApp.operateBinary(20, 10, subtraction));

         Fred f = new Fred () {
             public void fred() {}
         };
         int x = f.mary();
         System.out.println(x);

         //new Junk2();
     }
}

Steve

On 13/05/2013 11:17 AM, Tom Schindl wrote:
> Hi Steve,
>
> [...]
>> In the case of Eclipse, I have built the JDK8 Beta JDT plugins and am
>> self hosting with them.  I am in the process of evaluating whether they
>> will be sufficient.  It is also possible to run Eclipse using the patch
>> and put both JDK7 and JDK8 on the build path (JDK7 first).  This will
>> allow you to see JDK7 classes first to avoid changes to the base
>> libraries.  At runtime, you should run against JDK8.  Neither of these
>> solutions is great so we will have to wait and see.
>>
>
> Ok - keep me updated on this. IIRC the lambda stuff currently does NOT 
> produce any bytecode (last time i checked it simply wrote null intead 
> of the invoke dynamic).
>
> If this has changed in the meantime this is good news. So report back 
> your findings I could make a JDT_Beta download available from 
> efxclipse.org.
>
>
> It might make sense to host them in an extra branch instead of a JIRA, 
> not? I think we should setup a bitbucket repo where we attach this 
> (and patches who will follow) keep stuff compiling on JDK7 (see 
> current RoboVM-Thread which does NOT support invoke dynamic).
>
> Danno could we do it in your repo?
>
> Tom



More information about the openjfx-dev mailing list