JsModule { bom_token: missing (optional), interpreter_token: missing (optional), directives: JsDirectiveList [], items: JsModuleItemList [ JsWhileStatement { while_token: WHILE_KW@0..6 "while" [] [Whitespace(" ")], l_paren_token: L_PAREN@6..7 "(" [] [], test: JsBooleanLiteralExpression { value_token: TRUE_KW@7..11 "true" [] [], }, r_paren_token: R_PAREN@11..13 ")" [] [Whitespace(" ")], body: JsBlockStatement { l_curly_token: L_CURLY@13..14 "{" [] [], statements: JsStatementList [], r_curly_token: R_CURLY@14..15 "}" [] [], }, }, JsWhileStatement { while_token: WHILE_KW@15..22 "while" [Newline("\n")] [Whitespace(" ")], l_paren_token: L_PAREN@22..23 "(" [] [], test: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@23..24 "5" [] [], }, r_paren_token: R_PAREN@24..26 ")" [] [Whitespace(" ")], body: JsBlockStatement { l_curly_token: L_CURLY@26..27 "{" [] [], statements: JsStatementList [], r_curly_token: R_CURLY@27..28 "}" [] [], }, }, ], eof_token: EOF@28..29 "" [Newline("\n")] [], } 0: JS_MODULE@0..29 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..28 0: JS_WHILE_STATEMENT@0..15 0: WHILE_KW@0..6 "while" [] [Whitespace(" ")] 1: L_PAREN@6..7 "(" [] [] 2: JS_BOOLEAN_LITERAL_EXPRESSION@7..11 0: TRUE_KW@7..11 "true" [] [] 3: R_PAREN@11..13 ")" [] [Whitespace(" ")] 4: JS_BLOCK_STATEMENT@13..15 0: L_CURLY@13..14 "{" [] [] 1: JS_STATEMENT_LIST@14..14 2: R_CURLY@14..15 "}" [] [] 1: JS_WHILE_STATEMENT@15..28 0: WHILE_KW@15..22 "while" [Newline("\n")] [Whitespace(" ")] 1: L_PAREN@22..23 "(" [] [] 2: JS_NUMBER_LITERAL_EXPRESSION@23..24 0: JS_NUMBER_LITERAL@23..24 "5" [] [] 3: R_PAREN@24..26 ")" [] [Whitespace(" ")] 4: JS_BLOCK_STATEMENT@26..28 0: L_CURLY@26..27 "{" [] [] 1: JS_STATEMENT_LIST@27..27 2: R_CURLY@27..28 "}" [] [] 4: EOF@28..29 "" [Newline("\n")] []