Bck2Brwsr 0.10

From APIDesign

Revision as of 16:53, 13 September 2014 by JaroslavTulach (Talk | contribs)
Jump to: navigation, search

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 (thanks to RetroLambda project). 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() {});
    }
}
Personal tools
buy