Bck2Brwsr 0.10
From APIDesign
(Difference between revisions)
Line 7: | Line 7: | ||
</source> | </source> | ||
- | The ahead-of-time mode has support for [[JDK]]8's [[Closure|Lambdas]]. Following | + | The ahead-of-time mode has support for [[JDK]]8's [[Closure|Lambdas]]. Following example properly return "XXXXXXXXXX" in [[Bck2Brwsr 0.10]] when '''compound''' methods is called: |
<source lang="java"> | <source lang="java"> |
Revision as of 16:52, 13 September 2014
Using Object.defineProperty to make sure the JavaScript Object has all the methods of Object, while those methods do not show up during iteration
for (var p in anObject) { console.log('A prop found ' + p); }
The ahead-of-time mode has support for JDK8's Lambdas. Following example properly return "XXXXXXXXXX" in Bck2Brwsr 0.10 when compound methods is called:
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(); }
Support for JDK8 defender and interface static methods. In the following example the method defaultValue properly returns 42 in Bck2Brwsr 0.10:
public interface Value { public static int staticValue(Value v) { return v.value(); } public default int value() { return 42; } public static int defaultValue() { return staticValue(new Value() {}); } }