Exemplo n.º 1
0
 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));
        }