protected internal override Expression VisitWhile(WhileCSharpStatement node) { PushScope(node.Locals); var res = base.VisitWhile(node); PopScope(node.Locals); return(res); }
protected internal override Expression VisitWhile(WhileCSharpStatement node) { var test = Visit(node.Test); PushLabelInfo(node); var body = Visit(node.Body); PopLabelInfo(out LabelTarget @break, out LabelTarget @continue); return(node.Update(@break, @continue, test, body)); }
protected internal override Expression VisitWhile(WhileCSharpStatement node) { var test = Visit(node.Test); PushLabelInfo(node); var body = Visit(node.Body); var @break = default(LabelTarget); var @continue = default(LabelTarget); PopLabelInfo(out @break, out @continue); return node.Update(@break, @continue, test, body); }
protected internal override Expression VisitWhile(WhileCSharpStatement node) { // NB: If we do optimizations involving variables, we'll need to track scopes here. var variables = VisitAndConvert(node.Locals, nameof(VisitFor)); var test = Visit(node.Test); PushLabelInfo(node); var body = Visit(node.Body); PopLabelInfo(out LabelTarget @break, out LabelTarget @continue); return(node.Update(@break, @continue, test, body, variables)); }
protected internal override Expression VisitWhile(WhileCSharpStatement node) { Visited = true; return(base.VisitWhile(node)); }