// setVariable can change the types of variables and arguments in functions. var g = newGlobal(); 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");