public void DoWhileStatementIsCorrectlyOutput() { AssertCorrect(JsStatement.DoWhile(JsExpression.True, JsStatement.Block(JsStatement.Var("x", JsExpression.Number(0)))), "do {\n\tvar x = 0;\n} while (true);\n"); }
public override JsStatement VisitDoWhileStatement(JsDoWhileStatement statement, object data) { var body = VisitLoopBody(statement.Body, data); return(ReferenceEquals(body, statement.Body) ? statement : JsStatement.DoWhile(statement.Condition, body)); }
public virtual JsStatement VisitDoWhileStatement(JsDoWhileStatement statement, TData data) { var condition = VisitExpression(statement.Condition, data); var body = VisitStatement(statement.Body, data); return(ReferenceEquals(condition, statement.Condition) && ReferenceEquals(body, statement.Body) ? statement : JsStatement.DoWhile(condition, body)); }