{ "type": "Script", "span": { "start": 51, "end": 443, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 57, "end": 58, "ctxt": 0 }, "value": "B", "optional": false }, "declare": false, "span": { "start": 51, "end": 189, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 65, "end": 80, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 65, "end": 67, "ctxt": 0 }, "value": "p1", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 78, "end": 79, "ctxt": 0 }, "value": 1.0 }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 67, "end": 75, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 69, "end": 75, "ctxt": 0 }, "kind": "number" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 85, "end": 100, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 85, "end": 87, "ctxt": 0 }, "value": "p2", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 98, "end": 99, "ctxt": 0 }, "value": 1.0 }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 87, "end": 95, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 89, "end": 95, "ctxt": 0 }, "kind": "number" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 105, "end": 120, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 105, "end": 107, "ctxt": 0 }, "value": "p3", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 107, "end": 119, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 109, "end": 119, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 112, "end": 119, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 115, "end": 119, "ctxt": 0 }, "kind": "void" } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 125, "end": 140, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 125, "end": 127, "ctxt": 0 }, "value": "p4", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 127, "end": 139, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 129, "end": 139, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 132, "end": 139, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 135, "end": 139, "ctxt": 0 }, "kind": "void" } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassMethod", "span": { "start": 145, "end": 163, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 145, "end": 148, "ctxt": 0 }, "value": "foo", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 150, "end": 159, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 150, "end": 159, "ctxt": 0 }, "value": "v", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 151, "end": 159, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 153, "end": 159, "ctxt": 0 }, "kind": "string" } } } } ], "decorators": [], "span": { "start": 145, "end": 163, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 161, "end": 163, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 168, "end": 187, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 168, "end": 172, "ctxt": 0 }, "value": "fooo", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 174, "end": 183, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 174, "end": 183, "ctxt": 0 }, "value": "v", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 175, "end": 183, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 177, "end": 183, "ctxt": 0 }, "kind": "string" } } } } ], "decorators": [], "span": { "start": 168, "end": 187, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 185, "end": 187, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 197, "end": 198, "ctxt": 0 }, "value": "D", "optional": false }, "declare": false, "span": { "start": 191, "end": 368, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 215, "end": 230, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 215, "end": 217, "ctxt": 0 }, "value": "p1", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 228, "end": 229, "ctxt": 0 }, "value": 2.0 }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 217, "end": 225, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 219, "end": 225, "ctxt": 0 }, "kind": "number" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 235, "end": 259, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 244, "end": 246, "ctxt": 0 }, "value": "p2", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 257, "end": 258, "ctxt": 0 }, "value": 3.0 }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 246, "end": 254, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 248, "end": 254, "ctxt": 0 }, "kind": "number" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": true, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 264, "end": 279, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 264, "end": 266, "ctxt": 0 }, "value": "p3", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 266, "end": 278, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 268, "end": 278, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 271, "end": 278, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 274, "end": 278, "ctxt": 0 }, "kind": "void" } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 284, "end": 308, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 293, "end": 295, "ctxt": 0 }, "value": "p4", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 295, "end": 307, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 297, "end": 307, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 300, "end": 307, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 303, "end": 307, "ctxt": 0 }, "kind": "void" } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": true, "readonly": false, "declare": false, "definite": false }, { "type": "ClassMethod", "span": { "start": 313, "end": 340, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 322, "end": 325, "ctxt": 0 }, "value": "foo", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 327, "end": 336, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 327, "end": 336, "ctxt": 0 }, "value": "v", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 328, "end": 336, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 330, "end": 336, "ctxt": 0 }, "kind": "string" } } } } ], "decorators": [], "span": { "start": 313, "end": 340, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 338, "end": 340, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": true }, { "type": "ClassMethod", "span": { "start": 346, "end": 365, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 346, "end": 350, "ctxt": 0 }, "value": "fooo", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 352, "end": 361, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 352, "end": 361, "ctxt": 0 }, "value": "v", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 353, "end": 361, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 355, "end": 361, "ctxt": 0 }, "kind": "string" } } } } ], "decorators": [], "span": { "start": 346, "end": 365, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 363, "end": 365, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false } ], "superClass": { "type": "Identifier", "span": { "start": 207, "end": 208, "ctxt": 0 }, "value": "B", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 376, "end": 378, "ctxt": 0 }, "value": "DD", "optional": false }, "declare": false, "span": { "start": 370, "end": 443, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 395, "end": 419, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 404, "end": 407, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 407, "end": 419, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 409, "end": 419, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 412, "end": 419, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 415, "end": 419, "ctxt": 0 }, "kind": "void" } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": true, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 424, "end": 441, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 424, "end": 428, "ctxt": 0 }, "value": "fooo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 428, "end": 440, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 430, "end": 440, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 433, "end": 440, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 436, "end": 440, "ctxt": 0 }, "kind": "void" } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 387, "end": 388, "ctxt": 0 }, "value": "B", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } ], "interpreter": null }