Source code

Revision control

Copy as Markdown

Other Tools

var g = newGlobal({newCompartment: true});
var dbg = new Debugger;
var gDO = dbg.addDebuggee(g);
function check(expr, expected) {
print("checking " + JSON.stringify(expr) + ", expecting " +
(expected ? "script" : "no script"));
let completion = gDO.executeInGlobal(expr);
if (completion.throw)
throw completion.throw.unsafeDereference();
let val = completion.return;
if (expected)
assertEq(val.script instanceof Debugger.Script, true);
else
assertEq(val.script, undefined);
}
check('(function g(){})', true);
check('(function* h() {})', true);
check('(async function j() {})', true);
check('(async function* k() {})', true);
check('({})', false);
check('Math.atan2', false);