JsModule {
bom_token: missing (optional),
interpreter_token: missing (optional),
directives: JsDirectiveList [],
items: JsModuleItemList [
JsVariableStatement {
declaration: JsVariableDeclaration {
await_token: missing (optional),
kind: VAR_KW@0..4 "var" [] [Whitespace(" ")],
declarators: JsVariableDeclaratorList [
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@4..7 "c2" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@7..9 "=" [] [Whitespace(" ")],
expression: JsNewExpression {
new_token: NEW_KW@9..13 "new" [] [Whitespace(" ")],
callee: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@13..14 "T" [] [],
},
},
type_arguments: TsTypeArguments {
l_angle_token: L_ANGLE@14..15 "<" [] [],
ts_type_argument_list: TsTypeArgumentList [
TsStringType {
string_token: STRING_KW@15..21 "string" [] [],
},
],
r_angle_token: R_ANGLE@21..22 ">" [] [],
},
arguments: missing (optional),
},
},
},
],
},
semicolon_token: SEMICOLON@22..30 ";" [] [Whitespace(" "), Comments("// Ok")],
},
JsVariableStatement {
declaration: JsVariableDeclaration {
await_token: missing (optional),
kind: VAR_KW@30..35 "var" [Newline("\n")] [Whitespace(" ")],
declarators: JsVariableDeclaratorList [
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@35..38 "x1" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@38..40 "=" [] [Whitespace(" ")],
expression: JsNewExpression {
new_token: NEW_KW@40..44 "new" [] [Whitespace(" ")],
callee: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@44..46 "SS" [] [],
},
},
type_arguments: TsTypeArguments {
l_angle_token: L_ANGLE@46..47 "<" [] [],
ts_type_argument_list: TsTypeArgumentList [
TsNumberType {
number_token: NUMBER_KW@47..53 "number" [] [],
},
],
r_angle_token: R_ANGLE@53..54 ">" [] [],
},
arguments: JsCallArguments {
l_paren_token: L_PAREN@54..55 "(" [] [],
args: JsCallArgumentList [],
r_paren_token: R_PAREN@55..56 ")" [] [],
},
},
},
},
],
},
semicolon_token: SEMICOLON@56..63 ";" [] [Whitespace(" "), Comments("// OK")],
},
JsVariableStatement {
declaration: JsVariableDeclaration {
await_token: missing (optional),
kind: VAR_KW@63..68 "var" [Newline("\n")] [Whitespace(" ")],
declarators: JsVariableDeclaratorList [
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@68..71 "x3" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@71..73 "=" [] [Whitespace(" ")],
expression: JsNewExpression {
new_token: NEW_KW@73..77 "new" [] [Whitespace(" ")],
callee: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@77..79 "SS" [] [],
},
},
type_arguments: missing (optional),
arguments: JsCallArguments {
l_paren_token: L_PAREN@79..80 "(" [] [],
args: JsCallArgumentList [],
r_paren_token: R_PAREN@80..81 ")" [] [],
},
},
},
},
],
},
semicolon_token: SEMICOLON@81..96 ";" [] [Whitespace(" "), Comments("// OK")],
},
JsVariableStatement {
declaration: JsVariableDeclaration {
await_token: missing (optional),
kind: VAR_KW@96..101 "var" [Newline("\n")] [Whitespace(" ")],
declarators: JsVariableDeclaratorList [
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@101..104 "x4" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@104..106 "=" [] [Whitespace(" ")],
expression: JsNewExpression {
new_token: NEW_KW@106..110 "new" [] [Whitespace(" ")],
callee: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@110..112 "SS" [] [],
},
},
type_arguments: missing (optional),
arguments: missing (optional),
},
},
},
],
},
semicolon_token: SEMICOLON@112..129 ";" [] [Whitespace(" "), Comments("// OK")],
},
],
eof_token: EOF@129..130 "" [Newline("\n")] [],
}
0: JS_MODULE@0..130
0: (empty)
1: (empty)
2: JS_DIRECTIVE_LIST@0..0
3: JS_MODULE_ITEM_LIST@0..129
0: JS_VARIABLE_STATEMENT@0..30
0: JS_VARIABLE_DECLARATION@0..22
0: (empty)
1: VAR_KW@0..4 "var" [] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@4..22
0: JS_VARIABLE_DECLARATOR@4..22
0: JS_IDENTIFIER_BINDING@4..7
0: IDENT@4..7 "c2" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@7..22
0: EQ@7..9 "=" [] [Whitespace(" ")]
1: JS_NEW_EXPRESSION@9..22
0: NEW_KW@9..13 "new" [] [Whitespace(" ")]
1: JS_IDENTIFIER_EXPRESSION@13..14
0: JS_REFERENCE_IDENTIFIER@13..14
0: IDENT@13..14 "T" [] []
2: TS_TYPE_ARGUMENTS@14..22
0: L_ANGLE@14..15 "<" [] []
1: TS_TYPE_ARGUMENT_LIST@15..21
0: TS_STRING_TYPE@15..21
0: STRING_KW@15..21 "string" [] []
2: R_ANGLE@21..22 ">" [] []
3: (empty)
1: SEMICOLON@22..30 ";" [] [Whitespace(" "), Comments("// Ok")]
1: JS_VARIABLE_STATEMENT@30..63
0: JS_VARIABLE_DECLARATION@30..56
0: (empty)
1: VAR_KW@30..35 "var" [Newline("\n")] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@35..56
0: JS_VARIABLE_DECLARATOR@35..56
0: JS_IDENTIFIER_BINDING@35..38
0: IDENT@35..38 "x1" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@38..56
0: EQ@38..40 "=" [] [Whitespace(" ")]
1: JS_NEW_EXPRESSION@40..56
0: NEW_KW@40..44 "new" [] [Whitespace(" ")]
1: JS_IDENTIFIER_EXPRESSION@44..46
0: JS_REFERENCE_IDENTIFIER@44..46
0: IDENT@44..46 "SS" [] []
2: TS_TYPE_ARGUMENTS@46..54
0: L_ANGLE@46..47 "<" [] []
1: TS_TYPE_ARGUMENT_LIST@47..53
0: TS_NUMBER_TYPE@47..53
0: NUMBER_KW@47..53 "number" [] []
2: R_ANGLE@53..54 ">" [] []
3: JS_CALL_ARGUMENTS@54..56
0: L_PAREN@54..55 "(" [] []
1: JS_CALL_ARGUMENT_LIST@55..55
2: R_PAREN@55..56 ")" [] []
1: SEMICOLON@56..63 ";" [] [Whitespace(" "), Comments("// OK")]
2: JS_VARIABLE_STATEMENT@63..96
0: JS_VARIABLE_DECLARATION@63..81
0: (empty)
1: VAR_KW@63..68 "var" [Newline("\n")] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@68..81
0: JS_VARIABLE_DECLARATOR@68..81
0: JS_IDENTIFIER_BINDING@68..71
0: IDENT@68..71 "x3" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@71..81
0: EQ@71..73 "=" [] [Whitespace(" ")]
1: JS_NEW_EXPRESSION@73..81
0: NEW_KW@73..77 "new" [] [Whitespace(" ")]
1: JS_IDENTIFIER_EXPRESSION@77..79
0: JS_REFERENCE_IDENTIFIER@77..79
0: IDENT@77..79 "SS" [] []
2: (empty)
3: JS_CALL_ARGUMENTS@79..81
0: L_PAREN@79..80 "(" [] []
1: JS_CALL_ARGUMENT_LIST@80..80
2: R_PAREN@80..81 ")" [] []
1: SEMICOLON@81..96 ";" [] [Whitespace(" "), Comments("// OK")]
3: JS_VARIABLE_STATEMENT@96..129
0: JS_VARIABLE_DECLARATION@96..112
0: (empty)
1: VAR_KW@96..101 "var" [Newline("\n")] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@101..112
0: JS_VARIABLE_DECLARATOR@101..112
0: JS_IDENTIFIER_BINDING@101..104
0: IDENT@101..104 "x4" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@104..112
0: EQ@104..106 "=" [] [Whitespace(" ")]
1: JS_NEW_EXPRESSION@106..112
0: NEW_KW@106..110 "new" [] [Whitespace(" ")]
1: JS_IDENTIFIER_EXPRESSION@110..112
0: JS_REFERENCE_IDENTIFIER@110..112
0: IDENT@110..112 "SS" [] []
2: (empty)
3: (empty)
1: SEMICOLON@112..129 ";" [] [Whitespace(" "), Comments("// OK")]
4: EOF@129..130 "" [Newline("\n")] []