Trap t = ts.t.next;
while (t != null && t.f.numFormalArgs == 0) t = t.next;
if (t == null) {
- ((JS)ts.t.trapee).put(t.name, ts.val);
+ ((JS)ts.t.trapee).put(ts.t.name, ts.val);
if (pausecount > initialPauseCount) { pc++; return null; } // we were paused
} else {
stack.push(o);
}
}
scope = ((CallMarker)o).scope;
- pc = ((CallMarker)o).pc;
+ pc = ((CallMarker)o).pc - 1;
f = (JSFunction)((CallMarker)o).f;
stack.push(retval);
continue OUTER;
throw je("tried to assign \"" + (val==null?"(null)":val.toString()) + "\" to the null key");
Trap t = null;
if (target instanceof JS) {
- t = ((JS)target).getTrap(val);
+ t = ((JS)target).getTrap(key);
while (t != null && t.f.numFormalArgs == 0) t = t.next;
} else if (target instanceof Trap.TrapScope && key.equals("cascade")) {
Trap.TrapScope ts = (Trap.TrapScope)target;
stack.pop();
}
}
-
Object[] rest = numArgs > 3 ? new Object[numArgs - 3] : null;
for(int i=numArgs - 1; i>2; i--) rest[i-3] = stack.pop();
Object a2 = numArgs <= 2 ? null : stack.pop();