예제 #1
0
        public virtual IAnalysisSet AddNodeValue(Node node, NodeValueKind kind, IAnalysisSet variable)
        {
            NodeValue next;

            _nodeValues.TryGetValue(node, out next);
#if DEBUG
            var tmp = next;
            while (tmp != null)
            {
                Debug.Assert(tmp.Kind != kind);
                tmp = tmp.Next;
            }
#endif
            _nodeValues[node] = new NodeValue(kind, variable, next);
            return(variable);
        }
예제 #2
0
 public NodeValue(NodeValueKind kind, IAnalysisSet variable, NodeValue value)
 {
     Kind     = kind;
     Variable = variable;
     Next     = value;
 }
예제 #3
0
 public NodeValue(NodeValueKind kind, IAnalysisSet variable, NodeValue value) {
     Kind = kind;
     Variable = variable;
     Next = value;
 }
예제 #4
0
        public virtual IAnalysisSet AddNodeValue(Node node, NodeValueKind kind, IAnalysisSet variable) {
            NodeValue next;
            _nodeValues.TryGetValue(node, out next);
#if DEBUG
            var tmp = next;
            while (tmp != null) {
                Debug.Assert(tmp.Kind != kind);
                tmp = tmp.Next;
            }
#endif
            _nodeValues[node] = new NodeValue(kind, variable, next);
            return variable;
        }