# HG changeset patch # User Jaroslav Tulach # Date 1410723603 -7200 # Node ID 615bae7756061953552fc2eb399c33a71f7eb2b6 # Parent 800cb3d9f3b0d9ecc327b24ada05568a6ff0bcd1 Verify that the AOT mojo does not fail when generating JDK8 lambda code diff -r 800cb3d9f3b0 -r 615bae775606 rt/mojo/src/main/java/org/apidesign/bck2brwsr/mojo/AheadOfTime.java --- a/rt/mojo/src/main/java/org/apidesign/bck2brwsr/mojo/AheadOfTime.java Sun Sep 14 21:36:56 2014 +0200 +++ b/rt/mojo/src/main/java/org/apidesign/bck2brwsr/mojo/AheadOfTime.java Sun Sep 14 21:40:03 2014 +0200 @@ -130,7 +130,6 @@ FileWriter w = new FileWriter(mainJavaScript); c. obfuscation(obfuscation). - resources(loader). generate(w); w.close(); } diff -r 800cb3d9f3b0 -r 615bae775606 rt/vm8/pom.xml --- a/rt/vm8/pom.xml Sun Sep 14 21:36:56 2014 +0200 +++ b/rt/vm8/pom.xml Sun Sep 14 21:40:03 2014 +0200 @@ -32,6 +32,21 @@ + + org.apidesign.bck2brwsr + bck2brwsr-maven-plugin + ${project.version} + + + + aot + + verify + + + + + @@ -58,7 +73,13 @@ ${project.groupId} emul ${project.version} - test + compile + + + org.apidesign.bck2brwsr + emul.mini + ${project.version} + compile org.apidesign.bck2brwsr @@ -72,6 +93,12 @@ launcher.http ${project.version} test + + + com.oracle + javafx + + \ No newline at end of file diff -r 800cb3d9f3b0 -r 615bae775606 rt/vm8/src/main/java/org/apidesign/bck2brwsr/vm8/Defaults.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rt/vm8/src/main/java/org/apidesign/bck2brwsr/vm8/Defaults.java Sun Sep 14 21:40:03 2014 +0200 @@ -0,0 +1,65 @@ +/** + * Back 2 Browser Bytecode Translator + * Copyright (C) 2012 Jaroslav Tulach + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. Look for COPYING file in the top folder. + * If not, see http://opensource.org/licenses/GPL-2.0. + */ +package org.apidesign.bck2brwsr.vm8; + +public interface Defaults { + public static int staticValue() { + return 42; + } + + public default int value() { + return 42; + } + + public static Defaults create(int type) { + class X implements Defaults { + } + class Y implements Defaults { + @Override + public int value() { + return 7; + } + } + class Z implements DoubleDefaults { + } + switch (type) { + case 0: return new X(); + case 1: return new Y(); + default: return new Z(); + } + } + + public static int defaultValue() { + return create(0).value(); + } + + public static int myValue() { + return create(1).value(); + } + + public static int sndValue() { + return create(2).value(); + } + + public interface DoubleDefaults extends Defaults { + @Override + public default int value() { + return 84; + } + } +} diff -r 800cb3d9f3b0 -r 615bae775606 rt/vm8/src/main/java/org/apidesign/bck2brwsr/vm8/Lambdas.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rt/vm8/src/main/java/org/apidesign/bck2brwsr/vm8/Lambdas.java Sun Sep 14 21:40:03 2014 +0200 @@ -0,0 +1,36 @@ +/** + * Back 2 Browser Bytecode Translator + * Copyright (C) 2012 Jaroslav Tulach + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. Look for COPYING file in the top folder. + * If not, see http://opensource.org/licenses/GPL-2.0. + */ +package org.apidesign.bck2brwsr.vm8; + +/** + * + * @author Jaroslav Tulach + */ +public class Lambdas { + private static void fewTimes(Runnable r, int cnt) { + while (cnt-- > 0) { + r.run(); + } + } + + public static String compound() { + StringBuilder sb = new StringBuilder(); + fewTimes(() -> sb.append('X'), 10); + return sb.toString(); + } +} diff -r 800cb3d9f3b0 -r 615bae775606 rt/vm8/src/test/java/org/apidesign/bck2brwsr/vm8/Defaults.java --- a/rt/vm8/src/test/java/org/apidesign/bck2brwsr/vm8/Defaults.java Sun Sep 14 21:36:56 2014 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,65 +0,0 @@ -/** - * Back 2 Browser Bytecode Translator - * Copyright (C) 2012 Jaroslav Tulach - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, version 2 of the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. Look for COPYING file in the top folder. - * If not, see http://opensource.org/licenses/GPL-2.0. - */ -package org.apidesign.bck2brwsr.vm8; - -public interface Defaults { - public static int staticValue() { - return 42; - } - - public default int value() { - return 42; - } - - public static Defaults create(int type) { - class X implements Defaults { - } - class Y implements Defaults { - @Override - public int value() { - return 7; - } - } - class Z implements DoubleDefaults { - } - switch (type) { - case 0: return new X(); - case 1: return new Y(); - default: return new Z(); - } - } - - public static int defaultValue() { - return create(0).value(); - } - - public static int myValue() { - return create(1).value(); - } - - public static int sndValue() { - return create(2).value(); - } - - public interface DoubleDefaults extends Defaults { - @Override - public default int value() { - return 84; - } - } -} diff -r 800cb3d9f3b0 -r 615bae775606 rt/vm8/src/test/java/org/apidesign/bck2brwsr/vm8/Lambdas.java --- a/rt/vm8/src/test/java/org/apidesign/bck2brwsr/vm8/Lambdas.java Sun Sep 14 21:36:56 2014 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ -/** - * Back 2 Browser Bytecode Translator - * Copyright (C) 2012 Jaroslav Tulach - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, version 2 of the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. Look for COPYING file in the top folder. - * If not, see http://opensource.org/licenses/GPL-2.0. - */ -package org.apidesign.bck2brwsr.vm8; - -/** - * - * @author Jaroslav Tulach - */ -public class Lambdas { - private static void fewTimes(Runnable r, int cnt) { - while (cnt-- > 0) { - r.run(); - } - } - - public static String compound() { - StringBuilder sb = new StringBuilder(); - fewTimes(() -> sb.append('X'), 10); - return sb.toString(); - } -}