JsModule { bom_token: missing (optional), interpreter_token: missing (optional), directives: JsDirectiveList [], items: JsModuleItemList [ JsDoWhileStatement { do_token: DO_KW@0..3 "do" [] [Whitespace(" ")], body: JsWhileStatement { while_token: WHILE_KW@3..9 "while" [] [Whitespace(" ")], l_paren_token: L_PAREN@9..10 "(" [] [], test: JsBooleanLiteralExpression { value_token: TRUE_KW@10..14 "true" [] [], }, r_paren_token: R_PAREN@14..15 ")" [] [], body: JsDoWhileStatement { do_token: DO_KW@15..19 "do" [Newline("\n")] [Whitespace(" ")], body: JsWhileStatement { while_token: WHILE_KW@19..25 "while" [] [Whitespace(" ")], l_paren_token: L_PAREN@25..26 "(" [] [], test: missing (required), r_paren_token: R_PAREN@26..27 ")" [] [], body: JsDoWhileStatement { do_token: DO_KW@27..31 "do" [Newline("\n")] [Whitespace(" ")], body: JsWhileStatement { while_token: WHILE_KW@31..37 "while" [] [Whitespace(" ")], l_paren_token: missing (required), test: JsBooleanLiteralExpression { value_token: TRUE_KW@37..41 "true" [] [], }, r_paren_token: missing (required), body: missing (required), }, while_token: missing (required), l_paren_token: missing (required), test: missing (required), r_paren_token: missing (required), semicolon_token: missing (optional), }, }, while_token: missing (required), l_paren_token: missing (required), test: missing (required), r_paren_token: missing (required), semicolon_token: missing (optional), }, }, while_token: missing (required), l_paren_token: missing (required), test: missing (required), r_paren_token: missing (required), semicolon_token: missing (optional), }, ], eof_token: EOF@41..42 "" [Newline("\n")] [], } 0: JS_MODULE@0..42 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..41 0: JS_DO_WHILE_STATEMENT@0..41 0: DO_KW@0..3 "do" [] [Whitespace(" ")] 1: JS_WHILE_STATEMENT@3..41 0: WHILE_KW@3..9 "while" [] [Whitespace(" ")] 1: L_PAREN@9..10 "(" [] [] 2: JS_BOOLEAN_LITERAL_EXPRESSION@10..14 0: TRUE_KW@10..14 "true" [] [] 3: R_PAREN@14..15 ")" [] [] 4: JS_DO_WHILE_STATEMENT@15..41 0: DO_KW@15..19 "do" [Newline("\n")] [Whitespace(" ")] 1: JS_WHILE_STATEMENT@19..41 0: WHILE_KW@19..25 "while" [] [Whitespace(" ")] 1: L_PAREN@25..26 "(" [] [] 2: (empty) 3: R_PAREN@26..27 ")" [] [] 4: JS_DO_WHILE_STATEMENT@27..41 0: DO_KW@27..31 "do" [Newline("\n")] [Whitespace(" ")] 1: JS_WHILE_STATEMENT@31..41 0: WHILE_KW@31..37 "while" [] [Whitespace(" ")] 1: (empty) 2: JS_BOOLEAN_LITERAL_EXPRESSION@37..41 0: TRUE_KW@37..41 "true" [] [] 3: (empty) 4: (empty) 2: (empty) 3: (empty) 4: (empty) 5: (empty) 6: (empty) 2: (empty) 3: (empty) 4: (empty) 5: (empty) 6: (empty) 2: (empty) 3: (empty) 4: (empty) 5: (empty) 6: (empty) 4: EOF@41..42 "" [Newline("\n")] [] -- do_while_stmt_err.js:2:11 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Expected an expression but instead found ')'. 1 │ do while (true) > 2 │ do while () │ ^ 3 │ do while true 4 │ i Expected an expression here. 1 │ do while (true) > 2 │ do while () │ ^ 3 │ do while true 4 │ -- do_while_stmt_err.js:3:10 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × expected `(` but instead found `true` 1 │ do while (true) 2 │ do while () > 3 │ do while true │ ^^^^ 4 │ i Remove true -- do_while_stmt_err.js:4:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × expected `)` but instead the file ends 2 │ do while () 3 │ do while true > 4 │ │ i the file ends here 2 │ do while () 3 │ do while true > 4 │ │ -- do while (true) do while () do while true