예제 #1
0
        private OuterFlowEdge(OuterFlowEdgeId id, OuterFlowEdgeKind kind, FlowNode from, FlowNode to)
            : base(from, to)
        {
            Contract.Requires(id.IsValid);
            Contract.Requires(kind != OuterFlowEdgeKind.MethodCall || (from is CallFlowNode && to is EnterFlowNode));
            Contract.Requires(kind != OuterFlowEdgeKind.Return || (from is ReturnFlowNode && to is CallFlowNode));

            this.Id   = id;
            this.Kind = kind;
        }