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 [ JsBreakStatement { break_token: BREAK_KW@14..22 "break" [Newline("\n"), Whitespace(" ")] [], label: missing (optional), semicolon_token: SEMICOLON@22..23 ";" [] [], }, JsLabeledStatement { label: JsLabel { value_token: IDENT@23..29 "foo" [Newline("\n"), Whitespace(" ")] [], }, colon_token: COLON@29..31 ":" [] [Whitespace(" ")], body: JsBlockStatement { l_curly_token: L_CURLY@31..32 "{" [] [], statements: JsStatementList [ JsBreakStatement { break_token: BREAK_KW@32..42 "break" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")], label: JsLabel { value_token: IDENT@42..45 "foo" [] [], }, semicolon_token: SEMICOLON@45..46 ";" [] [], }, ], r_curly_token: R_CURLY@46..50 "}" [Newline("\n"), Whitespace(" ")] [], }, }, ], r_curly_token: R_CURLY@50..52 "}" [Newline("\n")] [], }, }, ], eof_token: EOF@52..53 "" [Newline("\n")] [], } 0: JS_MODULE@0..53 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..52 0: JS_WHILE_STATEMENT@0..52 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..52 0: L_CURLY@13..14 "{" [] [] 1: JS_STATEMENT_LIST@14..50 0: JS_BREAK_STATEMENT@14..23 0: BREAK_KW@14..22 "break" [Newline("\n"), Whitespace(" ")] [] 1: (empty) 2: SEMICOLON@22..23 ";" [] [] 1: JS_LABELED_STATEMENT@23..50 0: JS_LABEL@23..29 0: IDENT@23..29 "foo" [Newline("\n"), Whitespace(" ")] [] 1: COLON@29..31 ":" [] [Whitespace(" ")] 2: JS_BLOCK_STATEMENT@31..50 0: L_CURLY@31..32 "{" [] [] 1: JS_STATEMENT_LIST@32..46 0: JS_BREAK_STATEMENT@32..46 0: BREAK_KW@32..42 "break" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")] 1: JS_LABEL@42..45 0: IDENT@42..45 "foo" [] [] 2: SEMICOLON@45..46 ";" [] [] 2: R_CURLY@46..50 "}" [Newline("\n"), Whitespace(" ")] [] 2: R_CURLY@50..52 "}" [Newline("\n")] [] 4: EOF@52..53 "" [Newline("\n")] []