예제 #1
0
 protected internal virtual Expression VisitDo(DoCSharpStatement node) =>
 node.Update(
     VisitLabelTarget(node.BreakLabel),
     VisitLabelTarget(node.ContinueLabel),
     Visit(node.Body),
     Visit(node.Test),
     VisitAndConvert(node.Locals, nameof(VisitDo))
     );
예제 #2
0
        protected internal override Expression VisitDo(DoCSharpStatement node)
        {
            var args = new List <object>();

            args.Add(new XElement(nameof(node.Body), Visit(node.Body)));
            args.Add(new XElement(nameof(node.Test), Visit(node.Test)));

            if (node.BreakLabel != null)
            {
                args.Add(new XElement(nameof(node.BreakLabel), _parent.GetDebugView(node.BreakLabel)));
            }

            if (node.ContinueLabel != null)
            {
                args.Add(new XElement(nameof(node.ContinueLabel), _parent.GetDebugView(node.ContinueLabel)));
            }

            return(Push(node, args));
        }
 public DoCSharpStatementProxy(DoCSharpStatement node)
 {
     _node = node;
 }
예제 #4
0
            protected internal override Expression VisitDo(DoCSharpStatement node)
            {
                Visited = true;

                return base.VisitDo(node);
            }
 protected internal virtual Expression VisitDo(DoCSharpStatement node)
 {
     return(node.Update(VisitLabelTarget(node.BreakLabel), VisitLabelTarget(node.ContinueLabel), Visit(node.Body), Visit(node.Test)));
 }
 public DoCSharpStatementProxy(DoCSharpStatement node)
 {
     _node = node;
 }
 protected internal virtual Expression VisitDo(DoCSharpStatement node)
 {
     return node.Update(VisitLabelTarget(node.BreakLabel), VisitLabelTarget(node.ContinueLabel), Visit(node.Body), Visit(node.Test));
 }