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) )); }