{ "type": "Script", "span": { "start": 117, "end": 1516, "ctxt": 0 }, "body": [ { "type": "TsModuleDeclaration", "span": { "start": 117, "end": 770, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 124, "end": 138, "ctxt": 0 }, "value": "TargetIsPublic", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 139, "end": 770, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 166, "end": 170, "ctxt": 0 }, "value": "Base", "optional": false }, "declare": false, "span": { "start": 160, "end": 206, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 181, "end": 200, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 188, "end": 191, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 191, "end": 199, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 193, "end": 199, "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": 212, "end": 252, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 222, "end": 223, "ctxt": 0 }, "value": "I", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 224, "end": 252, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 234, "end": 246, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 234, "end": 237, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 237, "end": 245, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 239, "end": 245, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "VariableDeclaration", "span": { "start": 258, "end": 281, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 262, "end": 281, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 262, "end": 263, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 263, "end": 281, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 265, "end": 281, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 267, "end": 279, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 267, "end": 270, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 270, "end": 278, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 272, "end": 278, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 286, "end": 298, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 290, "end": 297, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 290, "end": 291, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 291, "end": 297, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 293, "end": 297, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 293, "end": 297, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 303, "end": 312, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 307, "end": 311, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 307, "end": 308, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 308, "end": 311, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 310, "end": 311, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 310, "end": 311, "ctxt": 0 }, "value": "I", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 339, "end": 340, "ctxt": 0 }, "value": "D", "optional": false }, "declare": false, "span": { "start": 333, "end": 376, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 351, "end": 370, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 358, "end": 361, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 361, "end": 369, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 363, "end": 369, "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": 388, "end": 389, "ctxt": 0 }, "value": "E", "optional": false }, "declare": false, "span": { "start": 382, "end": 426, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 400, "end": 420, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 408, "end": 411, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 411, "end": 419, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 413, "end": 419, "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": 431, "end": 440, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 435, "end": 439, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 435, "end": 436, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 436, "end": 439, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 438, "end": 439, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 438, "end": 439, "ctxt": 0 }, "value": "D", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 445, "end": 454, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 449, "end": 453, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 449, "end": 450, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 450, "end": 453, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 452, "end": 453, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 452, "end": 453, "ctxt": 0 }, "value": "E", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 460, "end": 466, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 460, "end": 465, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 460, "end": 461, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 464, "end": 465, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 471, "end": 477, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 471, "end": 476, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 471, "end": 472, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 475, "end": 476, "ctxt": 0 }, "value": "i", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 482, "end": 488, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 482, "end": 487, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 482, "end": 483, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 486, "end": 487, "ctxt": 0 }, "value": "d", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 493, "end": 499, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 493, "end": 498, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 493, "end": 494, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 497, "end": 498, "ctxt": 0 }, "value": "e", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 514, "end": 520, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 514, "end": 519, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 514, "end": 515, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 518, "end": 519, "ctxt": 0 }, "value": "a", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 525, "end": 531, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 525, "end": 530, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 525, "end": 526, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 529, "end": 530, "ctxt": 0 }, "value": "i", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 536, "end": 542, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 536, "end": 541, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 536, "end": 537, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 540, "end": 541, "ctxt": 0 }, "value": "d", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 547, "end": 553, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 547, "end": 552, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 547, "end": 548, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 551, "end": 552, "ctxt": 0 }, "value": "e", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 568, "end": 574, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 568, "end": 573, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 568, "end": 569, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 572, "end": 573, "ctxt": 0 }, "value": "a", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 579, "end": 585, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 579, "end": 584, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 579, "end": 580, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 583, "end": 584, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 590, "end": 596, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 590, "end": 595, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 590, "end": 591, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 594, "end": 595, "ctxt": 0 }, "value": "d", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 601, "end": 607, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 601, "end": 606, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 601, "end": 602, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 605, "end": 606, "ctxt": 0 }, "value": "e", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 622, "end": 628, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 622, "end": 627, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 622, "end": 623, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 626, "end": 627, "ctxt": 0 }, "value": "a", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 633, "end": 639, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 633, "end": 638, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 633, "end": 634, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 637, "end": 638, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 644, "end": 650, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 644, "end": 649, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 644, "end": 645, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 648, "end": 649, "ctxt": 0 }, "value": "i", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 655, "end": 661, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 655, "end": 660, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 655, "end": 656, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 659, "end": 660, "ctxt": 0 }, "value": "e", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 676, "end": 682, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 676, "end": 681, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 676, "end": 677, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 680, "end": 681, "ctxt": 0 }, "value": "a", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 697, "end": 703, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 697, "end": 702, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 697, "end": 698, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 701, "end": 702, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 718, "end": 724, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 718, "end": 723, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 718, "end": 719, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 722, "end": 723, "ctxt": 0 }, "value": "i", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 739, "end": 745, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 739, "end": 744, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 739, "end": 740, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 743, "end": 744, "ctxt": 0 }, "value": "d", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 760, "end": 766, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 760, "end": 765, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 760, "end": 761, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 764, "end": 765, "ctxt": 0 }, "value": "e", "optional": false } } } ] } }, { "type": "TsModuleDeclaration", "span": { "start": 772, "end": 1516, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 779, "end": 793, "ctxt": 0 }, "value": "TargetIsPublic", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 794, "end": 1516, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 821, "end": 825, "ctxt": 0 }, "value": "Base", "optional": false }, "declare": false, "span": { "start": 815, "end": 862, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 836, "end": 856, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 844, "end": 847, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 847, "end": 855, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 849, "end": 855, "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": 868, "end": 900, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 878, "end": 879, "ctxt": 0 }, "value": "I", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 888, "end": 892, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 888, "end": 892, "ctxt": 0 }, "value": "Base", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 893, "end": 900, "ctxt": 0 }, "body": [] } }, { "type": "VariableDeclaration", "span": { "start": 906, "end": 929, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 910, "end": 929, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 910, "end": 911, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 911, "end": 929, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 913, "end": 929, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 915, "end": 927, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 915, "end": 918, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 918, "end": 926, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 920, "end": 926, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 934, "end": 946, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 938, "end": 945, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 938, "end": 939, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 939, "end": 945, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 941, "end": 945, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 941, "end": 945, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 951, "end": 960, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 955, "end": 959, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 955, "end": 956, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 956, "end": 959, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 958, "end": 959, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 958, "end": 959, "ctxt": 0 }, "value": "I", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 987, "end": 988, "ctxt": 0 }, "value": "D", "optional": false }, "declare": false, "span": { "start": 981, "end": 1024, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 999, "end": 1018, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1006, "end": 1009, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1009, "end": 1017, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1011, "end": 1017, "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": 1036, "end": 1037, "ctxt": 0 }, "value": "E", "optional": false }, "declare": false, "span": { "start": 1030, "end": 1074, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1048, "end": 1068, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1056, "end": 1059, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1059, "end": 1067, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1061, "end": 1067, "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": 1080, "end": 1089, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1084, "end": 1088, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1084, "end": 1085, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1085, "end": 1088, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1087, "end": 1088, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1087, "end": 1088, "ctxt": 0 }, "value": "D", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1094, "end": 1103, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1098, "end": 1102, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1098, "end": 1099, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1099, "end": 1102, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1101, "end": 1102, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1101, "end": 1102, "ctxt": 0 }, "value": "E", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1109, "end": 1115, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1109, "end": 1114, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1109, "end": 1110, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1113, "end": 1114, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1129, "end": 1135, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1129, "end": 1134, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1129, "end": 1130, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1133, "end": 1134, "ctxt": 0 }, "value": "i", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1149, "end": 1155, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1149, "end": 1154, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1149, "end": 1150, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1153, "end": 1154, "ctxt": 0 }, "value": "d", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1160, "end": 1166, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1160, "end": 1165, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1160, "end": 1161, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1164, "end": 1165, "ctxt": 0 }, "value": "e", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1181, "end": 1187, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1181, "end": 1186, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1181, "end": 1182, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1185, "end": 1186, "ctxt": 0 }, "value": "a", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1201, "end": 1207, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1201, "end": 1206, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1201, "end": 1202, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1205, "end": 1206, "ctxt": 0 }, "value": "i", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1212, "end": 1218, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1212, "end": 1217, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1212, "end": 1213, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1216, "end": 1217, "ctxt": 0 }, "value": "d", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1232, "end": 1238, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1232, "end": 1237, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1232, "end": 1233, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1236, "end": 1237, "ctxt": 0 }, "value": "e", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1252, "end": 1258, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1252, "end": 1257, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1252, "end": 1253, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1256, "end": 1257, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1268, "end": 1274, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1268, "end": 1273, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1268, "end": 1269, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1272, "end": 1273, "ctxt": 0 }, "value": "a", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1288, "end": 1294, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1288, "end": 1293, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1288, "end": 1289, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1292, "end": 1293, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1299, "end": 1305, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1299, "end": 1304, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1299, "end": 1300, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1303, "end": 1304, "ctxt": 0 }, "value": "d", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1319, "end": 1325, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1319, "end": 1324, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1319, "end": 1320, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1323, "end": 1324, "ctxt": 0 }, "value": "e", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1339, "end": 1345, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1339, "end": 1344, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1339, "end": 1340, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1343, "end": 1344, "ctxt": 0 }, "value": "i", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1351, "end": 1357, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1351, "end": 1356, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1351, "end": 1352, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1355, "end": 1356, "ctxt": 0 }, "value": "a", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1362, "end": 1368, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1362, "end": 1367, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1362, "end": 1363, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1366, "end": 1367, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1382, "end": 1388, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1382, "end": 1387, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1382, "end": 1383, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1386, "end": 1387, "ctxt": 0 }, "value": "i", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1402, "end": 1408, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1402, "end": 1407, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1402, "end": 1403, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1406, "end": 1407, "ctxt": 0 }, "value": "e", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1423, "end": 1429, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1423, "end": 1428, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1423, "end": 1424, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1427, "end": 1428, "ctxt": 0 }, "value": "a", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1444, "end": 1450, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1444, "end": 1449, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1444, "end": 1445, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1448, "end": 1449, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1465, "end": 1471, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1465, "end": 1470, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1465, "end": 1466, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1469, "end": 1470, "ctxt": 0 }, "value": "i", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1486, "end": 1492, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1486, "end": 1491, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1486, "end": 1487, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1490, "end": 1491, "ctxt": 0 }, "value": "d", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1507, "end": 1513, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1507, "end": 1512, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1507, "end": 1508, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1511, "end": 1512, "ctxt": 0 }, "value": "e", "optional": false } } } ] } } ], "interpreter": null }