public override bool Visit <TInput, TOutput>(WidenTypeNode <TInput, TOutput> node, Func <RuntimeVisitor, bool> next) { Append("ConvertNode[{0}] => {1}", Tokens <TInput>(), Tokens <TOutput>()); return(Indent(next)); }
public virtual bool Visit <TInput, TOutput>(WidenTypeNode <TInput, TOutput> node, Func <RuntimeVisitor, bool> next) where TInput : class, TOutput where TOutput : class { return(next(this)); }
public override bool Visit <TInput, TOutput>(WidenTypeNode <TInput, TOutput> node, Func <RuntimeVisitor, bool> next) { _current = _vertices.Get(--_noId, id => new Vertex(typeof(WidenTypeNode <,>), typeof(TInput), "")); if (_stack.Count > 0) { _edges.Add(new Edge(_stack.Peek(), _current, _current.TargetType.Name)); } return(Next(() => base.Visit(node, next))); }
public bool Find() { if (_node != null) { return(true); } WidenTypeNode <TInput, TOutput> widenTypeNode = _input.Successors .OfType <WidenTypeNode <TInput, TOutput> >() .FirstOrDefault(); if (widenTypeNode != null) { _node = widenTypeNode; } else { _node = new WidenTypeNode <TInput, TOutput>(_output); _input.AddActivation(_node); } return(_node != null); }