{ "type": "Script", "span": { "start": 1, "end": 85, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 16, "end": 17, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "span": { "start": 1, "end": 20, "ctxt": 0 }, "decorators": [], "body": [], "superClass": null, "isAbstract": true, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ExpressionStatement", "span": { "start": 22, "end": 30, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 22, "end": 30, "ctxt": 0 }, "value": "abstract", "optional": false } }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 37, "end": 38, "ctxt": 0 }, "value": "B", "optional": false }, "declare": false, "span": { "start": 31, "end": 41, "ctxt": 0 }, "decorators": [], "body": [], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ExpressionStatement", "span": { "start": 43, "end": 51, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 43, "end": 51, "ctxt": 0 }, "value": "abstract", "optional": false } }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 59, "end": 60, "ctxt": 0 }, "value": "C", "optional": false }, "declare": false, "span": { "start": 53, "end": 63, "ctxt": 0 }, "decorators": [], "body": [], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ExpressionStatement", "span": { "start": 65, "end": 71, "ctxt": 0 }, "expression": { "type": "NewExpression", "span": { "start": 65, "end": 70, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 69, "end": 70, "ctxt": 0 }, "value": "A", "optional": false }, "arguments": null, "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 72, "end": 78, "ctxt": 0 }, "expression": { "type": "NewExpression", "span": { "start": 72, "end": 77, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 76, "end": 77, "ctxt": 0 }, "value": "B", "optional": false }, "arguments": null, "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 79, "end": 85, "ctxt": 0 }, "expression": { "type": "NewExpression", "span": { "start": 79, "end": 84, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 83, "end": 84, "ctxt": 0 }, "value": "C", "optional": false }, "arguments": null, "typeArguments": null } } ], "interpreter": null }