JsModule { bom_token: missing (optional), interpreter_token: missing (optional), directives: JsDirectiveList [], items: JsModuleItemList [ JsVariableStatement { declaration: JsVariableDeclaration { await_token: missing (optional), kind: CONST_KW@0..6 "const" [] [Whitespace(" ")], declarators: JsVariableDeclaratorList [ JsVariableDeclarator { id: JsIdentifierBinding { name_token: IDENT@6..9 "x5" [] [Whitespace(" ")], }, variable_annotation: missing (optional), initializer: JsInitializerClause { eq_token: EQ@9..11 "=" [] [Whitespace(" ")], expression: TsInstantiationExpression { expression: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@11..12 "f" [] [], }, }, arguments: TsTypeArguments { l_angle_token: L_ANGLE@12..13 "<" [] [], ts_type_argument_list: TsTypeArgumentList [ TsBooleanLiteralType { literal: TRUE_KW@13..17 "true" [] [], }, ], r_angle_token: R_ANGLE@17..18 ">" [] [], }, }, }, }, ], }, semicolon_token: missing (optional), }, JsVariableStatement { declaration: JsVariableDeclaration { await_token: missing (optional), kind: LET_KW@18..23 "let" [Newline("\n")] [Whitespace(" ")], declarators: JsVariableDeclaratorList [ JsVariableDeclarator { id: JsIdentifierBinding { name_token: IDENT@23..26 "yy" [] [Whitespace(" ")], }, variable_annotation: missing (optional), initializer: JsInitializerClause { eq_token: EQ@26..28 "=" [] [Whitespace(" ")], expression: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@28..29 "0" [] [], }, }, }, ], }, semicolon_token: SEMICOLON@29..30 ";" [] [], }, JsVariableStatement { declaration: JsVariableDeclaration { await_token: missing (optional), kind: CONST_KW@30..37 "const" [Newline("\n")] [Whitespace(" ")], declarators: JsVariableDeclaratorList [ JsVariableDeclarator { id: JsIdentifierBinding { name_token: IDENT@37..40 "x6" [] [Whitespace(" ")], }, variable_annotation: missing (optional), initializer: JsInitializerClause { eq_token: EQ@40..42 "=" [] [Whitespace(" ")], expression: TsInstantiationExpression { expression: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@42..43 "f" [] [], }, }, arguments: TsTypeArguments { l_angle_token: L_ANGLE@43..44 "<" [] [], ts_type_argument_list: TsTypeArgumentList [ TsBooleanLiteralType { literal: TRUE_KW@44..48 "true" [] [], }, ], r_angle_token: R_ANGLE@48..49 ">" [] [], }, }, }, }, ], }, semicolon_token: missing (optional), }, TsInterfaceDeclaration { interface_token: INTERFACE_KW@49..60 "interface" [Newline("\n")] [Whitespace(" ")], id: TsIdentifierBinding { name_token: IDENT@60..62 "I" [] [Whitespace(" ")], }, type_parameters: missing (optional), extends_clause: missing (optional), l_curly_token: L_CURLY@62..63 "{" [] [], members: TsTypeMemberList [], r_curly_token: R_CURLY@63..64 "}" [] [], }, JsVariableStatement { declaration: JsVariableDeclaration { await_token: missing (optional), kind: LET_KW@64..69 "let" [Newline("\n")] [Whitespace(" ")], declarators: JsVariableDeclaratorList [ JsVariableDeclarator { id: JsIdentifierBinding { name_token: IDENT@69..73 "x10" [] [Whitespace(" ")], }, variable_annotation: missing (optional), initializer: JsInitializerClause { eq_token: EQ@73..75 "=" [] [Whitespace(" ")], expression: TsInstantiationExpression { expression: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@75..76 "f" [] [], }, }, arguments: TsTypeArguments { l_angle_token: L_ANGLE@76..77 "<" [] [], ts_type_argument_list: TsTypeArgumentList [ TsBooleanLiteralType { literal: TRUE_KW@77..81 "true" [] [], }, ], r_angle_token: R_ANGLE@81..82 ">" [] [], }, }, }, }, ], }, semicolon_token: missing (optional), }, JsExpressionStatement { expression: JsCallExpression { callee: JsStaticMemberExpression { object: JsThisExpression { this_token: THIS_KW@82..87 "this" [Newline("\n")] [], }, operator_token: DOT@87..88 "." [] [], member: JsName { value_token: IDENT@88..91 "bar" [] [], }, }, optional_chain_token: missing (optional), type_arguments: missing (optional), arguments: JsCallArguments { l_paren_token: L_PAREN@91..92 "(" [] [], args: JsCallArgumentList [], r_paren_token: R_PAREN@92..93 ")" [] [], }, }, semicolon_token: missing (optional), }, JsVariableStatement { declaration: JsVariableDeclaration { await_token: missing (optional), kind: LET_KW@93..98 "let" [Newline("\n")] [Whitespace(" ")], declarators: JsVariableDeclaratorList [ JsVariableDeclarator { id: JsIdentifierBinding { name_token: IDENT@98..102 "x11" [] [Whitespace(" ")], }, variable_annotation: missing (optional), initializer: JsInitializerClause { eq_token: EQ@102..104 "=" [] [Whitespace(" ")], expression: TsInstantiationExpression { expression: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@104..105 "f" [] [], }, }, arguments: TsTypeArguments { l_angle_token: L_ANGLE@105..106 "<" [] [], ts_type_argument_list: TsTypeArgumentList [ TsBooleanLiteralType { literal: TRUE_KW@106..110 "true" [] [], }, ], r_angle_token: R_ANGLE@110..111 ">" [] [], }, }, }, }, ], }, semicolon_token: missing (optional), }, JsFunctionDeclaration { async_token: missing (optional), function_token: FUNCTION_KW@111..121 "function" [Newline("\n")] [Whitespace(" ")], star_token: missing (optional), id: JsIdentifierBinding { name_token: IDENT@121..124 "bar" [] [], }, type_parameters: missing (optional), parameters: JsParameters { l_paren_token: L_PAREN@124..125 "(" [] [], items: JsParameterList [], r_paren_token: R_PAREN@125..127 ")" [] [Whitespace(" ")], }, return_type_annotation: missing (optional), body: JsFunctionBody { l_curly_token: L_CURLY@127..128 "{" [] [], directives: JsDirectiveList [], statements: JsStatementList [], r_curly_token: R_CURLY@128..129 "}" [] [], }, }, JsVariableStatement { declaration: JsVariableDeclaration { await_token: missing (optional), kind: LET_KW@129..134 "let" [Newline("\n")] [Whitespace(" ")], declarators: JsVariableDeclaratorList [ JsVariableDeclarator { id: JsIdentifierBinding { name_token: IDENT@134..138 "x12" [] [Whitespace(" ")], }, variable_annotation: missing (optional), initializer: JsInitializerClause { eq_token: EQ@138..140 "=" [] [Whitespace(" ")], expression: TsInstantiationExpression { expression: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@140..141 "f" [] [], }, }, arguments: TsTypeArguments { l_angle_token: L_ANGLE@141..142 "<" [] [], ts_type_argument_list: TsTypeArgumentList [ TsBooleanLiteralType { literal: TRUE_KW@142..146 "true" [] [], }, ], r_angle_token: R_ANGLE@146..147 ">" [] [], }, }, }, }, ], }, semicolon_token: missing (optional), }, JsClassDeclaration { decorators: JsDecoratorList [], abstract_token: missing (optional), class_token: CLASS_KW@147..154 "class" [Newline("\n")] [Whitespace(" ")], id: JsIdentifierBinding { name_token: IDENT@154..156 "C" [] [Whitespace(" ")], }, type_parameters: missing (optional), extends_clause: missing (optional), implements_clause: missing (optional), l_curly_token: L_CURLY@156..157 "{" [] [], members: JsClassMemberList [], r_curly_token: R_CURLY@157..158 "}" [] [], }, JsVariableStatement { declaration: JsVariableDeclaration { await_token: missing (optional), kind: LET_KW@158..163 "let" [Newline("\n")] [Whitespace(" ")], declarators: JsVariableDeclaratorList [ JsVariableDeclarator { id: JsIdentifierBinding { name_token: IDENT@163..167 "x13" [] [Whitespace(" ")], }, variable_annotation: missing (optional), initializer: JsInitializerClause { eq_token: EQ@167..169 "=" [] [Whitespace(" ")], expression: TsInstantiationExpression { expression: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@169..170 "f" [] [], }, }, arguments: TsTypeArguments { l_angle_token: L_ANGLE@170..171 "<" [] [], ts_type_argument_list: TsTypeArgumentList [ TsBooleanLiteralType { literal: TRUE_KW@171..175 "true" [] [], }, ], r_angle_token: R_ANGLE@175..176 ">" [] [], }, }, }, }, ], }, semicolon_token: missing (optional), }, JsExpressionStatement { expression: JsCallExpression { callee: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@176..180 "bar" [Newline("\n")] [], }, }, optional_chain_token: missing (optional), type_arguments: missing (optional), arguments: JsCallArguments { l_paren_token: L_PAREN@180..181 "(" [] [], args: JsCallArgumentList [], r_paren_token: R_PAREN@181..182 ")" [] [], }, }, semicolon_token: missing (optional), }, JsVariableStatement { declaration: JsVariableDeclaration { await_token: missing (optional), kind: LET_KW@182..187 "let" [Newline("\n")] [Whitespace(" ")], declarators: JsVariableDeclaratorList [ JsVariableDeclarator { id: JsIdentifierBinding { name_token: IDENT@187..191 "x14" [] [Whitespace(" ")], }, variable_annotation: missing (optional), initializer: JsInitializerClause { eq_token: EQ@191..193 "=" [] [Whitespace(" ")], expression: TsInstantiationExpression { expression: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@193..194 "f" [] [], }, }, arguments: TsTypeArguments { l_angle_token: L_ANGLE@194..195 "<" [] [], ts_type_argument_list: TsTypeArgumentList [ TsBooleanLiteralType { literal: TRUE_KW@195..199 "true" [] [], }, ], r_angle_token: R_ANGLE@199..200 ">" [] [], }, }, }, }, ], }, semicolon_token: missing (optional), }, JsExpressionStatement { expression: JsUnaryExpression { operator_token: VOID_KW@200..206 "void" [Newline("\n")] [Whitespace(" ")], argument: JsCallExpression { callee: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@206..209 "bar" [] [], }, }, optional_chain_token: missing (optional), type_arguments: missing (optional), arguments: JsCallArguments { l_paren_token: L_PAREN@209..210 "(" [] [], args: JsCallArgumentList [], r_paren_token: R_PAREN@210..211 ")" [] [], }, }, }, semicolon_token: missing (optional), }, JsClassDeclaration { decorators: JsDecoratorList [], abstract_token: missing (optional), class_token: CLASS_KW@211..218 "class" [Newline("\n")] [Whitespace(" ")], id: JsIdentifierBinding { name_token: IDENT@218..221 "C1" [] [Whitespace(" ")], }, type_parameters: missing (optional), extends_clause: missing (optional), implements_clause: missing (optional), l_curly_token: L_CURLY@221..222 "{" [] [], members: JsClassMemberList [ JsPropertyClassMember { modifiers: JsPropertyModifierList [ JsStaticModifier { modifier_token: STATIC_KW@222..234 "static" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")], }, ], name: JsLiteralMemberName { value: IDENT@234..245 "specialFoo" [] [Whitespace(" ")], }, property_annotation: missing (optional), value: JsInitializerClause { eq_token: EQ@245..247 "=" [] [Whitespace(" ")], expression: TsInstantiationExpression { expression: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@247..248 "f" [] [], }, }, arguments: TsTypeArguments { l_angle_token: L_ANGLE@248..249 "<" [] [], ts_type_argument_list: TsTypeArgumentList [ TsStringType { string_token: STRING_KW@249..255 "string" [] [], }, ], r_angle_token: R_ANGLE@255..256 ">" [] [], }, }, }, semicolon_token: missing (optional), }, JsPropertyClassMember { modifiers: JsPropertyModifierList [ JsStaticModifier { modifier_token: STATIC_KW@256..268 "static" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")], }, ], name: JsLiteralMemberName { value: IDENT@268..272 "bar" [] [Whitespace(" ")], }, property_annotation: missing (optional), value: JsInitializerClause { eq_token: EQ@272..274 "=" [] [Whitespace(" ")], expression: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@274..277 "123" [] [], }, }, semicolon_token: missing (optional), }, ], r_curly_token: R_CURLY@277..279 "}" [Newline("\n")] [], }, JsClassDeclaration { decorators: JsDecoratorList [], abstract_token: missing (optional), class_token: CLASS_KW@279..286 "class" [Newline("\n")] [Whitespace(" ")], id: JsIdentifierBinding { name_token: IDENT@286..289 "C2" [] [Whitespace(" ")], }, type_parameters: missing (optional), extends_clause: missing (optional), implements_clause: missing (optional), l_curly_token: L_CURLY@289..290 "{" [] [], members: JsClassMemberList [ JsPropertyClassMember { modifiers: JsPropertyModifierList [ TsAccessibilityModifier { modifier_token: PUBLIC_KW@290..302 "public" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")], }, ], name: JsLiteralMemberName { value: IDENT@302..313 "specialFoo" [] [Whitespace(" ")], }, property_annotation: missing (optional), value: JsInitializerClause { eq_token: EQ@313..315 "=" [] [Whitespace(" ")], expression: TsInstantiationExpression { expression: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@315..316 "f" [] [], }, }, arguments: TsTypeArguments { l_angle_token: L_ANGLE@316..317 "<" [] [], ts_type_argument_list: TsTypeArgumentList [ TsStringType { string_token: STRING_KW@317..323 "string" [] [], }, ], r_angle_token: R_ANGLE@323..324 ">" [] [], }, }, }, semicolon_token: missing (optional), }, JsPropertyClassMember { modifiers: JsPropertyModifierList [ TsAccessibilityModifier { modifier_token: PUBLIC_KW@324..336 "public" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")], }, ], name: JsLiteralMemberName { value: IDENT@336..340 "bar" [] [Whitespace(" ")], }, property_annotation: missing (optional), value: JsInitializerClause { eq_token: EQ@340..342 "=" [] [Whitespace(" ")], expression: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@342..345 "123" [] [], }, }, semicolon_token: missing (optional), }, ], r_curly_token: R_CURLY@345..347 "}" [Newline("\n")] [], }, JsClassDeclaration { decorators: JsDecoratorList [], abstract_token: missing (optional), class_token: CLASS_KW@347..354 "class" [Newline("\n")] [Whitespace(" ")], id: JsIdentifierBinding { name_token: IDENT@354..357 "C3" [] [Whitespace(" ")], }, type_parameters: missing (optional), extends_clause: missing (optional), implements_clause: missing (optional), l_curly_token: L_CURLY@357..358 "{" [] [], members: JsClassMemberList [ JsPropertyClassMember { modifiers: JsPropertyModifierList [ TsAccessibilityModifier { modifier_token: PRIVATE_KW@358..371 "private" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")], }, ], name: JsLiteralMemberName { value: IDENT@371..382 "specialFoo" [] [Whitespace(" ")], }, property_annotation: missing (optional), value: JsInitializerClause { eq_token: EQ@382..384 "=" [] [Whitespace(" ")], expression: TsInstantiationExpression { expression: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@384..385 "f" [] [], }, }, arguments: TsTypeArguments { l_angle_token: L_ANGLE@385..386 "<" [] [], ts_type_argument_list: TsTypeArgumentList [ TsStringType { string_token: STRING_KW@386..392 "string" [] [], }, ], r_angle_token: R_ANGLE@392..393 ">" [] [], }, }, }, semicolon_token: missing (optional), }, JsPropertyClassMember { modifiers: JsPropertyModifierList [ TsAccessibilityModifier { modifier_token: PRIVATE_KW@393..406 "private" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")], }, ], name: JsLiteralMemberName { value: IDENT@406..410 "bar" [] [Whitespace(" ")], }, property_annotation: missing (optional), value: JsInitializerClause { eq_token: EQ@410..412 "=" [] [Whitespace(" ")], expression: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@412..415 "123" [] [], }, }, semicolon_token: missing (optional), }, ], r_curly_token: R_CURLY@415..417 "}" [Newline("\n")] [], }, JsClassDeclaration { decorators: JsDecoratorList [], abstract_token: missing (optional), class_token: CLASS_KW@417..424 "class" [Newline("\n")] [Whitespace(" ")], id: JsIdentifierBinding { name_token: IDENT@424..427 "C4" [] [Whitespace(" ")], }, type_parameters: missing (optional), extends_clause: missing (optional), implements_clause: missing (optional), l_curly_token: L_CURLY@427..428 "{" [] [], members: JsClassMemberList [ JsPropertyClassMember { modifiers: JsPropertyModifierList [ TsAccessibilityModifier { modifier_token: PROTECTED_KW@428..443 "protected" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")], }, ], name: JsLiteralMemberName { value: IDENT@443..454 "specialFoo" [] [Whitespace(" ")], }, property_annotation: missing (optional), value: JsInitializerClause { eq_token: EQ@454..456 "=" [] [Whitespace(" ")], expression: TsInstantiationExpression { expression: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@456..457 "f" [] [], }, }, arguments: TsTypeArguments { l_angle_token: L_ANGLE@457..458 "<" [] [], ts_type_argument_list: TsTypeArgumentList [ TsStringType { string_token: STRING_KW@458..464 "string" [] [], }, ], r_angle_token: R_ANGLE@464..465 ">" [] [], }, }, }, semicolon_token: missing (optional), }, JsPropertyClassMember { modifiers: JsPropertyModifierList [ TsAccessibilityModifier { modifier_token: PROTECTED_KW@465..480 "protected" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")], }, ], name: JsLiteralMemberName { value: IDENT@480..484 "bar" [] [Whitespace(" ")], }, property_annotation: missing (optional), value: JsInitializerClause { eq_token: EQ@484..486 "=" [] [Whitespace(" ")], expression: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@486..489 "123" [] [], }, }, semicolon_token: missing (optional), }, ], r_curly_token: R_CURLY@489..491 "}" [Newline("\n")] [], }, JsClassDeclaration { decorators: JsDecoratorList [], abstract_token: missing (optional), class_token: CLASS_KW@491..498 "class" [Newline("\n")] [Whitespace(" ")], id: JsIdentifierBinding { name_token: IDENT@498..501 "C5" [] [Whitespace(" ")], }, type_parameters: missing (optional), extends_clause: missing (optional), implements_clause: missing (optional), l_curly_token: L_CURLY@501..502 "{" [] [], members: JsClassMemberList [ JsPropertyClassMember { modifiers: JsPropertyModifierList [ TsAccessibilityModifier { modifier_token: PROTECTED_KW@502..517 "protected" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")], }, ], name: JsLiteralMemberName { value: IDENT@517..528 "specialFoo" [] [Whitespace(" ")], }, property_annotation: missing (optional), value: JsInitializerClause { eq_token: EQ@528..530 "=" [] [Whitespace(" ")], expression: TsInstantiationExpression { expression: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@530..531 "f" [] [], }, }, arguments: TsTypeArguments { l_angle_token: L_ANGLE@531..532 "<" [] [], ts_type_argument_list: TsTypeArgumentList [ TsStringType { string_token: STRING_KW@532..538 "string" [] [], }, ], r_angle_token: R_ANGLE@538..539 ">" [] [], }, }, }, semicolon_token: missing (optional), }, JsPropertyClassMember { modifiers: JsPropertyModifierList [], name: JsPrivateClassMemberName { hash_token: HASH@539..545 "#" [Newline("\n"), Whitespace(" ")] [], id_token: IDENT@545..549 "bar" [] [Whitespace(" ")], }, property_annotation: missing (optional), value: JsInitializerClause { eq_token: EQ@549..551 "=" [] [Whitespace(" ")], expression: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@551..554 "123" [] [], }, }, semicolon_token: missing (optional), }, ], r_curly_token: R_CURLY@554..556 "}" [Newline("\n")] [], }, JsVariableStatement { declaration: JsVariableDeclaration { await_token: missing (optional), kind: CONST_KW@556..563 "const" [Newline("\n")] [Whitespace(" ")], declarators: JsVariableDeclaratorList [ JsVariableDeclarator { id: JsIdentifierBinding { name_token: IDENT@563..567 "Bar" [] [Whitespace(" ")], }, variable_annotation: missing (optional), initializer: JsInitializerClause { eq_token: EQ@567..569 "=" [] [Whitespace(" ")], expression: TsInstantiationExpression { expression: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@569..572 "Foo" [] [], }, }, arguments: TsTypeArguments { l_angle_token: L_ANGLE@572..573 "<" [] [], ts_type_argument_list: TsTypeArgumentList [ TsStringType { string_token: STRING_KW@573..579 "string" [] [], }, ], r_angle_token: R_ANGLE@579..580 ">" [] [], }, }, }, }, ], }, semicolon_token: missing (optional), }, JsVariableStatement { declaration: JsVariableDeclaration { await_token: missing (optional), kind: CONST_KW@580..587 "const" [Newline("\n")] [Whitespace(" ")], declarators: JsVariableDeclaratorList [ JsVariableDeclarator { id: JsIdentifierBinding { name_token: IDENT@587..591 "Baz" [] [Whitespace(" ")], }, variable_annotation: missing (optional), initializer: JsInitializerClause { eq_token: EQ@591..593 "=" [] [Whitespace(" ")], expression: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@593..596 "123" [] [], }, }, }, ], }, semicolon_token: missing (optional), }, ], eof_token: EOF@596..597 "" [Newline("\n")] [], } 0: JS_MODULE@0..597 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..596 0: JS_VARIABLE_STATEMENT@0..18 0: JS_VARIABLE_DECLARATION@0..18 0: (empty) 1: CONST_KW@0..6 "const" [] [Whitespace(" ")] 2: JS_VARIABLE_DECLARATOR_LIST@6..18 0: JS_VARIABLE_DECLARATOR@6..18 0: JS_IDENTIFIER_BINDING@6..9 0: IDENT@6..9 "x5" [] [Whitespace(" ")] 1: (empty) 2: JS_INITIALIZER_CLAUSE@9..18 0: EQ@9..11 "=" [] [Whitespace(" ")] 1: TS_INSTANTIATION_EXPRESSION@11..18 0: JS_IDENTIFIER_EXPRESSION@11..12 0: JS_REFERENCE_IDENTIFIER@11..12 0: IDENT@11..12 "f" [] [] 1: TS_TYPE_ARGUMENTS@12..18 0: L_ANGLE@12..13 "<" [] [] 1: TS_TYPE_ARGUMENT_LIST@13..17 0: TS_BOOLEAN_LITERAL_TYPE@13..17 0: TRUE_KW@13..17 "true" [] [] 2: R_ANGLE@17..18 ">" [] [] 1: (empty) 1: JS_VARIABLE_STATEMENT@18..30 0: JS_VARIABLE_DECLARATION@18..29 0: (empty) 1: LET_KW@18..23 "let" [Newline("\n")] [Whitespace(" ")] 2: JS_VARIABLE_DECLARATOR_LIST@23..29 0: JS_VARIABLE_DECLARATOR@23..29 0: JS_IDENTIFIER_BINDING@23..26 0: IDENT@23..26 "yy" [] [Whitespace(" ")] 1: (empty) 2: JS_INITIALIZER_CLAUSE@26..29 0: EQ@26..28 "=" [] [Whitespace(" ")] 1: JS_NUMBER_LITERAL_EXPRESSION@28..29 0: JS_NUMBER_LITERAL@28..29 "0" [] [] 1: SEMICOLON@29..30 ";" [] [] 2: JS_VARIABLE_STATEMENT@30..49 0: JS_VARIABLE_DECLARATION@30..49 0: (empty) 1: CONST_KW@30..37 "const" [Newline("\n")] [Whitespace(" ")] 2: JS_VARIABLE_DECLARATOR_LIST@37..49 0: JS_VARIABLE_DECLARATOR@37..49 0: JS_IDENTIFIER_BINDING@37..40 0: IDENT@37..40 "x6" [] [Whitespace(" ")] 1: (empty) 2: JS_INITIALIZER_CLAUSE@40..49 0: EQ@40..42 "=" [] [Whitespace(" ")] 1: TS_INSTANTIATION_EXPRESSION@42..49 0: JS_IDENTIFIER_EXPRESSION@42..43 0: JS_REFERENCE_IDENTIFIER@42..43 0: IDENT@42..43 "f" [] [] 1: TS_TYPE_ARGUMENTS@43..49 0: L_ANGLE@43..44 "<" [] [] 1: TS_TYPE_ARGUMENT_LIST@44..48 0: TS_BOOLEAN_LITERAL_TYPE@44..48 0: TRUE_KW@44..48 "true" [] [] 2: R_ANGLE@48..49 ">" [] [] 1: (empty) 3: TS_INTERFACE_DECLARATION@49..64 0: INTERFACE_KW@49..60 "interface" [Newline("\n")] [Whitespace(" ")] 1: TS_IDENTIFIER_BINDING@60..62 0: IDENT@60..62 "I" [] [Whitespace(" ")] 2: (empty) 3: (empty) 4: L_CURLY@62..63 "{" [] [] 5: TS_TYPE_MEMBER_LIST@63..63 6: R_CURLY@63..64 "}" [] [] 4: JS_VARIABLE_STATEMENT@64..82 0: JS_VARIABLE_DECLARATION@64..82 0: (empty) 1: LET_KW@64..69 "let" [Newline("\n")] [Whitespace(" ")] 2: JS_VARIABLE_DECLARATOR_LIST@69..82 0: JS_VARIABLE_DECLARATOR@69..82 0: JS_IDENTIFIER_BINDING@69..73 0: IDENT@69..73 "x10" [] [Whitespace(" ")] 1: (empty) 2: JS_INITIALIZER_CLAUSE@73..82 0: EQ@73..75 "=" [] [Whitespace(" ")] 1: TS_INSTANTIATION_EXPRESSION@75..82 0: JS_IDENTIFIER_EXPRESSION@75..76 0: JS_REFERENCE_IDENTIFIER@75..76 0: IDENT@75..76 "f" [] [] 1: TS_TYPE_ARGUMENTS@76..82 0: L_ANGLE@76..77 "<" [] [] 1: TS_TYPE_ARGUMENT_LIST@77..81 0: TS_BOOLEAN_LITERAL_TYPE@77..81 0: TRUE_KW@77..81 "true" [] [] 2: R_ANGLE@81..82 ">" [] [] 1: (empty) 5: JS_EXPRESSION_STATEMENT@82..93 0: JS_CALL_EXPRESSION@82..93 0: JS_STATIC_MEMBER_EXPRESSION@82..91 0: JS_THIS_EXPRESSION@82..87 0: THIS_KW@82..87 "this" [Newline("\n")] [] 1: DOT@87..88 "." [] [] 2: JS_NAME@88..91 0: IDENT@88..91 "bar" [] [] 1: (empty) 2: (empty) 3: JS_CALL_ARGUMENTS@91..93 0: L_PAREN@91..92 "(" [] [] 1: JS_CALL_ARGUMENT_LIST@92..92 2: R_PAREN@92..93 ")" [] [] 1: (empty) 6: JS_VARIABLE_STATEMENT@93..111 0: JS_VARIABLE_DECLARATION@93..111 0: (empty) 1: LET_KW@93..98 "let" [Newline("\n")] [Whitespace(" ")] 2: JS_VARIABLE_DECLARATOR_LIST@98..111 0: JS_VARIABLE_DECLARATOR@98..111 0: JS_IDENTIFIER_BINDING@98..102 0: IDENT@98..102 "x11" [] [Whitespace(" ")] 1: (empty) 2: JS_INITIALIZER_CLAUSE@102..111 0: EQ@102..104 "=" [] [Whitespace(" ")] 1: TS_INSTANTIATION_EXPRESSION@104..111 0: JS_IDENTIFIER_EXPRESSION@104..105 0: JS_REFERENCE_IDENTIFIER@104..105 0: IDENT@104..105 "f" [] [] 1: TS_TYPE_ARGUMENTS@105..111 0: L_ANGLE@105..106 "<" [] [] 1: TS_TYPE_ARGUMENT_LIST@106..110 0: TS_BOOLEAN_LITERAL_TYPE@106..110 0: TRUE_KW@106..110 "true" [] [] 2: R_ANGLE@110..111 ">" [] [] 1: (empty) 7: JS_FUNCTION_DECLARATION@111..129 0: (empty) 1: FUNCTION_KW@111..121 "function" [Newline("\n")] [Whitespace(" ")] 2: (empty) 3: JS_IDENTIFIER_BINDING@121..124 0: IDENT@121..124 "bar" [] [] 4: (empty) 5: JS_PARAMETERS@124..127 0: L_PAREN@124..125 "(" [] [] 1: JS_PARAMETER_LIST@125..125 2: R_PAREN@125..127 ")" [] [Whitespace(" ")] 6: (empty) 7: JS_FUNCTION_BODY@127..129 0: L_CURLY@127..128 "{" [] [] 1: JS_DIRECTIVE_LIST@128..128 2: JS_STATEMENT_LIST@128..128 3: R_CURLY@128..129 "}" [] [] 8: JS_VARIABLE_STATEMENT@129..147 0: JS_VARIABLE_DECLARATION@129..147 0: (empty) 1: LET_KW@129..134 "let" [Newline("\n")] [Whitespace(" ")] 2: JS_VARIABLE_DECLARATOR_LIST@134..147 0: JS_VARIABLE_DECLARATOR@134..147 0: JS_IDENTIFIER_BINDING@134..138 0: IDENT@134..138 "x12" [] [Whitespace(" ")] 1: (empty) 2: JS_INITIALIZER_CLAUSE@138..147 0: EQ@138..140 "=" [] [Whitespace(" ")] 1: TS_INSTANTIATION_EXPRESSION@140..147 0: JS_IDENTIFIER_EXPRESSION@140..141 0: JS_REFERENCE_IDENTIFIER@140..141 0: IDENT@140..141 "f" [] [] 1: TS_TYPE_ARGUMENTS@141..147 0: L_ANGLE@141..142 "<" [] [] 1: TS_TYPE_ARGUMENT_LIST@142..146 0: TS_BOOLEAN_LITERAL_TYPE@142..146 0: TRUE_KW@142..146 "true" [] [] 2: R_ANGLE@146..147 ">" [] [] 1: (empty) 9: JS_CLASS_DECLARATION@147..158 0: JS_DECORATOR_LIST@147..147 1: (empty) 2: CLASS_KW@147..154 "class" [Newline("\n")] [Whitespace(" ")] 3: JS_IDENTIFIER_BINDING@154..156 0: IDENT@154..156 "C" [] [Whitespace(" ")] 4: (empty) 5: (empty) 6: (empty) 7: L_CURLY@156..157 "{" [] [] 8: JS_CLASS_MEMBER_LIST@157..157 9: R_CURLY@157..158 "}" [] [] 10: JS_VARIABLE_STATEMENT@158..176 0: JS_VARIABLE_DECLARATION@158..176 0: (empty) 1: LET_KW@158..163 "let" [Newline("\n")] [Whitespace(" ")] 2: JS_VARIABLE_DECLARATOR_LIST@163..176 0: JS_VARIABLE_DECLARATOR@163..176 0: JS_IDENTIFIER_BINDING@163..167 0: IDENT@163..167 "x13" [] [Whitespace(" ")] 1: (empty) 2: JS_INITIALIZER_CLAUSE@167..176 0: EQ@167..169 "=" [] [Whitespace(" ")] 1: TS_INSTANTIATION_EXPRESSION@169..176 0: JS_IDENTIFIER_EXPRESSION@169..170 0: JS_REFERENCE_IDENTIFIER@169..170 0: IDENT@169..170 "f" [] [] 1: TS_TYPE_ARGUMENTS@170..176 0: L_ANGLE@170..171 "<" [] [] 1: TS_TYPE_ARGUMENT_LIST@171..175 0: TS_BOOLEAN_LITERAL_TYPE@171..175 0: TRUE_KW@171..175 "true" [] [] 2: R_ANGLE@175..176 ">" [] [] 1: (empty) 11: JS_EXPRESSION_STATEMENT@176..182 0: JS_CALL_EXPRESSION@176..182 0: JS_IDENTIFIER_EXPRESSION@176..180 0: JS_REFERENCE_IDENTIFIER@176..180 0: IDENT@176..180 "bar" [Newline("\n")] [] 1: (empty) 2: (empty) 3: JS_CALL_ARGUMENTS@180..182 0: L_PAREN@180..181 "(" [] [] 1: JS_CALL_ARGUMENT_LIST@181..181 2: R_PAREN@181..182 ")" [] [] 1: (empty) 12: JS_VARIABLE_STATEMENT@182..200 0: JS_VARIABLE_DECLARATION@182..200 0: (empty) 1: LET_KW@182..187 "let" [Newline("\n")] [Whitespace(" ")] 2: JS_VARIABLE_DECLARATOR_LIST@187..200 0: JS_VARIABLE_DECLARATOR@187..200 0: JS_IDENTIFIER_BINDING@187..191 0: IDENT@187..191 "x14" [] [Whitespace(" ")] 1: (empty) 2: JS_INITIALIZER_CLAUSE@191..200 0: EQ@191..193 "=" [] [Whitespace(" ")] 1: TS_INSTANTIATION_EXPRESSION@193..200 0: JS_IDENTIFIER_EXPRESSION@193..194 0: JS_REFERENCE_IDENTIFIER@193..194 0: IDENT@193..194 "f" [] [] 1: TS_TYPE_ARGUMENTS@194..200 0: L_ANGLE@194..195 "<" [] [] 1: TS_TYPE_ARGUMENT_LIST@195..199 0: TS_BOOLEAN_LITERAL_TYPE@195..199 0: TRUE_KW@195..199 "true" [] [] 2: R_ANGLE@199..200 ">" [] [] 1: (empty) 13: JS_EXPRESSION_STATEMENT@200..211 0: JS_UNARY_EXPRESSION@200..211 0: VOID_KW@200..206 "void" [Newline("\n")] [Whitespace(" ")] 1: JS_CALL_EXPRESSION@206..211 0: JS_IDENTIFIER_EXPRESSION@206..209 0: JS_REFERENCE_IDENTIFIER@206..209 0: IDENT@206..209 "bar" [] [] 1: (empty) 2: (empty) 3: JS_CALL_ARGUMENTS@209..211 0: L_PAREN@209..210 "(" [] [] 1: JS_CALL_ARGUMENT_LIST@210..210 2: R_PAREN@210..211 ")" [] [] 1: (empty) 14: JS_CLASS_DECLARATION@211..279 0: JS_DECORATOR_LIST@211..211 1: (empty) 2: CLASS_KW@211..218 "class" [Newline("\n")] [Whitespace(" ")] 3: JS_IDENTIFIER_BINDING@218..221 0: IDENT@218..221 "C1" [] [Whitespace(" ")] 4: (empty) 5: (empty) 6: (empty) 7: L_CURLY@221..222 "{" [] [] 8: JS_CLASS_MEMBER_LIST@222..277 0: JS_PROPERTY_CLASS_MEMBER@222..256 0: JS_PROPERTY_MODIFIER_LIST@222..234 0: JS_STATIC_MODIFIER@222..234 0: STATIC_KW@222..234 "static" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")] 1: JS_LITERAL_MEMBER_NAME@234..245 0: IDENT@234..245 "specialFoo" [] [Whitespace(" ")] 2: (empty) 3: JS_INITIALIZER_CLAUSE@245..256 0: EQ@245..247 "=" [] [Whitespace(" ")] 1: TS_INSTANTIATION_EXPRESSION@247..256 0: JS_IDENTIFIER_EXPRESSION@247..248 0: JS_REFERENCE_IDENTIFIER@247..248 0: IDENT@247..248 "f" [] [] 1: TS_TYPE_ARGUMENTS@248..256 0: L_ANGLE@248..249 "<" [] [] 1: TS_TYPE_ARGUMENT_LIST@249..255 0: TS_STRING_TYPE@249..255 0: STRING_KW@249..255 "string" [] [] 2: R_ANGLE@255..256 ">" [] [] 4: (empty) 1: JS_PROPERTY_CLASS_MEMBER@256..277 0: JS_PROPERTY_MODIFIER_LIST@256..268 0: JS_STATIC_MODIFIER@256..268 0: STATIC_KW@256..268 "static" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")] 1: JS_LITERAL_MEMBER_NAME@268..272 0: IDENT@268..272 "bar" [] [Whitespace(" ")] 2: (empty) 3: JS_INITIALIZER_CLAUSE@272..277 0: EQ@272..274 "=" [] [Whitespace(" ")] 1: JS_NUMBER_LITERAL_EXPRESSION@274..277 0: JS_NUMBER_LITERAL@274..277 "123" [] [] 4: (empty) 9: R_CURLY@277..279 "}" [Newline("\n")] [] 15: JS_CLASS_DECLARATION@279..347 0: JS_DECORATOR_LIST@279..279 1: (empty) 2: CLASS_KW@279..286 "class" [Newline("\n")] [Whitespace(" ")] 3: JS_IDENTIFIER_BINDING@286..289 0: IDENT@286..289 "C2" [] [Whitespace(" ")] 4: (empty) 5: (empty) 6: (empty) 7: L_CURLY@289..290 "{" [] [] 8: JS_CLASS_MEMBER_LIST@290..345 0: JS_PROPERTY_CLASS_MEMBER@290..324 0: JS_PROPERTY_MODIFIER_LIST@290..302 0: TS_ACCESSIBILITY_MODIFIER@290..302 0: PUBLIC_KW@290..302 "public" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")] 1: JS_LITERAL_MEMBER_NAME@302..313 0: IDENT@302..313 "specialFoo" [] [Whitespace(" ")] 2: (empty) 3: JS_INITIALIZER_CLAUSE@313..324 0: EQ@313..315 "=" [] [Whitespace(" ")] 1: TS_INSTANTIATION_EXPRESSION@315..324 0: JS_IDENTIFIER_EXPRESSION@315..316 0: JS_REFERENCE_IDENTIFIER@315..316 0: IDENT@315..316 "f" [] [] 1: TS_TYPE_ARGUMENTS@316..324 0: L_ANGLE@316..317 "<" [] [] 1: TS_TYPE_ARGUMENT_LIST@317..323 0: TS_STRING_TYPE@317..323 0: STRING_KW@317..323 "string" [] [] 2: R_ANGLE@323..324 ">" [] [] 4: (empty) 1: JS_PROPERTY_CLASS_MEMBER@324..345 0: JS_PROPERTY_MODIFIER_LIST@324..336 0: TS_ACCESSIBILITY_MODIFIER@324..336 0: PUBLIC_KW@324..336 "public" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")] 1: JS_LITERAL_MEMBER_NAME@336..340 0: IDENT@336..340 "bar" [] [Whitespace(" ")] 2: (empty) 3: JS_INITIALIZER_CLAUSE@340..345 0: EQ@340..342 "=" [] [Whitespace(" ")] 1: JS_NUMBER_LITERAL_EXPRESSION@342..345 0: JS_NUMBER_LITERAL@342..345 "123" [] [] 4: (empty) 9: R_CURLY@345..347 "}" [Newline("\n")] [] 16: JS_CLASS_DECLARATION@347..417 0: JS_DECORATOR_LIST@347..347 1: (empty) 2: CLASS_KW@347..354 "class" [Newline("\n")] [Whitespace(" ")] 3: JS_IDENTIFIER_BINDING@354..357 0: IDENT@354..357 "C3" [] [Whitespace(" ")] 4: (empty) 5: (empty) 6: (empty) 7: L_CURLY@357..358 "{" [] [] 8: JS_CLASS_MEMBER_LIST@358..415 0: JS_PROPERTY_CLASS_MEMBER@358..393 0: JS_PROPERTY_MODIFIER_LIST@358..371 0: TS_ACCESSIBILITY_MODIFIER@358..371 0: PRIVATE_KW@358..371 "private" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")] 1: JS_LITERAL_MEMBER_NAME@371..382 0: IDENT@371..382 "specialFoo" [] [Whitespace(" ")] 2: (empty) 3: JS_INITIALIZER_CLAUSE@382..393 0: EQ@382..384 "=" [] [Whitespace(" ")] 1: TS_INSTANTIATION_EXPRESSION@384..393 0: JS_IDENTIFIER_EXPRESSION@384..385 0: JS_REFERENCE_IDENTIFIER@384..385 0: IDENT@384..385 "f" [] [] 1: TS_TYPE_ARGUMENTS@385..393 0: L_ANGLE@385..386 "<" [] [] 1: TS_TYPE_ARGUMENT_LIST@386..392 0: TS_STRING_TYPE@386..392 0: STRING_KW@386..392 "string" [] [] 2: R_ANGLE@392..393 ">" [] [] 4: (empty) 1: JS_PROPERTY_CLASS_MEMBER@393..415 0: JS_PROPERTY_MODIFIER_LIST@393..406 0: TS_ACCESSIBILITY_MODIFIER@393..406 0: PRIVATE_KW@393..406 "private" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")] 1: JS_LITERAL_MEMBER_NAME@406..410 0: IDENT@406..410 "bar" [] [Whitespace(" ")] 2: (empty) 3: JS_INITIALIZER_CLAUSE@410..415 0: EQ@410..412 "=" [] [Whitespace(" ")] 1: JS_NUMBER_LITERAL_EXPRESSION@412..415 0: JS_NUMBER_LITERAL@412..415 "123" [] [] 4: (empty) 9: R_CURLY@415..417 "}" [Newline("\n")] [] 17: JS_CLASS_DECLARATION@417..491 0: JS_DECORATOR_LIST@417..417 1: (empty) 2: CLASS_KW@417..424 "class" [Newline("\n")] [Whitespace(" ")] 3: JS_IDENTIFIER_BINDING@424..427 0: IDENT@424..427 "C4" [] [Whitespace(" ")] 4: (empty) 5: (empty) 6: (empty) 7: L_CURLY@427..428 "{" [] [] 8: JS_CLASS_MEMBER_LIST@428..489 0: JS_PROPERTY_CLASS_MEMBER@428..465 0: JS_PROPERTY_MODIFIER_LIST@428..443 0: TS_ACCESSIBILITY_MODIFIER@428..443 0: PROTECTED_KW@428..443 "protected" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")] 1: JS_LITERAL_MEMBER_NAME@443..454 0: IDENT@443..454 "specialFoo" [] [Whitespace(" ")] 2: (empty) 3: JS_INITIALIZER_CLAUSE@454..465 0: EQ@454..456 "=" [] [Whitespace(" ")] 1: TS_INSTANTIATION_EXPRESSION@456..465 0: JS_IDENTIFIER_EXPRESSION@456..457 0: JS_REFERENCE_IDENTIFIER@456..457 0: IDENT@456..457 "f" [] [] 1: TS_TYPE_ARGUMENTS@457..465 0: L_ANGLE@457..458 "<" [] [] 1: TS_TYPE_ARGUMENT_LIST@458..464 0: TS_STRING_TYPE@458..464 0: STRING_KW@458..464 "string" [] [] 2: R_ANGLE@464..465 ">" [] [] 4: (empty) 1: JS_PROPERTY_CLASS_MEMBER@465..489 0: JS_PROPERTY_MODIFIER_LIST@465..480 0: TS_ACCESSIBILITY_MODIFIER@465..480 0: PROTECTED_KW@465..480 "protected" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")] 1: JS_LITERAL_MEMBER_NAME@480..484 0: IDENT@480..484 "bar" [] [Whitespace(" ")] 2: (empty) 3: JS_INITIALIZER_CLAUSE@484..489 0: EQ@484..486 "=" [] [Whitespace(" ")] 1: JS_NUMBER_LITERAL_EXPRESSION@486..489 0: JS_NUMBER_LITERAL@486..489 "123" [] [] 4: (empty) 9: R_CURLY@489..491 "}" [Newline("\n")] [] 18: JS_CLASS_DECLARATION@491..556 0: JS_DECORATOR_LIST@491..491 1: (empty) 2: CLASS_KW@491..498 "class" [Newline("\n")] [Whitespace(" ")] 3: JS_IDENTIFIER_BINDING@498..501 0: IDENT@498..501 "C5" [] [Whitespace(" ")] 4: (empty) 5: (empty) 6: (empty) 7: L_CURLY@501..502 "{" [] [] 8: JS_CLASS_MEMBER_LIST@502..554 0: JS_PROPERTY_CLASS_MEMBER@502..539 0: JS_PROPERTY_MODIFIER_LIST@502..517 0: TS_ACCESSIBILITY_MODIFIER@502..517 0: PROTECTED_KW@502..517 "protected" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")] 1: JS_LITERAL_MEMBER_NAME@517..528 0: IDENT@517..528 "specialFoo" [] [Whitespace(" ")] 2: (empty) 3: JS_INITIALIZER_CLAUSE@528..539 0: EQ@528..530 "=" [] [Whitespace(" ")] 1: TS_INSTANTIATION_EXPRESSION@530..539 0: JS_IDENTIFIER_EXPRESSION@530..531 0: JS_REFERENCE_IDENTIFIER@530..531 0: IDENT@530..531 "f" [] [] 1: TS_TYPE_ARGUMENTS@531..539 0: L_ANGLE@531..532 "<" [] [] 1: TS_TYPE_ARGUMENT_LIST@532..538 0: TS_STRING_TYPE@532..538 0: STRING_KW@532..538 "string" [] [] 2: R_ANGLE@538..539 ">" [] [] 4: (empty) 1: JS_PROPERTY_CLASS_MEMBER@539..554 0: JS_PROPERTY_MODIFIER_LIST@539..539 1: JS_PRIVATE_CLASS_MEMBER_NAME@539..549 0: HASH@539..545 "#" [Newline("\n"), Whitespace(" ")] [] 1: IDENT@545..549 "bar" [] [Whitespace(" ")] 2: (empty) 3: JS_INITIALIZER_CLAUSE@549..554 0: EQ@549..551 "=" [] [Whitespace(" ")] 1: JS_NUMBER_LITERAL_EXPRESSION@551..554 0: JS_NUMBER_LITERAL@551..554 "123" [] [] 4: (empty) 9: R_CURLY@554..556 "}" [Newline("\n")] [] 19: JS_VARIABLE_STATEMENT@556..580 0: JS_VARIABLE_DECLARATION@556..580 0: (empty) 1: CONST_KW@556..563 "const" [Newline("\n")] [Whitespace(" ")] 2: JS_VARIABLE_DECLARATOR_LIST@563..580 0: JS_VARIABLE_DECLARATOR@563..580 0: JS_IDENTIFIER_BINDING@563..567 0: IDENT@563..567 "Bar" [] [Whitespace(" ")] 1: (empty) 2: JS_INITIALIZER_CLAUSE@567..580 0: EQ@567..569 "=" [] [Whitespace(" ")] 1: TS_INSTANTIATION_EXPRESSION@569..580 0: JS_IDENTIFIER_EXPRESSION@569..572 0: JS_REFERENCE_IDENTIFIER@569..572 0: IDENT@569..572 "Foo" [] [] 1: TS_TYPE_ARGUMENTS@572..580 0: L_ANGLE@572..573 "<" [] [] 1: TS_TYPE_ARGUMENT_LIST@573..579 0: TS_STRING_TYPE@573..579 0: STRING_KW@573..579 "string" [] [] 2: R_ANGLE@579..580 ">" [] [] 1: (empty) 20: JS_VARIABLE_STATEMENT@580..596 0: JS_VARIABLE_DECLARATION@580..596 0: (empty) 1: CONST_KW@580..587 "const" [Newline("\n")] [Whitespace(" ")] 2: JS_VARIABLE_DECLARATOR_LIST@587..596 0: JS_VARIABLE_DECLARATOR@587..596 0: JS_IDENTIFIER_BINDING@587..591 0: IDENT@587..591 "Baz" [] [Whitespace(" ")] 1: (empty) 2: JS_INITIALIZER_CLAUSE@591..596 0: EQ@591..593 "=" [] [Whitespace(" ")] 1: JS_NUMBER_LITERAL_EXPRESSION@593..596 0: JS_NUMBER_LITERAL@593..596 "123" [] [] 1: (empty) 4: EOF@596..597 "" [Newline("\n")] []