JsModule { bom_token: missing (optional), interpreter_token: missing (optional), directives: JsDirectiveList [], items: JsModuleItemList [ TsDeclareStatement { declare_token: DECLARE_KW@0..8 "declare" [] [Whitespace(" ")], declaration: JsClassDeclaration { decorators: JsDecoratorList [], abstract_token: missing (optional), class_token: CLASS_KW@8..14 "class" [] [Whitespace(" ")], id: JsIdentifierBinding { name_token: IDENT@14..16 "A" [] [Whitespace(" ")], }, type_parameters: missing (optional), extends_clause: missing (optional), implements_clause: missing (optional), l_curly_token: L_CURLY@16..18 "{" [] [Whitespace(" ")], members: JsClassMemberList [ TsInitializedPropertySignatureClassMember { modifiers: TsPropertySignatureModifierList [ TsReadonlyModifier { modifier_token: READONLY_KW@18..27 "readonly" [] [Whitespace(" ")], }, ], name: JsLiteralMemberName { value: IDENT@27..32 "prop" [] [Whitespace(" ")], }, question_mark_token: missing (optional), value: JsInitializerClause { eq_token: EQ@32..34 "=" [] [Whitespace(" ")], expression: JsStringLiteralExpression { value_token: JS_STRING_LITERAL@34..40 "\"test\"" [] [], }, }, semicolon_token: SEMICOLON@40..42 ";" [] [Whitespace(" ")], }, ], r_curly_token: R_CURLY@42..43 "}" [] [], }, }, JsClassDeclaration { decorators: JsDecoratorList [], abstract_token: missing (optional), class_token: CLASS_KW@43..50 "class" [Newline("\n")] [Whitespace(" ")], id: JsIdentifierBinding { name_token: IDENT@50..52 "B" [] [Whitespace(" ")], }, type_parameters: missing (optional), extends_clause: missing (optional), implements_clause: missing (optional), l_curly_token: L_CURLY@52..54 "{" [] [Whitespace(" ")], members: JsClassMemberList [ TsInitializedPropertySignatureClassMember { modifiers: TsPropertySignatureModifierList [ TsDeclareModifier { modifier_token: DECLARE_KW@54..62 "declare" [] [Whitespace(" ")], }, TsReadonlyModifier { modifier_token: READONLY_KW@62..71 "readonly" [] [Whitespace(" ")], }, ], name: JsLiteralMemberName { value: IDENT@71..76 "prop" [] [Whitespace(" ")], }, question_mark_token: missing (optional), value: JsInitializerClause { eq_token: EQ@76..78 "=" [] [Whitespace(" ")], expression: JsStringLiteralExpression { value_token: JS_STRING_LITERAL@78..84 "\"test\"" [] [], }, }, semicolon_token: SEMICOLON@84..86 ";" [] [Whitespace(" ")], }, ], r_curly_token: R_CURLY@86..87 "}" [] [], }, TsDeclareStatement { declare_token: DECLARE_KW@87..96 "declare" [Newline("\n")] [Whitespace(" ")], declaration: JsClassDeclaration { decorators: JsDecoratorList [], abstract_token: missing (optional), class_token: CLASS_KW@96..102 "class" [] [Whitespace(" ")], id: JsIdentifierBinding { name_token: IDENT@102..104 "A" [] [Whitespace(" ")], }, type_parameters: missing (optional), extends_clause: missing (optional), implements_clause: missing (optional), l_curly_token: L_CURLY@104..106 "{" [] [Whitespace(" ")], members: JsClassMemberList [ TsInitializedPropertySignatureClassMember { modifiers: TsPropertySignatureModifierList [ TsAccessibilityModifier { modifier_token: PRIVATE_KW@106..114 "private" [] [Whitespace(" ")], }, TsReadonlyModifier { modifier_token: READONLY_KW@114..123 "readonly" [] [Whitespace(" ")], }, ], name: JsLiteralMemberName { value: IDENT@123..128 "prop" [] [Whitespace(" ")], }, question_mark_token: missing (optional), value: JsInitializerClause { eq_token: EQ@128..130 "=" [] [Whitespace(" ")], expression: JsStringLiteralExpression { value_token: JS_STRING_LITERAL@130..136 "\"test\"" [] [], }, }, semicolon_token: SEMICOLON@136..138 ";" [] [Whitespace(" ")], }, ], r_curly_token: R_CURLY@138..139 "}" [] [], }, }, JsClassDeclaration { decorators: JsDecoratorList [], abstract_token: missing (optional), class_token: CLASS_KW@139..146 "class" [Newline("\n")] [Whitespace(" ")], id: JsIdentifierBinding { name_token: IDENT@146..148 "B" [] [Whitespace(" ")], }, type_parameters: missing (optional), extends_clause: missing (optional), implements_clause: missing (optional), l_curly_token: L_CURLY@148..150 "{" [] [Whitespace(" ")], members: JsClassMemberList [ TsInitializedPropertySignatureClassMember { modifiers: TsPropertySignatureModifierList [ TsDeclareModifier { modifier_token: DECLARE_KW@150..158 "declare" [] [Whitespace(" ")], }, TsAccessibilityModifier { modifier_token: PRIVATE_KW@158..166 "private" [] [Whitespace(" ")], }, TsReadonlyModifier { modifier_token: READONLY_KW@166..175 "readonly" [] [Whitespace(" ")], }, ], name: JsLiteralMemberName { value: IDENT@175..180 "prop" [] [Whitespace(" ")], }, question_mark_token: missing (optional), value: JsInitializerClause { eq_token: EQ@180..182 "=" [] [Whitespace(" ")], expression: JsStringLiteralExpression { value_token: JS_STRING_LITERAL@182..188 "\"test\"" [] [], }, }, semicolon_token: SEMICOLON@188..190 ";" [] [Whitespace(" ")], }, ], r_curly_token: R_CURLY@190..191 "}" [] [], }, TsDeclareStatement { declare_token: DECLARE_KW@191..200 "declare" [Newline("\n")] [Whitespace(" ")], declaration: JsClassDeclaration { decorators: JsDecoratorList [], abstract_token: missing (optional), class_token: CLASS_KW@200..206 "class" [] [Whitespace(" ")], id: JsIdentifierBinding { name_token: IDENT@206..208 "A" [] [Whitespace(" ")], }, type_parameters: missing (optional), extends_clause: missing (optional), implements_clause: missing (optional), l_curly_token: L_CURLY@208..210 "{" [] [Whitespace(" ")], members: JsClassMemberList [ TsInitializedPropertySignatureClassMember { modifiers: TsPropertySignatureModifierList [ JsStaticModifier { modifier_token: STATIC_KW@210..217 "static" [] [Whitespace(" ")], }, TsReadonlyModifier { modifier_token: READONLY_KW@217..226 "readonly" [] [Whitespace(" ")], }, ], name: JsLiteralMemberName { value: IDENT@226..231 "prop" [] [Whitespace(" ")], }, question_mark_token: missing (optional), value: JsInitializerClause { eq_token: EQ@231..233 "=" [] [Whitespace(" ")], expression: JsStringLiteralExpression { value_token: JS_STRING_LITERAL@233..239 "\"test\"" [] [], }, }, semicolon_token: SEMICOLON@239..241 ";" [] [Whitespace(" ")], }, ], r_curly_token: R_CURLY@241..242 "}" [] [], }, }, JsClassDeclaration { decorators: JsDecoratorList [], abstract_token: missing (optional), class_token: CLASS_KW@242..249 "class" [Newline("\n")] [Whitespace(" ")], id: JsIdentifierBinding { name_token: IDENT@249..251 "B" [] [Whitespace(" ")], }, type_parameters: missing (optional), extends_clause: missing (optional), implements_clause: missing (optional), l_curly_token: L_CURLY@251..253 "{" [] [Whitespace(" ")], members: JsClassMemberList [ TsInitializedPropertySignatureClassMember { modifiers: TsPropertySignatureModifierList [ TsDeclareModifier { modifier_token: DECLARE_KW@253..261 "declare" [] [Whitespace(" ")], }, JsStaticModifier { modifier_token: STATIC_KW@261..268 "static" [] [Whitespace(" ")], }, TsReadonlyModifier { modifier_token: READONLY_KW@268..277 "readonly" [] [Whitespace(" ")], }, ], name: JsLiteralMemberName { value: IDENT@277..282 "prop" [] [Whitespace(" ")], }, question_mark_token: missing (optional), value: JsInitializerClause { eq_token: EQ@282..284 "=" [] [Whitespace(" ")], expression: JsStringLiteralExpression { value_token: JS_STRING_LITERAL@284..290 "\"test\"" [] [], }, }, semicolon_token: SEMICOLON@290..292 ";" [] [Whitespace(" ")], }, ], r_curly_token: R_CURLY@292..293 "}" [] [], }, ], eof_token: EOF@293..294 "" [Newline("\n")] [], } 0: JS_MODULE@0..294 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..293 0: TS_DECLARE_STATEMENT@0..43 0: DECLARE_KW@0..8 "declare" [] [Whitespace(" ")] 1: JS_CLASS_DECLARATION@8..43 0: JS_DECORATOR_LIST@8..8 1: (empty) 2: CLASS_KW@8..14 "class" [] [Whitespace(" ")] 3: JS_IDENTIFIER_BINDING@14..16 0: IDENT@14..16 "A" [] [Whitespace(" ")] 4: (empty) 5: (empty) 6: (empty) 7: L_CURLY@16..18 "{" [] [Whitespace(" ")] 8: JS_CLASS_MEMBER_LIST@18..42 0: TS_INITIALIZED_PROPERTY_SIGNATURE_CLASS_MEMBER@18..42 0: TS_PROPERTY_SIGNATURE_MODIFIER_LIST@18..27 0: TS_READONLY_MODIFIER@18..27 0: READONLY_KW@18..27 "readonly" [] [Whitespace(" ")] 1: JS_LITERAL_MEMBER_NAME@27..32 0: IDENT@27..32 "prop" [] [Whitespace(" ")] 2: (empty) 3: JS_INITIALIZER_CLAUSE@32..40 0: EQ@32..34 "=" [] [Whitespace(" ")] 1: JS_STRING_LITERAL_EXPRESSION@34..40 0: JS_STRING_LITERAL@34..40 "\"test\"" [] [] 4: SEMICOLON@40..42 ";" [] [Whitespace(" ")] 9: R_CURLY@42..43 "}" [] [] 1: JS_CLASS_DECLARATION@43..87 0: JS_DECORATOR_LIST@43..43 1: (empty) 2: CLASS_KW@43..50 "class" [Newline("\n")] [Whitespace(" ")] 3: JS_IDENTIFIER_BINDING@50..52 0: IDENT@50..52 "B" [] [Whitespace(" ")] 4: (empty) 5: (empty) 6: (empty) 7: L_CURLY@52..54 "{" [] [Whitespace(" ")] 8: JS_CLASS_MEMBER_LIST@54..86 0: TS_INITIALIZED_PROPERTY_SIGNATURE_CLASS_MEMBER@54..86 0: TS_PROPERTY_SIGNATURE_MODIFIER_LIST@54..71 0: TS_DECLARE_MODIFIER@54..62 0: DECLARE_KW@54..62 "declare" [] [Whitespace(" ")] 1: TS_READONLY_MODIFIER@62..71 0: READONLY_KW@62..71 "readonly" [] [Whitespace(" ")] 1: JS_LITERAL_MEMBER_NAME@71..76 0: IDENT@71..76 "prop" [] [Whitespace(" ")] 2: (empty) 3: JS_INITIALIZER_CLAUSE@76..84 0: EQ@76..78 "=" [] [Whitespace(" ")] 1: JS_STRING_LITERAL_EXPRESSION@78..84 0: JS_STRING_LITERAL@78..84 "\"test\"" [] [] 4: SEMICOLON@84..86 ";" [] [Whitespace(" ")] 9: R_CURLY@86..87 "}" [] [] 2: TS_DECLARE_STATEMENT@87..139 0: DECLARE_KW@87..96 "declare" [Newline("\n")] [Whitespace(" ")] 1: JS_CLASS_DECLARATION@96..139 0: JS_DECORATOR_LIST@96..96 1: (empty) 2: CLASS_KW@96..102 "class" [] [Whitespace(" ")] 3: JS_IDENTIFIER_BINDING@102..104 0: IDENT@102..104 "A" [] [Whitespace(" ")] 4: (empty) 5: (empty) 6: (empty) 7: L_CURLY@104..106 "{" [] [Whitespace(" ")] 8: JS_CLASS_MEMBER_LIST@106..138 0: TS_INITIALIZED_PROPERTY_SIGNATURE_CLASS_MEMBER@106..138 0: TS_PROPERTY_SIGNATURE_MODIFIER_LIST@106..123 0: TS_ACCESSIBILITY_MODIFIER@106..114 0: PRIVATE_KW@106..114 "private" [] [Whitespace(" ")] 1: TS_READONLY_MODIFIER@114..123 0: READONLY_KW@114..123 "readonly" [] [Whitespace(" ")] 1: JS_LITERAL_MEMBER_NAME@123..128 0: IDENT@123..128 "prop" [] [Whitespace(" ")] 2: (empty) 3: JS_INITIALIZER_CLAUSE@128..136 0: EQ@128..130 "=" [] [Whitespace(" ")] 1: JS_STRING_LITERAL_EXPRESSION@130..136 0: JS_STRING_LITERAL@130..136 "\"test\"" [] [] 4: SEMICOLON@136..138 ";" [] [Whitespace(" ")] 9: R_CURLY@138..139 "}" [] [] 3: JS_CLASS_DECLARATION@139..191 0: JS_DECORATOR_LIST@139..139 1: (empty) 2: CLASS_KW@139..146 "class" [Newline("\n")] [Whitespace(" ")] 3: JS_IDENTIFIER_BINDING@146..148 0: IDENT@146..148 "B" [] [Whitespace(" ")] 4: (empty) 5: (empty) 6: (empty) 7: L_CURLY@148..150 "{" [] [Whitespace(" ")] 8: JS_CLASS_MEMBER_LIST@150..190 0: TS_INITIALIZED_PROPERTY_SIGNATURE_CLASS_MEMBER@150..190 0: TS_PROPERTY_SIGNATURE_MODIFIER_LIST@150..175 0: TS_DECLARE_MODIFIER@150..158 0: DECLARE_KW@150..158 "declare" [] [Whitespace(" ")] 1: TS_ACCESSIBILITY_MODIFIER@158..166 0: PRIVATE_KW@158..166 "private" [] [Whitespace(" ")] 2: TS_READONLY_MODIFIER@166..175 0: READONLY_KW@166..175 "readonly" [] [Whitespace(" ")] 1: JS_LITERAL_MEMBER_NAME@175..180 0: IDENT@175..180 "prop" [] [Whitespace(" ")] 2: (empty) 3: JS_INITIALIZER_CLAUSE@180..188 0: EQ@180..182 "=" [] [Whitespace(" ")] 1: JS_STRING_LITERAL_EXPRESSION@182..188 0: JS_STRING_LITERAL@182..188 "\"test\"" [] [] 4: SEMICOLON@188..190 ";" [] [Whitespace(" ")] 9: R_CURLY@190..191 "}" [] [] 4: TS_DECLARE_STATEMENT@191..242 0: DECLARE_KW@191..200 "declare" [Newline("\n")] [Whitespace(" ")] 1: JS_CLASS_DECLARATION@200..242 0: JS_DECORATOR_LIST@200..200 1: (empty) 2: CLASS_KW@200..206 "class" [] [Whitespace(" ")] 3: JS_IDENTIFIER_BINDING@206..208 0: IDENT@206..208 "A" [] [Whitespace(" ")] 4: (empty) 5: (empty) 6: (empty) 7: L_CURLY@208..210 "{" [] [Whitespace(" ")] 8: JS_CLASS_MEMBER_LIST@210..241 0: TS_INITIALIZED_PROPERTY_SIGNATURE_CLASS_MEMBER@210..241 0: TS_PROPERTY_SIGNATURE_MODIFIER_LIST@210..226 0: JS_STATIC_MODIFIER@210..217 0: STATIC_KW@210..217 "static" [] [Whitespace(" ")] 1: TS_READONLY_MODIFIER@217..226 0: READONLY_KW@217..226 "readonly" [] [Whitespace(" ")] 1: JS_LITERAL_MEMBER_NAME@226..231 0: IDENT@226..231 "prop" [] [Whitespace(" ")] 2: (empty) 3: JS_INITIALIZER_CLAUSE@231..239 0: EQ@231..233 "=" [] [Whitespace(" ")] 1: JS_STRING_LITERAL_EXPRESSION@233..239 0: JS_STRING_LITERAL@233..239 "\"test\"" [] [] 4: SEMICOLON@239..241 ";" [] [Whitespace(" ")] 9: R_CURLY@241..242 "}" [] [] 5: JS_CLASS_DECLARATION@242..293 0: JS_DECORATOR_LIST@242..242 1: (empty) 2: CLASS_KW@242..249 "class" [Newline("\n")] [Whitespace(" ")] 3: JS_IDENTIFIER_BINDING@249..251 0: IDENT@249..251 "B" [] [Whitespace(" ")] 4: (empty) 5: (empty) 6: (empty) 7: L_CURLY@251..253 "{" [] [Whitespace(" ")] 8: JS_CLASS_MEMBER_LIST@253..292 0: TS_INITIALIZED_PROPERTY_SIGNATURE_CLASS_MEMBER@253..292 0: TS_PROPERTY_SIGNATURE_MODIFIER_LIST@253..277 0: TS_DECLARE_MODIFIER@253..261 0: DECLARE_KW@253..261 "declare" [] [Whitespace(" ")] 1: JS_STATIC_MODIFIER@261..268 0: STATIC_KW@261..268 "static" [] [Whitespace(" ")] 2: TS_READONLY_MODIFIER@268..277 0: READONLY_KW@268..277 "readonly" [] [Whitespace(" ")] 1: JS_LITERAL_MEMBER_NAME@277..282 0: IDENT@277..282 "prop" [] [Whitespace(" ")] 2: (empty) 3: JS_INITIALIZER_CLAUSE@282..290 0: EQ@282..284 "=" [] [Whitespace(" ")] 1: JS_STRING_LITERAL_EXPRESSION@284..290 0: JS_STRING_LITERAL@284..290 "\"test\"" [] [] 4: SEMICOLON@290..292 ";" [] [Whitespace(" ")] 9: R_CURLY@292..293 "}" [] [] 4: EOF@293..294 "" [Newline("\n")] []