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