{ "type": "Script", "span": { "start": 118, "end": 1517, "ctxt": 0 }, "body": [ { "type": "TsModuleDeclaration", "span": { "start": 118, "end": 771, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 125, "end": 139, "ctxt": 0 }, "value": "TargetIsPublic", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 140, "end": 771, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 167, "end": 171, "ctxt": 0 }, "value": "Base", "optional": false }, "declare": false, "span": { "start": 161, "end": 207, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 182, "end": 201, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 189, "end": 192, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 192, "end": 200, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 194, "end": 200, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": "public", "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": 213, "end": 253, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 223, "end": 224, "ctxt": 0 }, "value": "I", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 225, "end": 253, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 235, "end": 247, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 235, "end": 238, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 238, "end": 246, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 240, "end": 246, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "VariableDeclaration", "span": { "start": 259, "end": 282, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 263, "end": 282, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 263, "end": 264, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 264, "end": 282, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 266, "end": 282, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 268, "end": 280, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 268, "end": 271, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 271, "end": 279, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 273, "end": 279, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 287, "end": 299, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 291, "end": 298, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 291, "end": 292, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 292, "end": 298, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 294, "end": 298, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 294, "end": 298, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 304, "end": 313, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 308, "end": 312, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 308, "end": 309, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 309, "end": 312, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 311, "end": 312, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 311, "end": 312, "ctxt": 0 }, "value": "I", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 340, "end": 341, "ctxt": 0 }, "value": "D", "optional": false }, "declare": false, "span": { "start": 334, "end": 377, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 352, "end": 371, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 359, "end": 362, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 362, "end": 370, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 364, "end": 370, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": "public", "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": 389, "end": 390, "ctxt": 0 }, "value": "E", "optional": false }, "declare": false, "span": { "start": 383, "end": 427, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 401, "end": 421, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 409, "end": 412, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 412, "end": 420, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 414, "end": 420, "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": "VariableDeclaration", "span": { "start": 432, "end": 441, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 436, "end": 440, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 436, "end": 437, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 437, "end": 440, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 439, "end": 440, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 439, "end": 440, "ctxt": 0 }, "value": "D", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 446, "end": 455, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 450, "end": 454, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 450, "end": 451, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 451, "end": 454, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 453, "end": 454, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 453, "end": 454, "ctxt": 0 }, "value": "E", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 461, "end": 467, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 461, "end": 466, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 461, "end": 462, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 465, "end": 466, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 472, "end": 478, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 472, "end": 477, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 472, "end": 473, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 476, "end": 477, "ctxt": 0 }, "value": "i", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 483, "end": 489, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 483, "end": 488, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 483, "end": 484, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 487, "end": 488, "ctxt": 0 }, "value": "d", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 494, "end": 500, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 494, "end": 499, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 494, "end": 495, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 498, "end": 499, "ctxt": 0 }, "value": "e", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 515, "end": 521, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 515, "end": 520, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 515, "end": 516, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 519, "end": 520, "ctxt": 0 }, "value": "a", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 526, "end": 532, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 526, "end": 531, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 526, "end": 527, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 530, "end": 531, "ctxt": 0 }, "value": "i", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 537, "end": 543, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 537, "end": 542, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 537, "end": 538, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 541, "end": 542, "ctxt": 0 }, "value": "d", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 548, "end": 554, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 548, "end": 553, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 548, "end": 549, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 552, "end": 553, "ctxt": 0 }, "value": "e", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 569, "end": 575, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 569, "end": 574, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 569, "end": 570, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 573, "end": 574, "ctxt": 0 }, "value": "a", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 580, "end": 586, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 580, "end": 585, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 580, "end": 581, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 584, "end": 585, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 591, "end": 597, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 591, "end": 596, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 591, "end": 592, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 595, "end": 596, "ctxt": 0 }, "value": "d", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 602, "end": 608, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 602, "end": 607, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 602, "end": 603, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 606, "end": 607, "ctxt": 0 }, "value": "e", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 623, "end": 629, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 623, "end": 628, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 623, "end": 624, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 627, "end": 628, "ctxt": 0 }, "value": "a", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 634, "end": 640, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 634, "end": 639, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 634, "end": 635, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 638, "end": 639, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 645, "end": 651, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 645, "end": 650, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 645, "end": 646, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 649, "end": 650, "ctxt": 0 }, "value": "i", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 656, "end": 662, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 656, "end": 661, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 656, "end": 657, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 660, "end": 661, "ctxt": 0 }, "value": "e", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 677, "end": 683, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 677, "end": 682, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 677, "end": 678, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 681, "end": 682, "ctxt": 0 }, "value": "a", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 698, "end": 704, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 698, "end": 703, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 698, "end": 699, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 702, "end": 703, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 719, "end": 725, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 719, "end": 724, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 719, "end": 720, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 723, "end": 724, "ctxt": 0 }, "value": "i", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 740, "end": 746, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 740, "end": 745, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 740, "end": 741, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 744, "end": 745, "ctxt": 0 }, "value": "d", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 761, "end": 767, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 761, "end": 766, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 761, "end": 762, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 765, "end": 766, "ctxt": 0 }, "value": "e", "optional": false } } } ] } }, { "type": "TsModuleDeclaration", "span": { "start": 773, "end": 1517, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 780, "end": 794, "ctxt": 0 }, "value": "TargetIsPublic", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 795, "end": 1517, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 822, "end": 826, "ctxt": 0 }, "value": "Base", "optional": false }, "declare": false, "span": { "start": 816, "end": 863, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 837, "end": 857, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 845, "end": 848, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 848, "end": 856, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 850, "end": 856, "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": 869, "end": 901, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 879, "end": 880, "ctxt": 0 }, "value": "I", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 889, "end": 893, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 889, "end": 893, "ctxt": 0 }, "value": "Base", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 894, "end": 901, "ctxt": 0 }, "body": [] } }, { "type": "VariableDeclaration", "span": { "start": 907, "end": 930, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 911, "end": 930, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 911, "end": 912, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 912, "end": 930, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 914, "end": 930, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 916, "end": 928, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 916, "end": 919, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 919, "end": 927, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 921, "end": 927, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 935, "end": 947, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 939, "end": 946, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 939, "end": 940, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 940, "end": 946, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 942, "end": 946, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 942, "end": 946, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 952, "end": 961, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 956, "end": 960, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 956, "end": 957, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 957, "end": 960, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 959, "end": 960, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 959, "end": 960, "ctxt": 0 }, "value": "I", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 988, "end": 989, "ctxt": 0 }, "value": "D", "optional": false }, "declare": false, "span": { "start": 982, "end": 1025, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1000, "end": 1019, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1007, "end": 1010, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1010, "end": 1018, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1012, "end": 1018, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": "public", "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": 1037, "end": 1038, "ctxt": 0 }, "value": "E", "optional": false }, "declare": false, "span": { "start": 1031, "end": 1075, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1049, "end": 1069, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1057, "end": 1060, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1060, "end": 1068, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1062, "end": 1068, "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": "VariableDeclaration", "span": { "start": 1081, "end": 1090, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1085, "end": 1089, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1085, "end": 1086, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1086, "end": 1089, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1088, "end": 1089, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1088, "end": 1089, "ctxt": 0 }, "value": "D", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1095, "end": 1104, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1099, "end": 1103, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1099, "end": 1100, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1100, "end": 1103, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1102, "end": 1103, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1102, "end": 1103, "ctxt": 0 }, "value": "E", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1110, "end": 1116, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1110, "end": 1115, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1110, "end": 1111, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1114, "end": 1115, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1130, "end": 1136, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1130, "end": 1135, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1130, "end": 1131, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1134, "end": 1135, "ctxt": 0 }, "value": "i", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1150, "end": 1156, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1150, "end": 1155, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1150, "end": 1151, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1154, "end": 1155, "ctxt": 0 }, "value": "d", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1161, "end": 1167, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1161, "end": 1166, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1161, "end": 1162, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1165, "end": 1166, "ctxt": 0 }, "value": "e", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1182, "end": 1188, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1182, "end": 1187, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1182, "end": 1183, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1186, "end": 1187, "ctxt": 0 }, "value": "a", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1202, "end": 1208, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1202, "end": 1207, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1202, "end": 1203, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1206, "end": 1207, "ctxt": 0 }, "value": "i", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1213, "end": 1219, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1213, "end": 1218, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1213, "end": 1214, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1217, "end": 1218, "ctxt": 0 }, "value": "d", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1233, "end": 1239, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1233, "end": 1238, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1233, "end": 1234, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1237, "end": 1238, "ctxt": 0 }, "value": "e", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1253, "end": 1259, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1253, "end": 1258, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1253, "end": 1254, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1257, "end": 1258, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1269, "end": 1275, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1269, "end": 1274, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1269, "end": 1270, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1273, "end": 1274, "ctxt": 0 }, "value": "a", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1289, "end": 1295, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1289, "end": 1294, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1289, "end": 1290, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1293, "end": 1294, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1300, "end": 1306, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1300, "end": 1305, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1300, "end": 1301, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1304, "end": 1305, "ctxt": 0 }, "value": "d", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1320, "end": 1326, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1320, "end": 1325, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1320, "end": 1321, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1324, "end": 1325, "ctxt": 0 }, "value": "e", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1340, "end": 1346, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1340, "end": 1345, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1340, "end": 1341, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1344, "end": 1345, "ctxt": 0 }, "value": "i", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1352, "end": 1358, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1352, "end": 1357, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1352, "end": 1353, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1356, "end": 1357, "ctxt": 0 }, "value": "a", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1363, "end": 1369, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1363, "end": 1368, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1363, "end": 1364, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1367, "end": 1368, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1383, "end": 1389, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1383, "end": 1388, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1383, "end": 1384, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1387, "end": 1388, "ctxt": 0 }, "value": "i", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1403, "end": 1409, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1403, "end": 1408, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1403, "end": 1404, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1407, "end": 1408, "ctxt": 0 }, "value": "e", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1424, "end": 1430, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1424, "end": 1429, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1424, "end": 1425, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1428, "end": 1429, "ctxt": 0 }, "value": "a", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1445, "end": 1451, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1445, "end": 1450, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1445, "end": 1446, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1449, "end": 1450, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1466, "end": 1472, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1466, "end": 1471, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1466, "end": 1467, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1470, "end": 1471, "ctxt": 0 }, "value": "i", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1487, "end": 1493, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1487, "end": 1492, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1487, "end": 1488, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1491, "end": 1492, "ctxt": 0 }, "value": "d", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1508, "end": 1514, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1508, "end": 1513, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1508, "end": 1509, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1512, "end": 1513, "ctxt": 0 }, "value": "e", "optional": false } } } ] } } ], "interpreter": null }