{ "type": "File", "start": 0, "end": 40, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 3, "column": 1 } }, "program": { "type": "Program", "start": 0, "end": 40, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 3, "column": 1 } }, "sourceType": "module", "body": [ { "type": "ClassDeclaration", "start": 0, "end": 40, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 3, "column": 1 } }, "id": { "type": "Identifier", "start": 6, "end": 9, "loc": { "start": { "line": 1, "column": 6 }, "end": { "line": 1, "column": 9 }, "identifierName": "Foo" }, "name": "Foo" }, "superClass": null, "body": { "type": "ClassBody", "start": 10, "end": 40, "loc": { "start": { "line": 1, "column": 10 }, "end": { "line": 3, "column": 1 } }, "body": [ { "type": "ClassProperty", "start": 14, "end": 38, "loc": { "start": { "line": 2, "column": 2 }, "end": { "line": 2, "column": 26 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 14, "end": 25, "loc": { "start": { "line": 2, "column": 2 }, "end": { "line": 2, "column": 13 }, "identifierName": "constructor" }, "name": "constructor" }, "variance": null, "typeAnnotation": { "type": "TypeAnnotation", "start": 25, "end": 37, "loc": { "start": { "line": 2, "column": 13 }, "end": { "line": 2, "column": 25 } }, "typeAnnotation": { "type": "FunctionTypeAnnotation", "start": 27, "end": 37, "loc": { "start": { "line": 2, "column": 15 }, "end": { "line": 2, "column": 25 } }, "params": [], "rest": null, "returnType": { "type": "ThisTypeAnnotation", "start": 33, "end": 37, "loc": { "start": { "line": 2, "column": 21 }, "end": { "line": 2, "column": 25 } }, "value": true }, "typeParameters": null } }, "value": null } ] } } ], "directives": [] } }