T ICloneable2.ShallowClone <T>() { var clone = new ControlFlowEdge(Source, Target, Tag); clone._protoId = _protoId; return(clone.AssertCast <T>()); }
public bool AddEigenEdge(ControlFlowEdge e) { var existing = Vedge(e.Source, e.Target); if (existing != null) { _eigenEdges.Contains(existing).AssertFalse(); return(false); } else { _vertices.Contains(e.Source).AssertTrue(); _vertices.Contains(e.Target).AssertTrue(); _eigenEdges.Add(e); OnEdgeAdded(e); return(true); } }