示例#1
0
        protected bool Visit <T>(AlphaNode <T> node)
        {
            _lastNodeVertex = GetSink(node.GetHashCode(), () => "\u03B1", typeof(AlphaNode <>), typeof(T));

            if (_stack.Count > 0 && _stack.Peek().VertexType != typeof(JoinNode <>))
            {
                _edges.Add(new Edge(_stack.Peek(), _lastNodeVertex, _lastNodeVertex.TargetType.Name));
            }

            return(true);
        }
示例#2
0
        private void MatchExistingConditionNode <T>(ConditionDeclaration condition, ConditionNode <T> node)
        {
            if (condition.MatchType != typeof(T))
            {
                return;
            }

            if (node.Expression.ToString() != condition.Expression.ToString())
            {
                return;
            }

            AlphaNode <T> alphaNode = node.GetAlphaNode();
        }
示例#3
0
        protected bool Visit <T>(AlphaNode <T> node)
        {
            Append("Alpha<{0}>[{1}]", typeof(T).Name, node.GetHashCode());

            return(true);
        }
示例#4
0
 public JoinNode <T> GetAlphaJoinNode(AlphaNode <T> node)
 {
     return(_successors
            .Get(x => ReferenceEquals(x.RightActivation, node), () => new JoinNode <T>(node)));
 }