Пример #1
0
        protected override Expression VisitGoto(GotoExpression node)
        {
            if (node.Target.Type == typeof(void))
            {
                return(base.VisitGoto(node));
            }

            LabelInfo info = GetLabelInfo(node.Target);

            return(Expression.Block(
                       MakeAssign(info.Temp, Visit(node.Value)),
                       Expression.MakeGoto(node.Kind, info.NewLabel, null, node.Type)
                       ));
        }