tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

Frame-eval-26.js (711B)


      1 // Bug 1026477: Defining functions with D.F.p.eval works, even if there's
      2 // already a non-aliased var binding for the identifier.
      3 
      4 var g = newGlobal({newCompartment: true});
      5 var dbg = new Debugger(g);
      6 dbg.onDebuggerStatement = function (frame) {
      7  frame.older.eval('function f() { }');
      8 };
      9 
     10 // When the compiler sees the 'debugger' statement, it marks all variables as
     11 // aliased, but we want to test the case where f is in a stack frame slot, so we
     12 // put the 'debugger' statement in a separate function, and use frame.older to
     13 // get back to the anonymous function's frame.
     14 g.eval('function q() { debugger; }');
     15 assertEq(typeof g.eval('(function () { var f = 42; q(); return f; })();'),
     16         "function");