{ "type": "Script", "span": { "start": 0, "end": 895, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 6, "end": 7, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "span": { "start": 0, "end": 94, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 14, "end": 34, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 24, "end": 25, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 25, "end": 33, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 27, "end": 33, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": "protected", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassMethod", "span": { "start": 39, "end": 92, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 49, "end": 50, "ctxt": 0 }, "value": "f", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 39, "end": 92, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 61, "end": 92, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 71, "end": 86, "ctxt": 0 }, "argument": { "type": "StringLiteral", "span": { "start": 78, "end": 85, "ctxt": 0 }, "value": "hello", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 52, "end": 60, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 54, "end": 60, "ctxt": 0 }, "kind": "string" } } }, "kind": "method", "isStatic": false, "accessibility": "protected", "isAbstract": false, "isOptional": false, "isOverride": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 102, "end": 103, "ctxt": 0 }, "value": "B", "optional": false }, "declare": false, "span": { "start": 96, "end": 847, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 120, "end": 140, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 130, "end": 131, "ctxt": 0 }, "value": "y", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 131, "end": 139, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 133, "end": 139, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": "protected", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassMethod", "span": { "start": 145, "end": 845, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 145, "end": 146, "ctxt": 0 }, "value": "g", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 145, "end": 845, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 149, "end": 845, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 159, "end": 175, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 163, "end": 174, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 163, "end": 165, "ctxt": 0 }, "value": "t1", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 168, "end": 174, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 168, "end": 172, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 173, "end": 174, "ctxt": 0 }, "value": "x", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 184, "end": 202, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 188, "end": 201, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 188, "end": 190, "ctxt": 0 }, "value": "t2", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 193, "end": 201, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 193, "end": 199, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 193, "end": 197, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 198, "end": 199, "ctxt": 0 }, "value": "f", "optional": false } }, "arguments": [], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 211, "end": 227, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 215, "end": 226, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 215, "end": 217, "ctxt": 0 }, "value": "t3", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 220, "end": 226, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 220, "end": 224, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 225, "end": 226, "ctxt": 0 }, "value": "y", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 236, "end": 252, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 240, "end": 251, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 240, "end": 242, "ctxt": 0 }, "value": "t4", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 245, "end": 251, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 245, "end": 249, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 250, "end": 251, "ctxt": 0 }, "value": "z", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 275, "end": 292, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 279, "end": 291, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 279, "end": 281, "ctxt": 0 }, "value": "s1", "optional": false, "typeAnnotation": null }, "init": { "type": "SuperPropExpression", "span": { "start": 284, "end": 291, "ctxt": 0 }, "obj": { "type": "Super", "span": { "start": 284, "end": 289, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 290, "end": 291, "ctxt": 0 }, "value": "x", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 313, "end": 332, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 317, "end": 331, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 317, "end": 319, "ctxt": 0 }, "value": "s2", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 322, "end": 331, "ctxt": 0 }, "callee": { "type": "SuperPropExpression", "span": { "start": 322, "end": 329, "ctxt": 0 }, "obj": { "type": "Super", "span": { "start": 322, "end": 327, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 328, "end": 329, "ctxt": 0 }, "value": "f", "optional": false } }, "arguments": [], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 341, "end": 358, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 345, "end": 357, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 345, "end": 347, "ctxt": 0 }, "value": "s3", "optional": false, "typeAnnotation": null }, "init": { "type": "SuperPropExpression", "span": { "start": 350, "end": 357, "ctxt": 0 }, "obj": { "type": "Super", "span": { "start": 350, "end": 355, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 356, "end": 357, "ctxt": 0 }, "value": "y", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 379, "end": 396, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 383, "end": 395, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 383, "end": 385, "ctxt": 0 }, "value": "s4", "optional": false, "typeAnnotation": null }, "init": { "type": "SuperPropExpression", "span": { "start": 388, "end": 395, "ctxt": 0 }, "obj": { "type": "Super", "span": { "start": 388, "end": 393, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 394, "end": 395, "ctxt": 0 }, "value": "z", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 418, "end": 427, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 422, "end": 426, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 422, "end": 423, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 423, "end": 426, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 425, "end": 426, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 425, "end": 426, "ctxt": 0 }, "value": "A", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 436, "end": 449, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 440, "end": 448, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 440, "end": 442, "ctxt": 0 }, "value": "a1", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 445, "end": 448, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 445, "end": 446, "ctxt": 0 }, "value": "a", "optional": false }, "property": { "type": "Identifier", "span": { "start": 447, "end": 448, "ctxt": 0 }, "value": "x", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 470, "end": 485, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 474, "end": 484, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 474, "end": 476, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 479, "end": 484, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 479, "end": 482, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 479, "end": 480, "ctxt": 0 }, "value": "a", "optional": false }, "property": { "type": "Identifier", "span": { "start": 481, "end": 482, "ctxt": 0 }, "value": "f", "optional": false } }, "arguments": [], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 504, "end": 517, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 508, "end": 516, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 508, "end": 510, "ctxt": 0 }, "value": "a3", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 513, "end": 516, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 513, "end": 514, "ctxt": 0 }, "value": "a", "optional": false }, "property": { "type": "Identifier", "span": { "start": 515, "end": 516, "ctxt": 0 }, "value": "y", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 538, "end": 551, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 542, "end": 550, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 542, "end": 544, "ctxt": 0 }, "value": "a4", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 547, "end": 550, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 547, "end": 548, "ctxt": 0 }, "value": "a", "optional": false }, "property": { "type": "Identifier", "span": { "start": 549, "end": 550, "ctxt": 0 }, "value": "z", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 573, "end": 582, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 577, "end": 581, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 577, "end": 578, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 578, "end": 581, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 580, "end": 581, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 580, "end": 581, "ctxt": 0 }, "value": "B", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 591, "end": 604, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 595, "end": 603, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 595, "end": 597, "ctxt": 0 }, "value": "b1", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 600, "end": 603, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 600, "end": 601, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 602, "end": 603, "ctxt": 0 }, "value": "x", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 613, "end": 628, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 617, "end": 627, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 617, "end": 619, "ctxt": 0 }, "value": "b2", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 622, "end": 627, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 622, "end": 625, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 622, "end": 623, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 624, "end": 625, "ctxt": 0 }, "value": "f", "optional": false } }, "arguments": [], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 637, "end": 650, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 641, "end": 649, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 641, "end": 643, "ctxt": 0 }, "value": "b3", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 646, "end": 649, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 646, "end": 647, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 648, "end": 649, "ctxt": 0 }, "value": "y", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 659, "end": 672, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 663, "end": 671, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 663, "end": 665, "ctxt": 0 }, "value": "b4", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 668, "end": 671, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 668, "end": 669, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 670, "end": 671, "ctxt": 0 }, "value": "z", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 694, "end": 703, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 698, "end": 702, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 698, "end": 699, "ctxt": 0 }, "value": "c", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 699, "end": 702, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 701, "end": 702, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 701, "end": 702, "ctxt": 0 }, "value": "C", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 712, "end": 725, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 716, "end": 724, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 716, "end": 718, "ctxt": 0 }, "value": "c1", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 721, "end": 724, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 721, "end": 722, "ctxt": 0 }, "value": "c", "optional": false }, "property": { "type": "Identifier", "span": { "start": 723, "end": 724, "ctxt": 0 }, "value": "x", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 746, "end": 761, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 750, "end": 760, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 750, "end": 752, "ctxt": 0 }, "value": "c2", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 755, "end": 760, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 755, "end": 758, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 755, "end": 756, "ctxt": 0 }, "value": "c", "optional": false }, "property": { "type": "Identifier", "span": { "start": 757, "end": 758, "ctxt": 0 }, "value": "f", "optional": false } }, "arguments": [], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 780, "end": 793, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 784, "end": 792, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 784, "end": 786, "ctxt": 0 }, "value": "c3", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 789, "end": 792, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 789, "end": 790, "ctxt": 0 }, "value": "c", "optional": false }, "property": { "type": "Identifier", "span": { "start": 791, "end": 792, "ctxt": 0 }, "value": "y", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 814, "end": 827, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 818, "end": 826, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 818, "end": 820, "ctxt": 0 }, "value": "c4", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 823, "end": 826, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 823, "end": 824, "ctxt": 0 }, "value": "c", "optional": false }, "property": { "type": "Identifier", "span": { "start": 825, "end": 826, "ctxt": 0 }, "value": "z", "optional": false } }, "definite": false } ] } ] }, "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": 112, "end": 113, "ctxt": 0 }, "value": "A", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 855, "end": 856, "ctxt": 0 }, "value": "C", "optional": false }, "declare": false, "span": { "start": 849, "end": 895, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 873, "end": 893, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 883, "end": 884, "ctxt": 0 }, "value": "z", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 884, "end": 892, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 886, "end": 892, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": "protected", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 865, "end": 866, "ctxt": 0 }, "value": "A", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } ], "interpreter": null }