/** Called by Rhino's arguments.cascade. Note: cx will be null if this was invoked from perform() rather than from a script. */
public static final CascadeFunction cascadeFunction = new CascadeFunction();
private static class CascadeFunction extends JS.Function {
- CascadeFunction() { setSeal(true); }
+ CascadeFunction() { super(-1, "java", null, null); setSeal(true); }
public Object _call(JS.Array args) { return _call(args, JS.getCurrentFunction()); }
public Object _call(JS.Array args, Function currentFunction) {
Trap currentTrap = TrapContext.get().currentTrap;
return ret;
}
- System.out.println("calling trap on " + name);
- Object ret = null;
- try {
- ret = f._call(args);
- } catch (org.xwt.js.ByteCodeBlock.ReturnException re) {
- ret = re.retval;
- }
+ Object ret = f.call(args);
// autocascade if required
if (args.length() > 0 && !isreadtrap && !tc.putCascadeHappened) cascadeFunction._call(args, f);