{ "type": "Script", "span": { "start": 121, "end": 1815, "ctxt": 0 }, "body": [ { "type": "TsModuleDeclaration", "span": { "start": 121, "end": 988, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 128, "end": 139, "ctxt": 0 }, "value": "OnlyDerived", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 140, "end": 988, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 152, "end": 156, "ctxt": 0 }, "value": "Base", "optional": false }, "declare": false, "span": { "start": 146, "end": 173, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 159, "end": 171, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 159, "end": 162, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 162, "end": 170, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 164, "end": 170, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "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": 184, "end": 191, "ctxt": 0 }, "value": "Derived", "optional": false }, "declare": false, "span": { "start": 178, "end": 221, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 207, "end": 219, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 207, "end": 210, "ctxt": 0 }, "value": "bar", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 210, "end": 218, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 212, "end": 218, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 200, "end": 204, "ctxt": 0 }, "value": "Base", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 232, "end": 240, "ctxt": 0 }, "value": "Derived2", "optional": false }, "declare": false, "span": { "start": 226, "end": 270, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 256, "end": 268, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 256, "end": 259, "ctxt": 0 }, "value": "baz", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 259, "end": 267, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 261, "end": 267, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 249, "end": 253, "ctxt": 0 }, "value": "Base", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 282, "end": 283, "ctxt": 0 }, "value": "S", "optional": false }, "declare": false, "span": { "start": 276, "end": 301, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 286, "end": 299, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 286, "end": 289, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 289, "end": 298, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 291, "end": 298, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 291, "end": 298, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": null, "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": 312, "end": 313, "ctxt": 0 }, "value": "T", "optional": false }, "declare": false, "span": { "start": 306, "end": 332, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 316, "end": 330, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 316, "end": 319, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 319, "end": 329, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 321, "end": 329, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 321, "end": 329, "ctxt": 0 }, "value": "Derived2", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": null, "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": 337, "end": 346, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 341, "end": 345, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 341, "end": 342, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 342, "end": 345, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 344, "end": 345, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 344, "end": 345, "ctxt": 0 }, "value": "S", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 351, "end": 360, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 355, "end": 359, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 355, "end": 356, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 356, "end": 359, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 358, "end": 359, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 358, "end": 359, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "TsInterfaceDeclaration", "span": { "start": 366, "end": 396, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 376, "end": 378, "ctxt": 0 }, "value": "S2", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 379, "end": 396, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 381, "end": 394, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 381, "end": 384, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 384, "end": 393, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 386, "end": 393, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 386, "end": 393, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 401, "end": 432, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 411, "end": 413, "ctxt": 0 }, "value": "T2", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 414, "end": 432, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 416, "end": 430, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 416, "end": 419, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 419, "end": 429, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 421, "end": 429, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 421, "end": 429, "ctxt": 0 }, "value": "Derived2", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "VariableDeclaration", "span": { "start": 437, "end": 448, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 441, "end": 447, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 441, "end": 443, "ctxt": 0 }, "value": "s2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 443, "end": 447, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 445, "end": 447, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 445, "end": 447, "ctxt": 0 }, "value": "S2", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 453, "end": 464, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 457, "end": 463, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 457, "end": 459, "ctxt": 0 }, "value": "t2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 459, "end": 463, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 461, "end": 463, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 461, "end": 463, "ctxt": 0 }, "value": "T2", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 470, "end": 494, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 474, "end": 494, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 474, "end": 475, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 475, "end": 494, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 477, "end": 494, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 479, "end": 492, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 479, "end": 482, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 482, "end": 491, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 484, "end": 491, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 484, "end": 491, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 499, "end": 524, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 503, "end": 524, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 503, "end": 504, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 504, "end": 524, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 506, "end": 524, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 508, "end": 522, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 508, "end": 511, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 511, "end": 521, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 513, "end": 521, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 513, "end": 521, "ctxt": 0 }, "value": "Derived2", "optional": false }, "typeParams": null } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 530, "end": 562, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 534, "end": 561, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 534, "end": 536, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": null }, "init": { "type": "ObjectExpression", "span": { "start": 539, "end": 561, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 541, "end": 544, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "NewExpression", "span": { "start": 546, "end": 559, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 550, "end": 557, "ctxt": 0 }, "value": "Derived", "optional": false }, "arguments": [], "typeArguments": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 567, "end": 600, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 571, "end": 599, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 571, "end": 573, "ctxt": 0 }, "value": "b2", "optional": false, "typeAnnotation": null }, "init": { "type": "ObjectExpression", "span": { "start": 576, "end": 599, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 578, "end": 581, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "NewExpression", "span": { "start": 583, "end": 597, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 587, "end": 595, "ctxt": 0 }, "value": "Derived2", "optional": false }, "arguments": [], "typeArguments": null } } ] }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 606, "end": 612, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 606, "end": 611, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 606, "end": 607, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 610, "end": 611, "ctxt": 0 }, "value": "t", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 626, "end": 632, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 626, "end": 631, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 626, "end": 627, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 630, "end": 631, "ctxt": 0 }, "value": "s", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 646, "end": 653, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 646, "end": 652, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 646, "end": 647, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 650, "end": 652, "ctxt": 0 }, "value": "s2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 664, "end": 671, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 664, "end": 670, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 664, "end": 665, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 668, "end": 670, "ctxt": 0 }, "value": "a2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 683, "end": 691, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 683, "end": 690, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 683, "end": 685, "ctxt": 0 }, "value": "s2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 688, "end": 690, "ctxt": 0 }, "value": "t2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 705, "end": 713, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 705, "end": 712, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 705, "end": 707, "ctxt": 0 }, "value": "t2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 710, "end": 712, "ctxt": 0 }, "value": "s2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 727, "end": 734, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 727, "end": 733, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 727, "end": 729, "ctxt": 0 }, "value": "s2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 732, "end": 733, "ctxt": 0 }, "value": "t", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 748, "end": 755, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 748, "end": 754, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 748, "end": 750, "ctxt": 0 }, "value": "s2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 753, "end": 754, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 769, "end": 777, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 769, "end": 776, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 769, "end": 771, "ctxt": 0 }, "value": "s2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 774, "end": 776, "ctxt": 0 }, "value": "a2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 789, "end": 795, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 789, "end": 794, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 789, "end": 790, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 793, "end": 794, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 809, "end": 815, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 809, "end": 814, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 809, "end": 810, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 813, "end": 814, "ctxt": 0 }, "value": "a", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 829, "end": 835, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 829, "end": 834, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 829, "end": 830, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 833, "end": 834, "ctxt": 0 }, "value": "s", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 846, "end": 853, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 846, "end": 852, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 846, "end": 847, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 850, "end": 852, "ctxt": 0 }, "value": "s2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 864, "end": 871, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 864, "end": 870, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 864, "end": 865, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 868, "end": 870, "ctxt": 0 }, "value": "a2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 883, "end": 891, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 883, "end": 890, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 883, "end": 885, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 888, "end": 890, "ctxt": 0 }, "value": "b2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 905, "end": 913, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 905, "end": 912, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 905, "end": 907, "ctxt": 0 }, "value": "b2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 910, "end": 912, "ctxt": 0 }, "value": "a2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 927, "end": 934, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 927, "end": 933, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 927, "end": 929, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 932, "end": 933, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 948, "end": 956, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 948, "end": 955, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 948, "end": 950, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 953, "end": 955, "ctxt": 0 }, "value": "t2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 970, "end": 977, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 970, "end": 976, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 970, "end": 972, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 975, "end": 976, "ctxt": 0 }, "value": "t", "optional": false } } } ] } }, { "type": "TsModuleDeclaration", "span": { "start": 990, "end": 1815, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 997, "end": 1005, "ctxt": 0 }, "value": "WithBase", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 1006, "end": 1815, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1018, "end": 1022, "ctxt": 0 }, "value": "Base", "optional": false }, "declare": false, "span": { "start": 1012, "end": 1039, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1025, "end": 1037, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1025, "end": 1028, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1028, "end": 1036, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1030, "end": 1036, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "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": 1050, "end": 1057, "ctxt": 0 }, "value": "Derived", "optional": false }, "declare": false, "span": { "start": 1044, "end": 1087, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1073, "end": 1085, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1073, "end": 1076, "ctxt": 0 }, "value": "bar", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1076, "end": 1084, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1078, "end": 1084, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 1066, "end": 1070, "ctxt": 0 }, "value": "Base", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1098, "end": 1106, "ctxt": 0 }, "value": "Derived2", "optional": false }, "declare": false, "span": { "start": 1092, "end": 1136, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1122, "end": 1134, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1122, "end": 1125, "ctxt": 0 }, "value": "baz", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1125, "end": 1133, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1127, "end": 1133, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 1115, "end": 1119, "ctxt": 0 }, "value": "Base", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1148, "end": 1149, "ctxt": 0 }, "value": "S", "optional": false }, "declare": false, "span": { "start": 1142, "end": 1164, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1152, "end": 1162, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1152, "end": 1155, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1155, "end": 1161, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1157, "end": 1161, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1157, "end": 1161, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": null, "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": 1175, "end": 1176, "ctxt": 0 }, "value": "T", "optional": false }, "declare": false, "span": { "start": 1169, "end": 1195, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1179, "end": 1193, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1179, "end": 1182, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1182, "end": 1192, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1184, "end": 1192, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1184, "end": 1192, "ctxt": 0 }, "value": "Derived2", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": null, "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": 1200, "end": 1209, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1204, "end": 1208, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1204, "end": 1205, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1205, "end": 1208, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1207, "end": 1208, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1207, "end": 1208, "ctxt": 0 }, "value": "S", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1214, "end": 1223, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1218, "end": 1222, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1218, "end": 1219, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1219, "end": 1222, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1221, "end": 1222, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1221, "end": 1222, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "TsInterfaceDeclaration", "span": { "start": 1229, "end": 1256, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1239, "end": 1241, "ctxt": 0 }, "value": "S2", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 1242, "end": 1256, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1244, "end": 1254, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1244, "end": 1247, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1247, "end": 1253, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1249, "end": 1253, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1249, "end": 1253, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1261, "end": 1292, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1271, "end": 1273, "ctxt": 0 }, "value": "T2", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 1274, "end": 1292, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1276, "end": 1290, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1276, "end": 1279, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1279, "end": 1289, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1281, "end": 1289, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1281, "end": 1289, "ctxt": 0 }, "value": "Derived2", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "VariableDeclaration", "span": { "start": 1297, "end": 1308, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1301, "end": 1307, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1301, "end": 1303, "ctxt": 0 }, "value": "s2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1303, "end": 1307, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1305, "end": 1307, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1305, "end": 1307, "ctxt": 0 }, "value": "S2", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1313, "end": 1324, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1317, "end": 1323, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1317, "end": 1319, "ctxt": 0 }, "value": "t2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1319, "end": 1323, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1321, "end": 1323, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1321, "end": 1323, "ctxt": 0 }, "value": "T2", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1330, "end": 1351, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1334, "end": 1351, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1334, "end": 1335, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1335, "end": 1351, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1337, "end": 1351, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1339, "end": 1349, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1339, "end": 1342, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1342, "end": 1348, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1344, "end": 1348, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1344, "end": 1348, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1356, "end": 1381, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1360, "end": 1381, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1360, "end": 1361, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1361, "end": 1381, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1363, "end": 1381, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1365, "end": 1379, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1365, "end": 1368, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1368, "end": 1378, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1370, "end": 1378, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1370, "end": 1378, "ctxt": 0 }, "value": "Derived2", "optional": false }, "typeParams": null } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1387, "end": 1416, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1391, "end": 1415, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1391, "end": 1393, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": null }, "init": { "type": "ObjectExpression", "span": { "start": 1396, "end": 1415, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1398, "end": 1401, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "NewExpression", "span": { "start": 1403, "end": 1413, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1407, "end": 1411, "ctxt": 0 }, "value": "Base", "optional": false }, "arguments": [], "typeArguments": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1421, "end": 1454, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1425, "end": 1453, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1425, "end": 1427, "ctxt": 0 }, "value": "b2", "optional": false, "typeAnnotation": null }, "init": { "type": "ObjectExpression", "span": { "start": 1430, "end": 1453, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1432, "end": 1435, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "NewExpression", "span": { "start": 1437, "end": 1451, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1441, "end": 1449, "ctxt": 0 }, "value": "Derived2", "optional": false }, "arguments": [], "typeArguments": null } } ] }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1460, "end": 1466, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1460, "end": 1465, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1460, "end": 1461, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1464, "end": 1465, "ctxt": 0 }, "value": "t", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1477, "end": 1483, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1477, "end": 1482, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1477, "end": 1478, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1481, "end": 1482, "ctxt": 0 }, "value": "s", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1497, "end": 1504, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1497, "end": 1503, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1497, "end": 1498, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1501, "end": 1503, "ctxt": 0 }, "value": "s2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1515, "end": 1522, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1515, "end": 1521, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1515, "end": 1516, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1519, "end": 1521, "ctxt": 0 }, "value": "a2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1534, "end": 1542, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1534, "end": 1541, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1534, "end": 1536, "ctxt": 0 }, "value": "s2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1539, "end": 1541, "ctxt": 0 }, "value": "t2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1553, "end": 1561, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1553, "end": 1560, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1553, "end": 1555, "ctxt": 0 }, "value": "t2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1558, "end": 1560, "ctxt": 0 }, "value": "s2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1575, "end": 1582, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1575, "end": 1581, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1575, "end": 1577, "ctxt": 0 }, "value": "s2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1580, "end": 1581, "ctxt": 0 }, "value": "t", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1593, "end": 1600, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1593, "end": 1599, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1593, "end": 1595, "ctxt": 0 }, "value": "s2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1598, "end": 1599, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1611, "end": 1619, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1611, "end": 1618, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1611, "end": 1613, "ctxt": 0 }, "value": "s2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1616, "end": 1618, "ctxt": 0 }, "value": "a2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1631, "end": 1637, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1631, "end": 1636, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1631, "end": 1632, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1635, "end": 1636, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1648, "end": 1654, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1648, "end": 1653, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1648, "end": 1649, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1652, "end": 1653, "ctxt": 0 }, "value": "a", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1668, "end": 1674, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1668, "end": 1673, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1668, "end": 1669, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1672, "end": 1673, "ctxt": 0 }, "value": "s", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1685, "end": 1692, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1685, "end": 1691, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1685, "end": 1686, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1689, "end": 1691, "ctxt": 0 }, "value": "s2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1703, "end": 1710, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1703, "end": 1709, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1703, "end": 1704, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1707, "end": 1709, "ctxt": 0 }, "value": "a2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1722, "end": 1730, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1722, "end": 1729, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1722, "end": 1724, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1727, "end": 1729, "ctxt": 0 }, "value": "b2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1741, "end": 1749, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1741, "end": 1748, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1741, "end": 1743, "ctxt": 0 }, "value": "b2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1746, "end": 1748, "ctxt": 0 }, "value": "a2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1763, "end": 1770, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1763, "end": 1769, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1763, "end": 1765, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1768, "end": 1769, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1781, "end": 1789, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1781, "end": 1788, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1781, "end": 1783, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1786, "end": 1788, "ctxt": 0 }, "value": "t2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1800, "end": 1807, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1800, "end": 1806, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1800, "end": 1802, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1805, "end": 1806, "ctxt": 0 }, "value": "t", "optional": false } } } ] } } ], "interpreter": null }