{ "type": "Script", "span": { "start": 92, "end": 1779, "ctxt": 0 }, "body": [ { "type": "TsInterfaceDeclaration", "span": { "start": 92, "end": 148, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 102, "end": 110, "ctxt": 0 }, "value": "MyNumber", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 119, "end": 125, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 119, "end": 125, "ctxt": 0 }, "value": "Number", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 126, "end": 148, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 133, "end": 145, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 133, "end": 136, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 136, "end": 144, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 138, "end": 144, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 158, "end": 159, "ctxt": 0 }, "value": "C", "optional": false }, "declare": false, "span": { "start": 152, "end": 735, "ctxt": 0 }, "decorators": [], "body": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 168, "end": 177, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 169, "end": 177, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 171, "end": 177, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 178, "end": 186, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 180, "end": 186, "ctxt": 0 }, "kind": "string" } }, "readonly": false, "static": false, "span": { "start": 167, "end": 187, "ctxt": 0 } }, { "type": "Constructor", "span": { "start": 195, "end": 212, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 195, "end": 206, "ctxt": 0 }, "value": "constructor", "optional": false }, "params": [], "body": { "type": "BlockStatement", "span": { "start": 209, "end": 212, "ctxt": 0 }, "stmts": [] }, "accessibility": null, "isOptional": false }, { "type": "ClassProperty", "span": { "start": 226, "end": 236, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 226, "end": 227, "ctxt": 0 }, "value": "a", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 227, "end": 235, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 229, "end": 235, "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": 248, "end": 258, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 248, "end": 249, "ctxt": 0 }, "value": "b", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 249, "end": 257, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 251, "end": 257, "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": 270, "end": 281, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 270, "end": 271, "ctxt": 0 }, "value": "c", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 271, "end": 281, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 273, "end": 281, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 276, "end": 281, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 279, "end": 281, "ctxt": 0 }, "members": [] } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 293, "end": 305, "ctxt": 0 }, "key": { "type": "StringLiteral", "span": { "start": 293, "end": 296, "ctxt": 0 }, "value": "d", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 296, "end": 304, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 298, "end": 304, "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": 317, "end": 329, "ctxt": 0 }, "key": { "type": "StringLiteral", "span": { "start": 317, "end": 320, "ctxt": 0 }, "value": "e", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 320, "end": 328, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 322, "end": 328, "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": 341, "end": 353, "ctxt": 0 }, "key": { "type": "NumericLiteral", "span": { "start": 341, "end": 344, "ctxt": 0 }, "value": 1.0 }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 344, "end": 352, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 346, "end": 352, "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": 365, "end": 377, "ctxt": 0 }, "key": { "type": "NumericLiteral", "span": { "start": 365, "end": 368, "ctxt": 0 }, "value": 2.0 }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 368, "end": 376, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 370, "end": 376, "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": 392, "end": 406, "ctxt": 0 }, "key": { "type": "StringLiteral", "span": { "start": 392, "end": 397, "ctxt": 0 }, "value": "3.0", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 397, "end": 405, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 399, "end": 405, "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": 418, "end": 432, "ctxt": 0 }, "key": { "type": "StringLiteral", "span": { "start": 418, "end": 423, "ctxt": 0 }, "value": "4.0", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 423, "end": 431, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 425, "end": 431, "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": 447, "end": 460, "ctxt": 0 }, "key": { "type": "NumericLiteral", "span": { "start": 447, "end": 450, "ctxt": 0 }, "value": 3.0 }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 450, "end": 460, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 452, "end": 460, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 452, "end": 460, "ctxt": 0 }, "value": "MyNumber", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassMethod", "span": { "start": 477, "end": 519, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 481, "end": 482, "ctxt": 0 }, "value": "X", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 477, "end": 519, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 485, "end": 519, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 502, "end": 512, "ctxt": 0 }, "argument": { "type": "StringLiteral", "span": { "start": 509, "end": 511, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "getter", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 525, "end": 537, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 529, "end": 530, "ctxt": 0 }, "value": "X", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 531, "end": 532, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 531, "end": 532, "ctxt": 0 }, "value": "v", "optional": false, "typeAnnotation": null } } ], "decorators": [], "span": { "start": 525, "end": 537, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 534, "end": 537, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "setter", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 551, "end": 586, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 551, "end": 554, "ctxt": 0 }, "value": "foo", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 551, "end": 586, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 557, "end": 586, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 569, "end": 579, "ctxt": 0 }, "argument": { "type": "StringLiteral", "span": { "start": 576, "end": 578, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassProperty", "span": { "start": 594, "end": 612, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 601, "end": 603, "ctxt": 0 }, "value": "sa", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 603, "end": 611, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 605, "end": 611, "ctxt": 0 }, "kind": "number" } }, "isStatic": true, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 624, "end": 642, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 631, "end": 633, "ctxt": 0 }, "value": "sb", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 633, "end": 641, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 635, "end": 641, "ctxt": 0 }, "kind": "string" } }, "isStatic": true, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassMethod", "span": { "start": 656, "end": 672, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 663, "end": 666, "ctxt": 0 }, "value": "foo", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 656, "end": 672, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 669, "end": 672, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": true, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 684, "end": 732, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 695, "end": 696, "ctxt": 0 }, "value": "X", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 684, "end": 732, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 699, "end": 732, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 716, "end": 725, "ctxt": 0 }, "argument": { "type": "NumericLiteral", "span": { "start": 723, "end": 724, "ctxt": 0 }, "value": 1.0 } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "getter", "isStatic": true, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "TsInterfaceDeclaration", "span": { "start": 739, "end": 1103, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 749, "end": 750, "ctxt": 0 }, "value": "I", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 751, "end": 1103, "ctxt": 0 }, "body": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 759, "end": 768, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 760, "end": 768, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 762, "end": 768, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 769, "end": 777, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 771, "end": 777, "ctxt": 0 }, "kind": "string" } }, "readonly": false, "static": false, "span": { "start": 758, "end": 778, "ctxt": 0 } }, { "type": "TsPropertySignature", "span": { "start": 786, "end": 796, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 786, "end": 787, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 787, "end": 795, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 789, "end": 795, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 808, "end": 818, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 808, "end": 809, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 809, "end": 817, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 811, "end": 817, "ctxt": 0 }, "kind": "number" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 830, "end": 841, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 830, "end": 831, "ctxt": 0 }, "value": "c", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 831, "end": 841, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 833, "end": 841, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 836, "end": 841, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 839, "end": 841, "ctxt": 0 }, "members": [] } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 853, "end": 865, "ctxt": 0 }, "readonly": false, "key": { "type": "StringLiteral", "span": { "start": 853, "end": 856, "ctxt": 0 }, "value": "d", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 856, "end": 864, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 858, "end": 864, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 877, "end": 889, "ctxt": 0 }, "readonly": false, "key": { "type": "StringLiteral", "span": { "start": 877, "end": 880, "ctxt": 0 }, "value": "e", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 880, "end": 888, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 882, "end": 888, "ctxt": 0 }, "kind": "number" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 901, "end": 913, "ctxt": 0 }, "readonly": false, "key": { "type": "NumericLiteral", "span": { "start": 901, "end": 904, "ctxt": 0 }, "value": 1.0 }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 904, "end": 912, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 906, "end": 912, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 925, "end": 937, "ctxt": 0 }, "readonly": false, "key": { "type": "NumericLiteral", "span": { "start": 925, "end": 928, "ctxt": 0 }, "value": 2.0 }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 928, "end": 936, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 930, "end": 936, "ctxt": 0 }, "kind": "number" } }, "typeParams": null }, { "type": "TsCallSignatureDeclaration", "span": { "start": 952, "end": 963, "ctxt": 0 }, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 954, "end": 962, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 956, "end": 962, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsCallSignatureDeclaration", "span": { "start": 975, "end": 986, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 976, "end": 977, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 978, "end": 986, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 980, "end": 986, "ctxt": 0 }, "kind": "number" } }, "typeParams": null }, { "type": "TsMethodSignature", "span": { "start": 998, "end": 1012, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 998, "end": 1001, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "params": [], "typeAnn": { "type": "TsTypeAnnotation", "span": { "start": 1003, "end": 1011, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1005, "end": 1011, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1024, "end": 1038, "ctxt": 0 }, "readonly": false, "key": { "type": "StringLiteral", "span": { "start": 1024, "end": 1029, "ctxt": 0 }, "value": "3.0", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1029, "end": 1037, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1031, "end": 1037, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1050, "end": 1064, "ctxt": 0 }, "readonly": false, "key": { "type": "StringLiteral", "span": { "start": 1050, "end": 1055, "ctxt": 0 }, "value": "4.0", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1055, "end": 1063, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1057, "end": 1063, "ctxt": 0 }, "kind": "number" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1079, "end": 1091, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1079, "end": 1080, "ctxt": 0 }, "value": "f", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1080, "end": 1090, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1082, "end": 1090, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1082, "end": 1090, "ctxt": 0 }, "value": "MyNumber", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "VariableDeclaration", "span": { "start": 1107, "end": 1466, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1111, "end": 1466, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1111, "end": 1112, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1112, "end": 1466, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1114, "end": 1466, "ctxt": 0 }, "members": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 1122, "end": 1131, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1123, "end": 1131, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1125, "end": 1131, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1132, "end": 1140, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1134, "end": 1140, "ctxt": 0 }, "kind": "string" } }, "readonly": false, "static": false, "span": { "start": 1121, "end": 1141, "ctxt": 0 } }, { "type": "TsPropertySignature", "span": { "start": 1149, "end": 1159, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1149, "end": 1150, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1150, "end": 1158, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1152, "end": 1158, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1171, "end": 1181, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1171, "end": 1172, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1172, "end": 1180, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1174, "end": 1180, "ctxt": 0 }, "kind": "number" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1193, "end": 1204, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1193, "end": 1194, "ctxt": 0 }, "value": "c", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1194, "end": 1204, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1196, "end": 1204, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1199, "end": 1204, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1202, "end": 1204, "ctxt": 0 }, "members": [] } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1216, "end": 1228, "ctxt": 0 }, "readonly": false, "key": { "type": "StringLiteral", "span": { "start": 1216, "end": 1219, "ctxt": 0 }, "value": "d", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1219, "end": 1227, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1221, "end": 1227, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1240, "end": 1252, "ctxt": 0 }, "readonly": false, "key": { "type": "StringLiteral", "span": { "start": 1240, "end": 1243, "ctxt": 0 }, "value": "e", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1243, "end": 1251, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1245, "end": 1251, "ctxt": 0 }, "kind": "number" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1264, "end": 1276, "ctxt": 0 }, "readonly": false, "key": { "type": "NumericLiteral", "span": { "start": 1264, "end": 1267, "ctxt": 0 }, "value": 1.0 }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1267, "end": 1275, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1269, "end": 1275, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1288, "end": 1300, "ctxt": 0 }, "readonly": false, "key": { "type": "NumericLiteral", "span": { "start": 1288, "end": 1291, "ctxt": 0 }, "value": 2.0 }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1291, "end": 1299, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1293, "end": 1299, "ctxt": 0 }, "kind": "number" } }, "typeParams": null }, { "type": "TsCallSignatureDeclaration", "span": { "start": 1315, "end": 1326, "ctxt": 0 }, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1317, "end": 1325, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1319, "end": 1325, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsCallSignatureDeclaration", "span": { "start": 1338, "end": 1349, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1339, "end": 1340, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1341, "end": 1349, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1343, "end": 1349, "ctxt": 0 }, "kind": "number" } }, "typeParams": null }, { "type": "TsMethodSignature", "span": { "start": 1361, "end": 1375, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1361, "end": 1364, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "params": [], "typeAnn": { "type": "TsTypeAnnotation", "span": { "start": 1366, "end": 1374, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1368, "end": 1374, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1387, "end": 1401, "ctxt": 0 }, "readonly": false, "key": { "type": "StringLiteral", "span": { "start": 1387, "end": 1392, "ctxt": 0 }, "value": "3.0", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1392, "end": 1400, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1394, "end": 1400, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1413, "end": 1427, "ctxt": 0 }, "readonly": false, "key": { "type": "StringLiteral", "span": { "start": 1413, "end": 1418, "ctxt": 0 }, "value": "4.0", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1418, "end": 1426, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1420, "end": 1426, "ctxt": 0 }, "kind": "number" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1442, "end": 1454, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1442, "end": 1443, "ctxt": 0 }, "value": "f", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1443, "end": 1453, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1445, "end": 1453, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1445, "end": 1453, "ctxt": 0 }, "value": "MyNumber", "optional": false }, "typeParams": null } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1480, "end": 1779, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1484, "end": 1779, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1484, "end": 1485, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1485, "end": 1511, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1487, "end": 1511, "ctxt": 0 }, "members": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 1490, "end": 1499, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1491, "end": 1499, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1493, "end": 1499, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1500, "end": 1508, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1502, "end": 1508, "ctxt": 0 }, "kind": "string" } }, "readonly": false, "static": false, "span": { "start": 1489, "end": 1509, "ctxt": 0 } } ] } } }, "init": { "type": "ObjectExpression", "span": { "start": 1514, "end": 1779, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1521, "end": 1522, "ctxt": 0 }, "value": "a", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 1524, "end": 1526, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1533, "end": 1534, "ctxt": 0 }, "value": "b", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 1536, "end": 1537, "ctxt": 0 }, "value": 1.0 } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1545, "end": 1546, "ctxt": 0 }, "value": "c", "optional": false }, "value": { "type": "ArrowFunctionExpression", "span": { "start": 1548, "end": 1557, "ctxt": 0 }, "params": [], "body": { "type": "BlockStatement", "span": { "start": 1554, "end": 1557, "ctxt": 0 }, "stmts": [] }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "type": "KeyValueProperty", "key": { "type": "StringLiteral", "span": { "start": 1565, "end": 1568, "ctxt": 0 }, "value": "d", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "value": { "type": "StringLiteral", "span": { "start": 1570, "end": 1572, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "KeyValueProperty", "key": { "type": "StringLiteral", "span": { "start": 1580, "end": 1583, "ctxt": 0 }, "value": "e", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "value": { "type": "NumericLiteral", "span": { "start": 1585, "end": 1586, "ctxt": 0 }, "value": 1.0 } }, { "type": "KeyValueProperty", "key": { "type": "NumericLiteral", "span": { "start": 1594, "end": 1597, "ctxt": 0 }, "value": 1.0 }, "value": { "type": "StringLiteral", "span": { "start": 1599, "end": 1601, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "KeyValueProperty", "key": { "type": "NumericLiteral", "span": { "start": 1608, "end": 1611, "ctxt": 0 }, "value": 2.0 }, "value": { "type": "NumericLiteral", "span": { "start": 1613, "end": 1614, "ctxt": 0 }, "value": 1.0 } }, { "type": "KeyValueProperty", "key": { "type": "StringLiteral", "span": { "start": 1622, "end": 1627, "ctxt": 0 }, "value": "3.0", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "value": { "type": "StringLiteral", "span": { "start": 1629, "end": 1631, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "KeyValueProperty", "key": { "type": "StringLiteral", "span": { "start": 1639, "end": 1644, "ctxt": 0 }, "value": "4.0", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "value": { "type": "NumericLiteral", "span": { "start": 1646, "end": 1647, "ctxt": 0 }, "value": 1.0 } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1655, "end": 1656, "ctxt": 0 }, "value": "f", "optional": false }, "value": { "type": "TsTypeAssertion", "span": { "start": 1658, "end": 1667, "ctxt": 0 }, "expression": { "type": "NullLiteral", "span": { "start": 1663, "end": 1667, "ctxt": 0 } }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1659, "end": 1662, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1659, "end": 1662, "ctxt": 0 }, "value": "Myn", "optional": false }, "typeParams": null } } }, { "type": "GetterProperty", "span": { "start": 1677, "end": 1714, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1681, "end": 1682, "ctxt": 0 }, "value": "X", "optional": false }, "typeAnnotation": null, "body": { "type": "BlockStatement", "span": { "start": 1685, "end": 1714, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 1697, "end": 1707, "ctxt": 0 }, "argument": { "type": "StringLiteral", "span": { "start": 1704, "end": 1706, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } }, { "type": "SetterProperty", "span": { "start": 1721, "end": 1733, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1725, "end": 1726, "ctxt": 0 }, "value": "X", "optional": false }, "param": { "type": "Identifier", "span": { "start": 1727, "end": 1728, "ctxt": 0 }, "value": "v", "optional": false, "typeAnnotation": null }, "body": { "type": "BlockStatement", "span": { "start": 1730, "end": 1733, "ctxt": 0 }, "stmts": [] } }, { "type": "MethodProperty", "key": { "type": "Identifier", "span": { "start": 1741, "end": 1744, "ctxt": 0 }, "value": "foo", "optional": false }, "params": [], "decorators": [], "span": { "start": 1741, "end": 1776, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1747, "end": 1776, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 1759, "end": 1769, "ctxt": 0 }, "argument": { "type": "StringLiteral", "span": { "start": 1766, "end": 1768, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } ] }, "definite": false } ] } ], "interpreter": null }