Esempio n. 1
0
        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);
        }
Esempio n. 3
0
        protected virtual UntypedChannel Visitor <T>(TypedChannelAdapter <T> channel)
        {
            Visit(channel.Output);

            return(channel);
        }
Esempio n. 4
0
        protected override UntypedChannel Visitor <T>(TypedChannelAdapter <T> channel)
        {
            Trace.WriteLine("TypedChannelAdapter<{0}>".FormatWith(typeof(T).Name));

            return(base.Visitor <T>(channel));
        }