Source code

Revision control

Copy as Markdown

Other Tools

// setVariable can change the types of variables and arguments in functions.
var g = newGlobal({newCompartment: true});
g.eval("function f(a) { var b = a + 1; debugger; return a + b; }");
for (var i = 0; i < 20; i++)
assertEq(g.f(i), 2 * i + 1);
var dbg = new Debugger(g);
dbg.onDebuggerStatement = function (frame) {
frame.environment.setVariable("a", "xyz");
frame.environment.setVariable("b", "zy");
};
for (var i = 0; i < 10; i++)
assertEq(g.f(i), "xyzzy");