{ "type": "Script", "span": { "start": 0, "end": 84, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 15, "end": 16, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "span": { "start": 0, "end": 19, "ctxt": 0 }, "decorators": [], "body": [], "superClass": null, "isAbstract": true, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ExpressionStatement", "span": { "start": 21, "end": 29, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 21, "end": 29, "ctxt": 0 }, "value": "abstract", "optional": false } }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 36, "end": 37, "ctxt": 0 }, "value": "B", "optional": false }, "declare": false, "span": { "start": 30, "end": 40, "ctxt": 0 }, "decorators": [], "body": [], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ExpressionStatement", "span": { "start": 42, "end": 50, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 42, "end": 50, "ctxt": 0 }, "value": "abstract", "optional": false } }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 58, "end": 59, "ctxt": 0 }, "value": "C", "optional": false }, "declare": false, "span": { "start": 52, "end": 62, "ctxt": 0 }, "decorators": [], "body": [], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ExpressionStatement", "span": { "start": 64, "end": 70, "ctxt": 0 }, "expression": { "type": "NewExpression", "span": { "start": 64, "end": 69, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 68, "end": 69, "ctxt": 0 }, "value": "A", "optional": false }, "arguments": null, "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 71, "end": 77, "ctxt": 0 }, "expression": { "type": "NewExpression", "span": { "start": 71, "end": 76, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 75, "end": 76, "ctxt": 0 }, "value": "B", "optional": false }, "arguments": null, "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 78, "end": 84, "ctxt": 0 }, "expression": { "type": "NewExpression", "span": { "start": 78, "end": 83, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 82, "end": 83, "ctxt": 0 }, "value": "C", "optional": false }, "arguments": null, "typeArguments": null } } ], "interpreter": null }