public override BoundNode VisitAwaitExpression(BoundAwaitExpression node) { var ss = new BoundSpillSequence2(); var replacement = VisitExpression(ref ss, node); return(ss.Update(replacement)); }
private static BoundExpression UpdateExpression(BoundSpillSequence2 ss, BoundExpression expression) { if (ss == null) { return(expression); } Debug.Assert(ss.Value == null); if (ss.Locals.Length == 0 && ss.Statements.Length == 0) { ss.Free(); return(expression); } return(ss.Update(expression)); }
public override BoundNode VisitAwaitExpression(BoundAwaitExpression node) { var ss = new BoundSpillSequence2(); var replacement = VisitExpression(ref ss, node); return ss.Update(replacement); }
private static BoundExpression UpdateExpression(BoundSpillSequence2 ss, BoundExpression expression) { if (ss == null) return expression; Debug.Assert(ss.Value == null); if (ss.Locals.Length == 0 && ss.Statements.Length == 0) { ss.Free(); return expression; } return ss.Update(expression); }