{ "type": "Script", "span": { "start": 1, "end": 1380, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 7, "end": 10, "ctxt": 0 }, "value": "Foo", "optional": false }, "declare": false, "span": { "start": 1, "end": 37, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 17, "end": 35, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 25, "end": 26, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 26, "end": 34, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 28, "end": 34, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": "private", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "TsInterfaceDeclaration", "span": { "start": 39, "end": 81, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 49, "end": 50, "ctxt": 0 }, "value": "I", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 59, "end": 62, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 59, "end": 62, "ctxt": 0 }, "value": "Foo", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 63, "end": 81, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 69, "end": 79, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 69, "end": 70, "ctxt": 0 }, "value": "y", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 70, "end": 78, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 72, "end": 78, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 89, "end": 92, "ctxt": 0 }, "value": "Bar", "optional": false }, "declare": false, "span": { "start": 83, "end": 142, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 130, "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": "number" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 101, "end": 104, "ctxt": 0 }, "value": "Foo", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 116, "end": 117, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 116, "end": 117, "ctxt": 0 }, "value": "I", "optional": false }, "typeArguments": null } ] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 150, "end": 154, "ctxt": 0 }, "value": "Bar2", "optional": false }, "declare": false, "span": { "start": 144, "end": 222, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 195, "end": 205, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 195, "end": 196, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 196, "end": 204, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 198, "end": 204, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 210, "end": 220, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 210, "end": 211, "ctxt": 0 }, "value": "y", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 211, "end": 219, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 213, "end": 219, "ctxt": 0 }, "kind": "number" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 163, "end": 166, "ctxt": 0 }, "value": "Foo", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 178, "end": 179, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 178, "end": 179, "ctxt": 0 }, "value": "I", "optional": false }, "typeArguments": null } ] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 230, "end": 234, "ctxt": 0 }, "value": "Bar3", "optional": false }, "declare": false, "span": { "start": 224, "end": 310, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 275, "end": 293, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 283, "end": 284, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 284, "end": 292, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 286, "end": 292, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": "private", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 298, "end": 308, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 298, "end": 299, "ctxt": 0 }, "value": "y", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 299, "end": 307, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 301, "end": 307, "ctxt": 0 }, "kind": "number" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 243, "end": 246, "ctxt": 0 }, "value": "Foo", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 258, "end": 259, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 258, "end": 259, "ctxt": 0 }, "value": "I", "optional": false }, "typeArguments": null } ] }, { "type": "TsModuleDeclaration", "span": { "start": 344, "end": 807, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 351, "end": 352, "ctxt": 0 }, "value": "M", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 353, "end": 807, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 365, "end": 368, "ctxt": 0 }, "value": "Foo", "optional": false }, "declare": false, "span": { "start": 359, "end": 403, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 379, "end": 397, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 387, "end": 388, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 388, "end": 396, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 390, "end": 396, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": "private", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 415, "end": 418, "ctxt": 0 }, "value": "Baz", "optional": false }, "declare": false, "span": { "start": 409, "end": 457, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 441, "end": 451, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 441, "end": 442, "ctxt": 0 }, "value": "z", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 442, "end": 450, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 444, "end": 450, "ctxt": 0 }, "kind": "number" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 427, "end": 430, "ctxt": 0 }, "value": "Foo", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "TsInterfaceDeclaration", "span": { "start": 463, "end": 513, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 473, "end": 474, "ctxt": 0 }, "value": "I", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 483, "end": 486, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 483, "end": 486, "ctxt": 0 }, "value": "Baz", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 487, "end": 513, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 497, "end": 507, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 497, "end": 498, "ctxt": 0 }, "value": "y", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 498, "end": 506, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 500, "end": 506, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 525, "end": 528, "ctxt": 0 }, "value": "Bar", "optional": false }, "declare": false, "span": { "start": 519, "end": 605, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 570, "end": 580, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 570, "end": 571, "ctxt": 0 }, "value": "y", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 571, "end": 579, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 573, "end": 579, "ctxt": 0 }, "kind": "number" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 589, "end": 599, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 589, "end": 590, "ctxt": 0 }, "value": "z", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 590, "end": 598, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 592, "end": 598, "ctxt": 0 }, "kind": "number" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 537, "end": 540, "ctxt": 0 }, "value": "Foo", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 552, "end": 553, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 552, "end": 553, "ctxt": 0 }, "value": "I", "optional": false }, "typeArguments": null } ] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 617, "end": 621, "ctxt": 0 }, "value": "Bar2", "optional": false }, "declare": false, "span": { "start": 611, "end": 701, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 666, "end": 676, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 666, "end": 667, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 667, "end": 675, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 669, "end": 675, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 685, "end": 695, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 685, "end": 686, "ctxt": 0 }, "value": "y", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 686, "end": 694, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 688, "end": 694, "ctxt": 0 }, "kind": "number" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 630, "end": 633, "ctxt": 0 }, "value": "Foo", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 645, "end": 646, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 645, "end": 646, "ctxt": 0 }, "value": "I", "optional": false }, "typeArguments": null } ] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 713, "end": 717, "ctxt": 0 }, "value": "Bar3", "optional": false }, "declare": false, "span": { "start": 707, "end": 805, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 762, "end": 780, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 770, "end": 771, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 771, "end": 779, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 773, "end": 779, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": "private", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 789, "end": 799, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 789, "end": 790, "ctxt": 0 }, "value": "y", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 790, "end": 798, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 792, "end": 798, "ctxt": 0 }, "kind": "number" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 726, "end": 729, "ctxt": 0 }, "value": "Foo", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 741, "end": 742, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 741, "end": 742, "ctxt": 0 }, "value": "I", "optional": false }, "typeArguments": null } ] } ] } }, { "type": "TsModuleDeclaration", "span": { "start": 835, "end": 1380, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 842, "end": 844, "ctxt": 0 }, "value": "M2", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 845, "end": 1380, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 857, "end": 860, "ctxt": 0 }, "value": "Foo", "optional": false }, "declare": false, "span": { "start": 851, "end": 895, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 871, "end": 889, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 879, "end": 880, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 880, "end": 888, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 882, "end": 888, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": "private", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 907, "end": 910, "ctxt": 0 }, "value": "Baz", "optional": false }, "declare": false, "span": { "start": 901, "end": 957, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 933, "end": 951, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 941, "end": 942, "ctxt": 0 }, "value": "y", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 942, "end": 950, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 944, "end": 950, "ctxt": 0 }, "kind": "number" } }, "isStatic": false, "decorators": [], "accessibility": "private", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 919, "end": 922, "ctxt": 0 }, "value": "Foo", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "TsInterfaceDeclaration", "span": { "start": 963, "end": 1013, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 973, "end": 974, "ctxt": 0 }, "value": "I", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 983, "end": 986, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 983, "end": 986, "ctxt": 0 }, "value": "Baz", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 987, "end": 1013, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 997, "end": 1007, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 997, "end": 998, "ctxt": 0 }, "value": "z", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 998, "end": 1006, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1000, "end": 1006, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1025, "end": 1028, "ctxt": 0 }, "value": "Bar", "optional": false }, "declare": false, "span": { "start": 1019, "end": 1089, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1073, "end": 1083, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1073, "end": 1074, "ctxt": 0 }, "value": "z", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1074, "end": 1082, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1076, "end": 1082, "ctxt": 0 }, "kind": "number" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 1037, "end": 1040, "ctxt": 0 }, "value": "Foo", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1052, "end": 1053, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1052, "end": 1053, "ctxt": 0 }, "value": "I", "optional": false }, "typeArguments": null } ] }, { "type": "VariableDeclaration", "span": { "start": 1095, "end": 1106, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1099, "end": 1105, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1099, "end": 1100, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1100, "end": 1105, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1102, "end": 1105, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1102, "end": 1105, "ctxt": 0 }, "value": "Bar", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1111, "end": 1124, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1115, "end": 1123, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1115, "end": 1117, "ctxt": 0 }, "value": "r1", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 1120, "end": 1123, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1120, "end": 1121, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1122, "end": 1123, "ctxt": 0 }, "value": "z", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1129, "end": 1142, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1133, "end": 1141, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1133, "end": 1135, "ctxt": 0 }, "value": "r2", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 1138, "end": 1141, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1138, "end": 1139, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1140, "end": 1141, "ctxt": 0 }, "value": "x", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1156, "end": 1169, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1160, "end": 1168, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1160, "end": 1162, "ctxt": 0 }, "value": "r3", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 1165, "end": 1168, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1165, "end": 1166, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1167, "end": 1168, "ctxt": 0 }, "value": "y", "optional": false } }, "definite": false } ] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1190, "end": 1194, "ctxt": 0 }, "value": "Bar2", "optional": false }, "declare": false, "span": { "start": 1184, "end": 1274, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1239, "end": 1249, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1239, "end": 1240, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1240, "end": 1248, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1242, "end": 1248, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 1258, "end": 1268, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1258, "end": 1259, "ctxt": 0 }, "value": "z", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1259, "end": 1267, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1261, "end": 1267, "ctxt": 0 }, "kind": "number" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 1203, "end": 1206, "ctxt": 0 }, "value": "Foo", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1218, "end": 1219, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1218, "end": 1219, "ctxt": 0 }, "value": "I", "optional": false }, "typeArguments": null } ] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1286, "end": 1290, "ctxt": 0 }, "value": "Bar3", "optional": false }, "declare": false, "span": { "start": 1280, "end": 1378, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1335, "end": 1353, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1343, "end": 1344, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1344, "end": 1352, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1346, "end": 1352, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": "private", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 1362, "end": 1372, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1362, "end": 1363, "ctxt": 0 }, "value": "z", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1363, "end": 1371, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1365, "end": 1371, "ctxt": 0 }, "kind": "number" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 1299, "end": 1302, "ctxt": 0 }, "value": "Foo", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1314, "end": 1315, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1314, "end": 1315, "ctxt": 0 }, "value": "I", "optional": false }, "typeArguments": null } ] } ] } } ], "interpreter": null }