{ "type": "Script", "span": { "start": 115, "end": 4169, "ctxt": 0 }, "body": [ { "type": "TsModuleDeclaration", "span": { "start": 115, "end": 1603, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 122, "end": 136, "ctxt": 0 }, "value": "ClassTypeParam", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 137, "end": 1603, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 149, "end": 153, "ctxt": 0 }, "value": "Base", "optional": false }, "declare": false, "span": { "start": 143, "end": 1601, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 167, "end": 178, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 167, "end": 168, "ctxt": 0 }, "value": "a", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 168, "end": 177, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 170, "end": 177, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 173, "end": 177, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 176, "end": 177, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 176, "end": 177, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 187, "end": 204, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 187, "end": 189, "ctxt": 0 }, "value": "a2", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 189, "end": 203, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 191, "end": 203, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 192, "end": 197, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 194, "end": 197, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 196, "end": 197, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 196, "end": 197, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 199, "end": 203, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 202, "end": 203, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 202, "end": 203, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 213, "end": 229, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 213, "end": 215, "ctxt": 0 }, "value": "a3", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 215, "end": 228, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 217, "end": 228, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 218, "end": 222, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 219, "end": 222, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 221, "end": 222, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 221, "end": 222, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 224, "end": 228, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 227, "end": 228, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 227, "end": 228, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 238, "end": 261, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 238, "end": 240, "ctxt": 0 }, "value": "a4", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 240, "end": 260, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 242, "end": 260, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 243, "end": 247, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 244, "end": 247, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 246, "end": 247, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 246, "end": 247, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 249, "end": 254, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 251, "end": 254, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 253, "end": 254, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 253, "end": 254, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 256, "end": 260, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 259, "end": 260, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 259, "end": 260, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 270, "end": 294, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 270, "end": 272, "ctxt": 0 }, "value": "a5", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 272, "end": 293, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 274, "end": 293, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 275, "end": 280, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 277, "end": 280, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 279, "end": 280, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 279, "end": 280, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 282, "end": 287, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 284, "end": 287, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 286, "end": 287, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 286, "end": 287, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 289, "end": 293, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 292, "end": 293, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 292, "end": 293, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 304, "end": 1595, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 304, "end": 308, "ctxt": 0 }, "value": "init", "optional": false }, "value": { "type": "ArrowFunctionExpression", "span": { "start": 311, "end": 1595, "ctxt": 0 }, "params": [], "body": { "type": "BlockStatement", "span": { "start": 317, "end": 1595, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 331, "end": 351, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 331, "end": 350, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 331, "end": 337, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 331, "end": 335, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 336, "end": 337, "ctxt": 0 }, "value": "a", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 340, "end": 350, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 346, "end": 350, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 397, "end": 422, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 397, "end": 421, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 397, "end": 403, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 397, "end": 401, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 402, "end": 403, "ctxt": 0 }, "value": "a", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 406, "end": 421, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 407, "end": 412, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 409, "end": 412, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 411, "end": 412, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 411, "end": 412, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 417, "end": 421, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 468, "end": 492, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 468, "end": 491, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 468, "end": 474, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 468, "end": 472, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 473, "end": 474, "ctxt": 0 }, "value": "a", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 477, "end": 491, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 478, "end": 482, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 479, "end": 482, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 481, "end": 482, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 481, "end": 482, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 487, "end": 491, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 541, "end": 562, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 541, "end": 561, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 541, "end": 548, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 541, "end": 545, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 546, "end": 548, "ctxt": 0 }, "value": "a2", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 551, "end": 561, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 557, "end": 561, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 608, "end": 634, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 608, "end": 633, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 608, "end": 615, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 608, "end": 612, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 613, "end": 615, "ctxt": 0 }, "value": "a2", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 618, "end": 633, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 619, "end": 624, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 621, "end": 624, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 623, "end": 624, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 623, "end": 624, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 629, "end": 633, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 680, "end": 705, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 680, "end": 704, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 680, "end": 687, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 680, "end": 684, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 685, "end": 687, "ctxt": 0 }, "value": "a2", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 690, "end": 704, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 691, "end": 695, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 692, "end": 695, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 694, "end": 695, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 694, "end": 695, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 700, "end": 704, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 748, "end": 769, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 748, "end": 768, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 748, "end": 755, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 748, "end": 752, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 753, "end": 755, "ctxt": 0 }, "value": "a3", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 758, "end": 768, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 764, "end": 768, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 811, "end": 837, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 811, "end": 836, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 811, "end": 818, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 811, "end": 815, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 816, "end": 818, "ctxt": 0 }, "value": "a3", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 821, "end": 836, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 822, "end": 827, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 824, "end": 827, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 826, "end": 827, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 826, "end": 827, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 832, "end": 836, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 879, "end": 904, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 879, "end": 903, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 879, "end": 886, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 879, "end": 883, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 884, "end": 886, "ctxt": 0 }, "value": "a3", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 889, "end": 903, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 890, "end": 894, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 891, "end": 894, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 893, "end": 894, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 893, "end": 894, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 899, "end": 903, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 950, "end": 981, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 950, "end": 980, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 950, "end": 957, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 950, "end": 954, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 955, "end": 957, "ctxt": 0 }, "value": "a3", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 960, "end": 980, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 961, "end": 965, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 962, "end": 965, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 964, "end": 965, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 964, "end": 965, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 967, "end": 971, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 968, "end": 971, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 970, "end": 971, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 970, "end": 971, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 976, "end": 980, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 1031, "end": 1052, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1031, "end": 1051, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1031, "end": 1038, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1031, "end": 1035, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1036, "end": 1038, "ctxt": 0 }, "value": "a4", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 1041, "end": 1051, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 1047, "end": 1051, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 1094, "end": 1127, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1094, "end": 1126, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1094, "end": 1101, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1094, "end": 1098, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1099, "end": 1101, "ctxt": 0 }, "value": "a4", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 1104, "end": 1126, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1105, "end": 1110, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1107, "end": 1110, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1109, "end": 1110, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1109, "end": 1110, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1112, "end": 1117, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1114, "end": 1117, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1116, "end": 1117, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1116, "end": 1117, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 1122, "end": 1126, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 1169, "end": 1194, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1169, "end": 1193, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1169, "end": 1176, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1169, "end": 1173, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1174, "end": 1176, "ctxt": 0 }, "value": "a4", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 1179, "end": 1193, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1180, "end": 1184, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1181, "end": 1184, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1183, "end": 1184, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1183, "end": 1184, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 1189, "end": 1193, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 1240, "end": 1271, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1240, "end": 1270, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1240, "end": 1247, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1240, "end": 1244, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1245, "end": 1247, "ctxt": 0 }, "value": "a4", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 1250, "end": 1270, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1251, "end": 1255, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1252, "end": 1255, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1254, "end": 1255, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1254, "end": 1255, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1257, "end": 1261, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1258, "end": 1261, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1260, "end": 1261, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1260, "end": 1261, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 1266, "end": 1270, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 1316, "end": 1337, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1316, "end": 1336, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1316, "end": 1323, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1316, "end": 1320, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1321, "end": 1323, "ctxt": 0 }, "value": "a5", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 1326, "end": 1336, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 1332, "end": 1336, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 1379, "end": 1412, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1379, "end": 1411, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1379, "end": 1386, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1379, "end": 1383, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1384, "end": 1386, "ctxt": 0 }, "value": "a5", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 1389, "end": 1411, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1390, "end": 1395, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1392, "end": 1395, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1394, "end": 1395, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1394, "end": 1395, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1397, "end": 1402, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1399, "end": 1402, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1401, "end": 1402, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1401, "end": 1402, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 1407, "end": 1411, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 1454, "end": 1479, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1454, "end": 1478, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1454, "end": 1461, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1454, "end": 1458, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1459, "end": 1461, "ctxt": 0 }, "value": "a5", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 1464, "end": 1478, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1465, "end": 1469, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1466, "end": 1469, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1468, "end": 1469, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1468, "end": 1469, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 1474, "end": 1478, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 1524, "end": 1555, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1524, "end": 1554, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1524, "end": 1531, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1524, "end": 1528, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1529, "end": 1531, "ctxt": 0 }, "value": "a5", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 1534, "end": 1554, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1535, "end": 1539, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1536, "end": 1539, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1538, "end": 1539, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1538, "end": 1539, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1541, "end": 1545, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1542, "end": 1545, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1544, "end": 1545, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1544, "end": 1545, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 1550, "end": 1554, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } } ] }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "typeAnnotation": null, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 153, "end": 156, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 154, "end": 155, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 154, "end": 155, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "superTypeParams": null, "implements": [] } ] } }, { "type": "TsModuleDeclaration", "span": { "start": 1605, "end": 2603, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 1612, "end": 1636, "ctxt": 0 }, "value": "GenericSignaturesInvalid", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 1637, "end": 2603, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1650, "end": 1655, "ctxt": 0 }, "value": "Base2", "optional": false }, "declare": false, "span": { "start": 1644, "end": 1814, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1666, "end": 1680, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1666, "end": 1667, "ctxt": 0 }, "value": "a", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1667, "end": 1679, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1669, "end": 1679, "ctxt": 0 }, "params": [], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1669, "end": 1672, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1670, "end": 1671, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1670, "end": 1671, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1675, "end": 1679, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1678, "end": 1679, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1678, "end": 1679, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 1689, "end": 1709, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1689, "end": 1691, "ctxt": 0 }, "value": "a2", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1691, "end": 1708, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1693, "end": 1708, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1697, "end": 1702, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1699, "end": 1702, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1701, "end": 1702, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1701, "end": 1702, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1693, "end": 1696, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1694, "end": 1695, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1694, "end": 1695, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1704, "end": 1708, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1707, "end": 1708, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1707, "end": 1708, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 1718, "end": 1737, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1718, "end": 1720, "ctxt": 0 }, "value": "a3", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1720, "end": 1736, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1722, "end": 1736, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1726, "end": 1730, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1727, "end": 1730, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1729, "end": 1730, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1729, "end": 1730, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1722, "end": 1725, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1723, "end": 1724, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1723, "end": 1724, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1732, "end": 1736, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1735, "end": 1736, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1735, "end": 1736, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 1746, "end": 1772, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1746, "end": 1748, "ctxt": 0 }, "value": "a4", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1748, "end": 1771, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1750, "end": 1771, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1754, "end": 1758, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1755, "end": 1758, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1757, "end": 1758, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1757, "end": 1758, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1760, "end": 1765, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1762, "end": 1765, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1764, "end": 1765, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1764, "end": 1765, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1750, "end": 1753, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1751, "end": 1752, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1751, "end": 1752, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1767, "end": 1771, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1770, "end": 1771, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1770, "end": 1771, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 1781, "end": 1808, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1781, "end": 1783, "ctxt": 0 }, "value": "a5", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1783, "end": 1807, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1785, "end": 1807, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1789, "end": 1794, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1791, "end": 1794, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1793, "end": 1794, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1793, "end": 1794, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1796, "end": 1801, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1798, "end": 1801, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1800, "end": 1801, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1800, "end": 1801, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1785, "end": 1788, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1786, "end": 1787, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1786, "end": 1787, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1803, "end": 1807, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1806, "end": 1807, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1806, "end": 1807, "ctxt": 0 }, "value": "T", "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": 1826, "end": 1832, "ctxt": 0 }, "value": "Target", "optional": false }, "declare": false, "span": { "start": 1820, "end": 1979, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1846, "end": 1857, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1846, "end": 1847, "ctxt": 0 }, "value": "a", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1847, "end": 1856, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1849, "end": 1856, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1852, "end": 1856, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1855, "end": 1856, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1855, "end": 1856, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 1866, "end": 1883, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1866, "end": 1868, "ctxt": 0 }, "value": "a2", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1868, "end": 1882, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1870, "end": 1882, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1871, "end": 1876, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1873, "end": 1876, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1875, "end": 1876, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1875, "end": 1876, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1878, "end": 1882, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1881, "end": 1882, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1881, "end": 1882, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 1892, "end": 1908, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1892, "end": 1894, "ctxt": 0 }, "value": "a3", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1894, "end": 1907, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1896, "end": 1907, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1897, "end": 1901, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1898, "end": 1901, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1900, "end": 1901, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1900, "end": 1901, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1903, "end": 1907, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1906, "end": 1907, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1906, "end": 1907, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 1917, "end": 1940, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1917, "end": 1919, "ctxt": 0 }, "value": "a4", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1919, "end": 1939, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1921, "end": 1939, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1922, "end": 1926, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1923, "end": 1926, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1925, "end": 1926, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1925, "end": 1926, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1928, "end": 1933, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1930, "end": 1933, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1932, "end": 1933, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1932, "end": 1933, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1935, "end": 1939, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1938, "end": 1939, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1938, "end": 1939, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 1949, "end": 1973, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1949, "end": 1951, "ctxt": 0 }, "value": "a5", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1951, "end": 1972, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1953, "end": 1972, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1954, "end": 1959, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1956, "end": 1959, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1958, "end": 1959, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1958, "end": 1959, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1961, "end": 1966, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1963, "end": 1966, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1965, "end": 1966, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1965, "end": 1966, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1968, "end": 1972, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1971, "end": 1972, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1971, "end": 1972, "ctxt": 0 }, "value": "T", "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": { "type": "TsTypeParameterDeclaration", "span": { "start": 1832, "end": 1835, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1833, "end": 1834, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1833, "end": 1834, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "superTypeParams": null, "implements": [] }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1995, "end": 1998, "ctxt": 0 }, "value": "foo", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 1986, "end": 2601, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 2004, "end": 2601, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 2014, "end": 2027, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2018, "end": 2026, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2018, "end": 2019, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2019, "end": 2026, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2021, "end": 2026, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2021, "end": 2026, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2036, "end": 2053, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2040, "end": 2052, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2040, "end": 2041, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2041, "end": 2052, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2043, "end": 2052, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2043, "end": 2049, "ctxt": 0 }, "value": "Target", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2049, "end": 2052, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2050, "end": 2051, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2050, "end": 2051, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2085, "end": 2095, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2085, "end": 2094, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2085, "end": 2088, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2085, "end": 2086, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2087, "end": 2088, "ctxt": 0 }, "value": "a", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2091, "end": 2094, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2091, "end": 2092, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2093, "end": 2094, "ctxt": 0 }, "value": "a", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2104, "end": 2115, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2104, "end": 2114, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2104, "end": 2107, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2104, "end": 2105, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2106, "end": 2107, "ctxt": 0 }, "value": "a", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2110, "end": 2114, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2110, "end": 2111, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2112, "end": 2114, "ctxt": 0 }, "value": "a2", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2124, "end": 2135, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2124, "end": 2134, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2124, "end": 2127, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2124, "end": 2125, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2126, "end": 2127, "ctxt": 0 }, "value": "a", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2130, "end": 2134, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2130, "end": 2131, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2132, "end": 2134, "ctxt": 0 }, "value": "a3", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2144, "end": 2155, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2144, "end": 2154, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2144, "end": 2147, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2144, "end": 2145, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2146, "end": 2147, "ctxt": 0 }, "value": "a", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2150, "end": 2154, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2150, "end": 2151, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2152, "end": 2154, "ctxt": 0 }, "value": "a4", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2164, "end": 2175, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2164, "end": 2174, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2164, "end": 2167, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2164, "end": 2165, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2166, "end": 2167, "ctxt": 0 }, "value": "a", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2170, "end": 2174, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2170, "end": 2171, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2172, "end": 2174, "ctxt": 0 }, "value": "a5", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2185, "end": 2196, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2185, "end": 2195, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2185, "end": 2189, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2185, "end": 2186, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2187, "end": 2189, "ctxt": 0 }, "value": "a2", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2192, "end": 2195, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2192, "end": 2193, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2194, "end": 2195, "ctxt": 0 }, "value": "a", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2205, "end": 2217, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2205, "end": 2216, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2205, "end": 2209, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2205, "end": 2206, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2207, "end": 2209, "ctxt": 0 }, "value": "a2", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2212, "end": 2216, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2212, "end": 2213, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2214, "end": 2216, "ctxt": 0 }, "value": "a2", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2226, "end": 2238, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2226, "end": 2237, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2226, "end": 2230, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2226, "end": 2227, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2228, "end": 2230, "ctxt": 0 }, "value": "a2", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2233, "end": 2237, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2233, "end": 2234, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2235, "end": 2237, "ctxt": 0 }, "value": "a3", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2247, "end": 2259, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2247, "end": 2258, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2247, "end": 2251, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2247, "end": 2248, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2249, "end": 2251, "ctxt": 0 }, "value": "a2", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2254, "end": 2258, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2254, "end": 2255, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2256, "end": 2258, "ctxt": 0 }, "value": "a4", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2268, "end": 2280, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2268, "end": 2279, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2268, "end": 2272, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2268, "end": 2269, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2270, "end": 2272, "ctxt": 0 }, "value": "a2", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2275, "end": 2279, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2275, "end": 2276, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2277, "end": 2279, "ctxt": 0 }, "value": "a5", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2290, "end": 2301, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2290, "end": 2300, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2290, "end": 2294, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2290, "end": 2291, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2292, "end": 2294, "ctxt": 0 }, "value": "a3", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2297, "end": 2300, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2297, "end": 2298, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2299, "end": 2300, "ctxt": 0 }, "value": "a", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2310, "end": 2322, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2310, "end": 2321, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2310, "end": 2314, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2310, "end": 2311, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2312, "end": 2314, "ctxt": 0 }, "value": "a3", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2317, "end": 2321, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2317, "end": 2318, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2319, "end": 2321, "ctxt": 0 }, "value": "a2", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2331, "end": 2343, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2331, "end": 2342, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2331, "end": 2335, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2331, "end": 2332, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2333, "end": 2335, "ctxt": 0 }, "value": "a3", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2338, "end": 2342, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2338, "end": 2339, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2340, "end": 2342, "ctxt": 0 }, "value": "a3", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2352, "end": 2364, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2352, "end": 2363, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2352, "end": 2356, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2352, "end": 2353, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2354, "end": 2356, "ctxt": 0 }, "value": "a3", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2359, "end": 2363, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2359, "end": 2360, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2361, "end": 2363, "ctxt": 0 }, "value": "a4", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2373, "end": 2385, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2373, "end": 2384, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2373, "end": 2377, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2373, "end": 2374, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2375, "end": 2377, "ctxt": 0 }, "value": "a3", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2380, "end": 2384, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2380, "end": 2381, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2382, "end": 2384, "ctxt": 0 }, "value": "a5", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2395, "end": 2406, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2395, "end": 2405, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2395, "end": 2399, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2395, "end": 2396, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2397, "end": 2399, "ctxt": 0 }, "value": "a4", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2402, "end": 2405, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2402, "end": 2403, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2404, "end": 2405, "ctxt": 0 }, "value": "a", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2415, "end": 2427, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2415, "end": 2426, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2415, "end": 2419, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2415, "end": 2416, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2417, "end": 2419, "ctxt": 0 }, "value": "a4", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2422, "end": 2426, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2422, "end": 2423, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2424, "end": 2426, "ctxt": 0 }, "value": "a2", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2436, "end": 2448, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2436, "end": 2447, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2436, "end": 2440, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2436, "end": 2437, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2438, "end": 2440, "ctxt": 0 }, "value": "a4", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2443, "end": 2447, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2443, "end": 2444, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2445, "end": 2447, "ctxt": 0 }, "value": "a3", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2457, "end": 2469, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2457, "end": 2468, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2457, "end": 2461, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2457, "end": 2458, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2459, "end": 2461, "ctxt": 0 }, "value": "a4", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2464, "end": 2468, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2464, "end": 2465, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2466, "end": 2468, "ctxt": 0 }, "value": "a4", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2478, "end": 2490, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2478, "end": 2489, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2478, "end": 2482, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2478, "end": 2479, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2480, "end": 2482, "ctxt": 0 }, "value": "a4", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2485, "end": 2489, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2485, "end": 2486, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2487, "end": 2489, "ctxt": 0 }, "value": "a5", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2500, "end": 2511, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2500, "end": 2510, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2500, "end": 2504, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2500, "end": 2501, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2502, "end": 2504, "ctxt": 0 }, "value": "a5", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2507, "end": 2510, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2507, "end": 2508, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2509, "end": 2510, "ctxt": 0 }, "value": "a", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2520, "end": 2532, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2520, "end": 2531, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2520, "end": 2524, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2520, "end": 2521, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2522, "end": 2524, "ctxt": 0 }, "value": "a5", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2527, "end": 2531, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2527, "end": 2528, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2529, "end": 2531, "ctxt": 0 }, "value": "a2", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2541, "end": 2553, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2541, "end": 2552, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2541, "end": 2545, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2541, "end": 2542, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2543, "end": 2545, "ctxt": 0 }, "value": "a5", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2548, "end": 2552, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2548, "end": 2549, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2550, "end": 2552, "ctxt": 0 }, "value": "a3", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2562, "end": 2574, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2562, "end": 2573, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2562, "end": 2566, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2562, "end": 2563, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2564, "end": 2566, "ctxt": 0 }, "value": "a5", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2569, "end": 2573, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2569, "end": 2570, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2571, "end": 2573, "ctxt": 0 }, "value": "a4", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2583, "end": 2595, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2583, "end": 2594, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2583, "end": 2587, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2583, "end": 2584, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2585, "end": 2587, "ctxt": 0 }, "value": "a5", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2590, "end": 2594, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2590, "end": 2591, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2592, "end": 2594, "ctxt": 0 }, "value": "a5", "optional": false } } } } ] }, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 1998, "end": 2001, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1999, "end": 2000, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1999, "end": 2000, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } ] } }, { "type": "TsModuleDeclaration", "span": { "start": 2605, "end": 4169, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 2612, "end": 2634, "ctxt": 0 }, "value": "GenericSignaturesValid", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 2635, "end": 4169, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 2648, "end": 2653, "ctxt": 0 }, "value": "Base2", "optional": false }, "declare": false, "span": { "start": 2642, "end": 4167, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 2664, "end": 2678, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 2664, "end": 2665, "ctxt": 0 }, "value": "a", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2665, "end": 2677, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2667, "end": 2677, "ctxt": 0 }, "params": [], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2667, "end": 2670, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2668, "end": 2669, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2668, "end": 2669, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2673, "end": 2677, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2676, "end": 2677, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2676, "end": 2677, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 2687, "end": 2707, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 2687, "end": 2689, "ctxt": 0 }, "value": "a2", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2689, "end": 2706, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2691, "end": 2706, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2695, "end": 2700, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2697, "end": 2700, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2699, "end": 2700, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2699, "end": 2700, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2691, "end": 2694, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2692, "end": 2693, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2692, "end": 2693, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2702, "end": 2706, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2705, "end": 2706, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2705, "end": 2706, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 2716, "end": 2735, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 2716, "end": 2718, "ctxt": 0 }, "value": "a3", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2718, "end": 2734, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2720, "end": 2734, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2724, "end": 2728, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2725, "end": 2728, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2727, "end": 2728, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2727, "end": 2728, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2720, "end": 2723, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2721, "end": 2722, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2721, "end": 2722, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2730, "end": 2734, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2733, "end": 2734, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2733, "end": 2734, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 2744, "end": 2770, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 2744, "end": 2746, "ctxt": 0 }, "value": "a4", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2746, "end": 2769, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2748, "end": 2769, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2752, "end": 2756, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2753, "end": 2756, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2755, "end": 2756, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2755, "end": 2756, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 2758, "end": 2763, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2760, "end": 2763, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2762, "end": 2763, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2762, "end": 2763, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2748, "end": 2751, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2749, "end": 2750, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2749, "end": 2750, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2765, "end": 2769, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2768, "end": 2769, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2768, "end": 2769, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 2779, "end": 2806, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 2779, "end": 2781, "ctxt": 0 }, "value": "a5", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2781, "end": 2805, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2783, "end": 2805, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2787, "end": 2792, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2789, "end": 2792, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2791, "end": 2792, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2791, "end": 2792, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 2794, "end": 2799, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2796, "end": 2799, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2798, "end": 2799, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2798, "end": 2799, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2783, "end": 2786, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2784, "end": 2785, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2784, "end": 2785, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2801, "end": 2805, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2804, "end": 2805, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2804, "end": 2805, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 2816, "end": 4161, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 2816, "end": 2820, "ctxt": 0 }, "value": "init", "optional": false }, "value": { "type": "ArrowFunctionExpression", "span": { "start": 2823, "end": 4161, "ctxt": 0 }, "params": [], "body": { "type": "BlockStatement", "span": { "start": 2829, "end": 4161, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 2843, "end": 2866, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2843, "end": 2865, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2843, "end": 2849, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 2843, "end": 2847, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 2848, "end": 2849, "ctxt": 0 }, "value": "a", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 2852, "end": 2865, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 2861, "end": 2865, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 2852, "end": 2855, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2853, "end": 2854, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2853, "end": 2854, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 2912, "end": 2940, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2912, "end": 2939, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2912, "end": 2918, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 2912, "end": 2916, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 2917, "end": 2918, "ctxt": 0 }, "value": "a", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 2921, "end": 2939, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2925, "end": 2930, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2927, "end": 2930, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2929, "end": 2930, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2929, "end": 2930, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 2935, "end": 2939, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 2921, "end": 2924, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2922, "end": 2923, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2922, "end": 2923, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 2986, "end": 3013, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2986, "end": 3012, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2986, "end": 2992, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 2986, "end": 2990, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 2991, "end": 2992, "ctxt": 0 }, "value": "a", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 2995, "end": 3012, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2999, "end": 3003, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3000, "end": 3003, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3002, "end": 3003, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3002, "end": 3003, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 3008, "end": 3012, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 2995, "end": 2998, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2996, "end": 2997, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2996, "end": 2997, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 3062, "end": 3086, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3062, "end": 3085, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3062, "end": 3069, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3062, "end": 3066, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3067, "end": 3069, "ctxt": 0 }, "value": "a2", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 3072, "end": 3085, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 3081, "end": 3085, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3072, "end": 3075, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3073, "end": 3074, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3073, "end": 3074, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 3132, "end": 3161, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3132, "end": 3160, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3132, "end": 3139, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3132, "end": 3136, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3137, "end": 3139, "ctxt": 0 }, "value": "a2", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 3142, "end": 3160, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3146, "end": 3151, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3148, "end": 3151, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3150, "end": 3151, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3150, "end": 3151, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 3156, "end": 3160, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3142, "end": 3145, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3143, "end": 3144, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3143, "end": 3144, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 3207, "end": 3235, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3207, "end": 3234, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3207, "end": 3214, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3207, "end": 3211, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3212, "end": 3214, "ctxt": 0 }, "value": "a2", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 3217, "end": 3234, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3221, "end": 3225, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3222, "end": 3225, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3224, "end": 3225, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3224, "end": 3225, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 3230, "end": 3234, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3217, "end": 3220, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3218, "end": 3219, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3218, "end": 3219, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 3278, "end": 3302, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3278, "end": 3301, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3278, "end": 3285, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3278, "end": 3282, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3283, "end": 3285, "ctxt": 0 }, "value": "a3", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 3288, "end": 3301, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 3297, "end": 3301, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3288, "end": 3291, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3289, "end": 3290, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3289, "end": 3290, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 3344, "end": 3373, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3344, "end": 3372, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3344, "end": 3351, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3344, "end": 3348, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3349, "end": 3351, "ctxt": 0 }, "value": "a3", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 3354, "end": 3372, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3358, "end": 3363, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3360, "end": 3363, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3362, "end": 3363, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3362, "end": 3363, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 3368, "end": 3372, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3354, "end": 3357, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3355, "end": 3356, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3355, "end": 3356, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 3415, "end": 3443, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3415, "end": 3442, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3415, "end": 3422, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3415, "end": 3419, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3420, "end": 3422, "ctxt": 0 }, "value": "a3", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 3425, "end": 3442, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3429, "end": 3433, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3430, "end": 3433, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3432, "end": 3433, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3432, "end": 3433, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 3438, "end": 3442, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3425, "end": 3428, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3426, "end": 3427, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3426, "end": 3427, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 3489, "end": 3523, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3489, "end": 3522, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3489, "end": 3496, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3489, "end": 3493, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3494, "end": 3496, "ctxt": 0 }, "value": "a3", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 3499, "end": 3522, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3503, "end": 3507, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3504, "end": 3507, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3506, "end": 3507, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3506, "end": 3507, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 3509, "end": 3513, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3510, "end": 3513, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3512, "end": 3513, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3512, "end": 3513, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 3518, "end": 3522, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3499, "end": 3502, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3500, "end": 3501, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3500, "end": 3501, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 3573, "end": 3597, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3573, "end": 3596, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3573, "end": 3580, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3573, "end": 3577, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3578, "end": 3580, "ctxt": 0 }, "value": "a4", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 3583, "end": 3596, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 3592, "end": 3596, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3583, "end": 3586, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3584, "end": 3585, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3584, "end": 3585, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 3639, "end": 3675, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3639, "end": 3674, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3639, "end": 3646, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3639, "end": 3643, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3644, "end": 3646, "ctxt": 0 }, "value": "a4", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 3649, "end": 3674, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3653, "end": 3658, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3655, "end": 3658, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3657, "end": 3658, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3657, "end": 3658, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 3660, "end": 3665, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3662, "end": 3665, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3664, "end": 3665, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3664, "end": 3665, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 3670, "end": 3674, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3649, "end": 3652, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3650, "end": 3651, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3650, "end": 3651, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 3717, "end": 3745, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3717, "end": 3744, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3717, "end": 3724, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3717, "end": 3721, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3722, "end": 3724, "ctxt": 0 }, "value": "a4", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 3727, "end": 3744, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3731, "end": 3735, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3732, "end": 3735, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3734, "end": 3735, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3734, "end": 3735, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 3740, "end": 3744, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3727, "end": 3730, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3728, "end": 3729, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3728, "end": 3729, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 3791, "end": 3825, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3791, "end": 3824, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3791, "end": 3798, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3791, "end": 3795, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3796, "end": 3798, "ctxt": 0 }, "value": "a4", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 3801, "end": 3824, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3805, "end": 3809, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3806, "end": 3809, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3808, "end": 3809, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3808, "end": 3809, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 3811, "end": 3815, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3812, "end": 3815, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3814, "end": 3815, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3814, "end": 3815, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 3820, "end": 3824, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3801, "end": 3804, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3802, "end": 3803, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3802, "end": 3803, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 3870, "end": 3894, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3870, "end": 3893, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3870, "end": 3877, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3870, "end": 3874, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3875, "end": 3877, "ctxt": 0 }, "value": "a5", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 3880, "end": 3893, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 3889, "end": 3893, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3880, "end": 3883, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3881, "end": 3882, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3881, "end": 3882, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 3936, "end": 3972, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3936, "end": 3971, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3936, "end": 3943, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3936, "end": 3940, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3941, "end": 3943, "ctxt": 0 }, "value": "a5", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 3946, "end": 3971, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3950, "end": 3955, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3952, "end": 3955, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3954, "end": 3955, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3954, "end": 3955, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 3957, "end": 3962, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3959, "end": 3962, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3961, "end": 3962, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3961, "end": 3962, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 3967, "end": 3971, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3946, "end": 3949, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3947, "end": 3948, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3947, "end": 3948, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 4014, "end": 4042, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 4014, "end": 4041, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 4014, "end": 4021, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 4014, "end": 4018, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 4019, "end": 4021, "ctxt": 0 }, "value": "a5", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 4024, "end": 4041, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 4028, "end": 4032, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4029, "end": 4032, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4031, "end": 4032, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4031, "end": 4032, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 4037, "end": 4041, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 4024, "end": 4027, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 4025, "end": 4026, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4025, "end": 4026, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 4087, "end": 4121, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 4087, "end": 4120, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 4087, "end": 4094, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 4087, "end": 4091, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 4092, "end": 4094, "ctxt": 0 }, "value": "a5", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 4097, "end": 4120, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 4101, "end": 4105, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4102, "end": 4105, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4104, "end": 4105, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4104, "end": 4105, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 4107, "end": 4111, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4108, "end": 4111, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4110, "end": 4111, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4110, "end": 4111, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 4116, "end": 4120, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 4097, "end": 4100, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 4098, "end": 4099, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4098, "end": 4099, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } } ] }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "typeAnnotation": 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": [] } ] } } ], "interpreter": null }