// Looking at ScriptSourceObjects in invisible-to-debugger compartments is okay.

var gi = newGlobal({ invisibleToDebugger: true });
gi.eval('function f() {}');

var gv = newGlobal();
gv.f = gi.f;
gv.eval('f = clone(f);');

var dbg = new Debugger;
var gvw = dbg.addDebuggee(gv);
gvw.getOwnPropertyDescriptor('f').value.script.source;