Source code

Revision control

Copy as Markdown

Other Tools

// Allow diamonds in the graph of the compartment "debugs" relation.
var program = newGlobal({newCompartment: true});
var d1 = newGlobal({newCompartment: true});
d1.top = this;
var d2 = newGlobal({newCompartment: true});
d2.top = this;
var dbg = new Debugger(d1, d2);
d1.eval("var dbg = new Debugger(top.program)");
d2.eval("var dbg = new Debugger(top.program)");
// mess with the edges a little bit -- all this should be fine, no cycles
d1.dbg.removeDebuggee(program);
d1.dbg.addDebuggee(program);
dbg.addDebuggee(program);
d1.dbg.addDebuggee(d2);
dbg.removeDebuggee(d2);
dbg.addDebuggee(d2);