JsModule {
bom_token: missing (optional),
interpreter_token: missing (optional),
directives: JsDirectiveList [],
items: JsModuleItemList [
JsDoWhileStatement {
do_token: DO_KW@0..3 "do" [] [Whitespace(" ")],
body: JsExpressionStatement {
expression: JsCallExpression {
callee: JsStaticMemberExpression {
object: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@3..10 "console" [] [],
},
},
operator_token: DOT@10..11 "." [] [],
member: JsName {
value_token: IDENT@11..14 "log" [] [],
},
},
optional_chain_token: missing (optional),
type_arguments: missing (optional),
arguments: JsCallArguments {
l_paren_token: L_PAREN@14..15 "(" [] [],
args: JsCallArgumentList [
JsStringLiteralExpression {
value_token: JS_STRING_LITERAL@15..21 "\"test\"" [] [],
},
],
r_paren_token: R_PAREN@21..22 ")" [] [],
},
},
semicolon_token: SEMICOLON@22..24 ";" [] [Whitespace(" ")],
},
while_token: WHILE_KW@24..29 "while" [] [],
l_paren_token: L_PAREN@29..30 "(" [] [],
test: JsBooleanLiteralExpression {
value_token: TRUE_KW@30..34 "true" [] [],
},
r_paren_token: R_PAREN@34..35 ")" [] [],
semicolon_token: missing (optional),
},
JsDoWhileStatement {
do_token: DO_KW@35..39 "do" [Newline("\n")] [Whitespace(" ")],
body: JsBlockStatement {
l_curly_token: L_CURLY@39..40 "{" [] [],
statements: JsStatementList [
JsExpressionStatement {
expression: JsCallExpression {
callee: JsStaticMemberExpression {
object: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@40..50 "console" [Newline("\n"), Whitespace(" ")] [],
},
},
operator_token: DOT@50..51 "." [] [],
member: JsName {
value_token: IDENT@51..54 "log" [] [],
},
},
optional_chain_token: missing (optional),
type_arguments: missing (optional),
arguments: JsCallArguments {
l_paren_token: L_PAREN@54..55 "(" [] [],
args: JsCallArgumentList [
JsStringLiteralExpression {
value_token: JS_STRING_LITERAL@55..61 "\"test\"" [] [],
},
],
r_paren_token: R_PAREN@61..62 ")" [] [],
},
},
semicolon_token: missing (optional),
},
],
r_curly_token: R_CURLY@62..65 "}" [Newline("\n")] [Whitespace(" ")],
},
while_token: WHILE_KW@65..71 "while" [] [Whitespace(" ")],
l_paren_token: L_PAREN@71..72 "(" [] [],
test: JsBooleanLiteralExpression {
value_token: TRUE_KW@72..76 "true" [] [],
},
r_paren_token: R_PAREN@76..77 ")" [] [],
semicolon_token: SEMICOLON@77..78 ";" [] [],
},
JsVariableStatement {
declaration: JsVariableDeclaration {
await_token: missing (optional),
kind: LET_KW@78..83 "let" [Newline("\n")] [Whitespace(" ")],
declarators: JsVariableDeclaratorList [
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@83..85 "a" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@85..87 "=" [] [Whitespace(" ")],
expression: JsNumberLiteralExpression {
value_token: JS_NUMBER_LITERAL@87..88 "1" [] [],
},
},
},
],
},
semicolon_token: SEMICOLON@88..89 ";" [] [],
},
JsDoWhileStatement {
do_token: DO_KW@89..92 "do" [Newline("\n")] [],
body: JsDoWhileStatement {
do_token: DO_KW@92..96 "do" [Newline("\n")] [Whitespace(" ")],
body: JsBlockStatement {
l_curly_token: L_CURLY@96..97 "{" [] [],
statements: JsStatementList [
JsExpressionStatement {
expression: JsAssignmentExpression {
left: JsIdentifierAssignment {
name_token: IDENT@97..102 "a" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")],
},
operator_token: EQ@102..104 "=" [] [Whitespace(" ")],
right: JsBinaryExpression {
left: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@104..106 "a" [] [Whitespace(" ")],
},
},
operator_token: PLUS@106..108 "+" [] [Whitespace(" ")],
right: JsNumberLiteralExpression {
value_token: JS_NUMBER_LITERAL@108..109 "1" [] [],
},
},
},
semicolon_token: missing (optional),
},
],
r_curly_token: R_CURLY@109..112 "}" [Newline("\n")] [Whitespace(" ")],
},
while_token: WHILE_KW@112..117 "while" [] [],
l_paren_token: L_PAREN@117..118 "(" [] [],
test: JsBinaryExpression {
left: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@118..120 "a" [] [Whitespace(" ")],
},
},
operator_token: L_ANGLE@120..122 "<" [] [Whitespace(" ")],
right: JsNumberLiteralExpression {
value_token: JS_NUMBER_LITERAL@122..123 "5" [] [],
},
},
r_paren_token: R_PAREN@123..124 ")" [] [],
semicolon_token: missing (optional),
},
while_token: WHILE_KW@124..131 "while" [Newline("\n")] [Whitespace(" ")],
l_paren_token: L_PAREN@131..132 "(" [] [],
test: JsBinaryExpression {
left: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@132..134 "a" [] [Whitespace(" ")],
},
},
operator_token: L_ANGLE@134..136 "<" [] [Whitespace(" ")],
right: JsNumberLiteralExpression {
value_token: JS_NUMBER_LITERAL@136..139 "100" [] [],
},
},
r_paren_token: R_PAREN@139..140 ")" [] [],
semicolon_token: missing (optional),
},
],
eof_token: EOF@140..141 "" [Newline("\n")] [],
}
0: JS_MODULE@0..141
0: (empty)
1: (empty)
2: JS_DIRECTIVE_LIST@0..0
3: JS_MODULE_ITEM_LIST@0..140
0: JS_DO_WHILE_STATEMENT@0..35
0: DO_KW@0..3 "do" [] [Whitespace(" ")]
1: JS_EXPRESSION_STATEMENT@3..24
0: JS_CALL_EXPRESSION@3..22
0: JS_STATIC_MEMBER_EXPRESSION@3..14
0: JS_IDENTIFIER_EXPRESSION@3..10
0: JS_REFERENCE_IDENTIFIER@3..10
0: IDENT@3..10 "console" [] []
1: DOT@10..11 "." [] []
2: JS_NAME@11..14
0: IDENT@11..14 "log" [] []
1: (empty)
2: (empty)
3: JS_CALL_ARGUMENTS@14..22
0: L_PAREN@14..15 "(" [] []
1: JS_CALL_ARGUMENT_LIST@15..21
0: JS_STRING_LITERAL_EXPRESSION@15..21
0: JS_STRING_LITERAL@15..21 "\"test\"" [] []
2: R_PAREN@21..22 ")" [] []
1: SEMICOLON@22..24 ";" [] [Whitespace(" ")]
2: WHILE_KW@24..29 "while" [] []
3: L_PAREN@29..30 "(" [] []
4: JS_BOOLEAN_LITERAL_EXPRESSION@30..34
0: TRUE_KW@30..34 "true" [] []
5: R_PAREN@34..35 ")" [] []
6: (empty)
1: JS_DO_WHILE_STATEMENT@35..78
0: DO_KW@35..39 "do" [Newline("\n")] [Whitespace(" ")]
1: JS_BLOCK_STATEMENT@39..65
0: L_CURLY@39..40 "{" [] []
1: JS_STATEMENT_LIST@40..62
0: JS_EXPRESSION_STATEMENT@40..62
0: JS_CALL_EXPRESSION@40..62
0: JS_STATIC_MEMBER_EXPRESSION@40..54
0: JS_IDENTIFIER_EXPRESSION@40..50
0: JS_REFERENCE_IDENTIFIER@40..50
0: IDENT@40..50 "console" [Newline("\n"), Whitespace(" ")] []
1: DOT@50..51 "." [] []
2: JS_NAME@51..54
0: IDENT@51..54 "log" [] []
1: (empty)
2: (empty)
3: JS_CALL_ARGUMENTS@54..62
0: L_PAREN@54..55 "(" [] []
1: JS_CALL_ARGUMENT_LIST@55..61
0: JS_STRING_LITERAL_EXPRESSION@55..61
0: JS_STRING_LITERAL@55..61 "\"test\"" [] []
2: R_PAREN@61..62 ")" [] []
1: (empty)
2: R_CURLY@62..65 "}" [Newline("\n")] [Whitespace(" ")]
2: WHILE_KW@65..71 "while" [] [Whitespace(" ")]
3: L_PAREN@71..72 "(" [] []
4: JS_BOOLEAN_LITERAL_EXPRESSION@72..76
0: TRUE_KW@72..76 "true" [] []
5: R_PAREN@76..77 ")" [] []
6: SEMICOLON@77..78 ";" [] []
2: JS_VARIABLE_STATEMENT@78..89
0: JS_VARIABLE_DECLARATION@78..88
0: (empty)
1: LET_KW@78..83 "let" [Newline("\n")] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@83..88
0: JS_VARIABLE_DECLARATOR@83..88
0: JS_IDENTIFIER_BINDING@83..85
0: IDENT@83..85 "a" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@85..88
0: EQ@85..87 "=" [] [Whitespace(" ")]
1: JS_NUMBER_LITERAL_EXPRESSION@87..88
0: JS_NUMBER_LITERAL@87..88 "1" [] []
1: SEMICOLON@88..89 ";" [] []
3: JS_DO_WHILE_STATEMENT@89..140
0: DO_KW@89..92 "do" [Newline("\n")] []
1: JS_DO_WHILE_STATEMENT@92..124
0: DO_KW@92..96 "do" [Newline("\n")] [Whitespace(" ")]
1: JS_BLOCK_STATEMENT@96..112
0: L_CURLY@96..97 "{" [] []
1: JS_STATEMENT_LIST@97..109
0: JS_EXPRESSION_STATEMENT@97..109
0: JS_ASSIGNMENT_EXPRESSION@97..109
0: JS_IDENTIFIER_ASSIGNMENT@97..102
0: IDENT@97..102 "a" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")]
1: EQ@102..104 "=" [] [Whitespace(" ")]
2: JS_BINARY_EXPRESSION@104..109
0: JS_IDENTIFIER_EXPRESSION@104..106
0: JS_REFERENCE_IDENTIFIER@104..106
0: IDENT@104..106 "a" [] [Whitespace(" ")]
1: PLUS@106..108 "+" [] [Whitespace(" ")]
2: JS_NUMBER_LITERAL_EXPRESSION@108..109
0: JS_NUMBER_LITERAL@108..109 "1" [] []
1: (empty)
2: R_CURLY@109..112 "}" [Newline("\n")] [Whitespace(" ")]
2: WHILE_KW@112..117 "while" [] []
3: L_PAREN@117..118 "(" [] []
4: JS_BINARY_EXPRESSION@118..123
0: JS_IDENTIFIER_EXPRESSION@118..120
0: JS_REFERENCE_IDENTIFIER@118..120
0: IDENT@118..120 "a" [] [Whitespace(" ")]
1: L_ANGLE@120..122 "<" [] [Whitespace(" ")]
2: JS_NUMBER_LITERAL_EXPRESSION@122..123
0: JS_NUMBER_LITERAL@122..123 "5" [] []
5: R_PAREN@123..124 ")" [] []
6: (empty)
2: WHILE_KW@124..131 "while" [Newline("\n")] [Whitespace(" ")]
3: L_PAREN@131..132 "(" [] []
4: JS_BINARY_EXPRESSION@132..139
0: JS_IDENTIFIER_EXPRESSION@132..134
0: JS_REFERENCE_IDENTIFIER@132..134
0: IDENT@132..134 "a" [] [Whitespace(" ")]
1: L_ANGLE@134..136 "<" [] [Whitespace(" ")]
2: JS_NUMBER_LITERAL_EXPRESSION@136..139
0: JS_NUMBER_LITERAL@136..139 "100" [] []
5: R_PAREN@139..140 ")" [] []
6: (empty)
4: EOF@140..141 "" [Newline("\n")] []