{ "type": "File", "start":0,"end":59,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":59}}, "program": { "type": "Program", "start":0,"end":59,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":59}}, "sourceType": "module", "interpreter": null, "body": [ { "type": "DeclareClass", "start":0,"end":59,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":59}}, "id": { "type": "Identifier", "start":14,"end":15,"loc":{"start":{"line":1,"column":14},"end":{"line":1,"column":15},"identifierName":"A"}, "name": "A" }, "typeParameters": null, "extends": [], "implements": [], "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start":16,"end":59,"loc":{"start":{"line":1,"column":16},"end":{"line":1,"column":59}}, "callProperties": [], "properties": [ { "type": "ObjectTypeProperty", "start":18,"end":38,"loc":{"start":{"line":1,"column":18},"end":{"line":1,"column":38}}, "key": { "type": "Identifier", "start":25,"end":28,"loc":{"start":{"line":1,"column":25},"end":{"line":1,"column":28},"identifierName":"foo"}, "name": "foo" }, "static": true, "proto": false, "kind": "init", "method": true, "value": { "type": "FunctionTypeAnnotation", "start":18,"end":38,"loc":{"start":{"line":1,"column":18},"end":{"line":1,"column":38}}, "params": [], "rest": null, "typeParameters": null, "this": null, "returnType": { "type": "NumberTypeAnnotation", "start":32,"end":38,"loc":{"start":{"line":1,"column":32},"end":{"line":1,"column":38}} } }, "optional": false }, { "type": "ObjectTypeProperty", "start":40,"end":57,"loc":{"start":{"line":1,"column":40},"end":{"line":1,"column":57}}, "key": { "type": "Identifier", "start":47,"end":48,"loc":{"start":{"line":1,"column":47},"end":{"line":1,"column":48},"identifierName":"x"}, "name": "x" }, "static": true, "proto": false, "kind": "init", "method": false, "value": { "type": "StringTypeAnnotation", "start":51,"end":57,"loc":{"start":{"line":1,"column":51},"end":{"line":1,"column":57}} }, "variance": null, "optional": false } ], "indexers": [], "internalSlots": [], "exact": false } } ], "directives": [] } }