protected override UntypedChannel Visitor <T>(TypedChannelAdapter <T> channel) { _current = GetVertex(channel.GetHashCode(), () => "Cast", typeof(TypedChannelAdapter <T>), typeof(T)); if (_stack.Count > 0) { _edges.Add(new Edge(_stack.Peek(), _current, _current.TargetType.Name)); } return(WithVertex(() => base.Visitor(channel))); }
protected override UntypedChannel Visitor <T>(TypedChannelAdapter <T> channel) { Channel <T> original = channel.Output; Channel <T> replacement = Visit(original); if (_channels.Contains(replacement)) { _channels.Remove(replacement); return(null); } return(original != replacement ? new TypedChannelAdapter <T>(replacement) : channel); }
protected virtual UntypedChannel Visitor <T>(TypedChannelAdapter <T> channel) { Visit(channel.Output); return(channel); }
protected override UntypedChannel Visitor <T>(TypedChannelAdapter <T> channel) { Trace.WriteLine("TypedChannelAdapter<{0}>".FormatWith(typeof(T).Name)); return(base.Visitor <T>(channel)); }