T ICloneable2.ShallowClone <T>()
        {
            var clone = new ControlFlowEdge(Source, Target, Tag);

            clone._protoId = _protoId;
            return(clone.AssertCast <T>());
        }
Beispiel #2
0
        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);
            }
        }