{ "type": "Script", "span": { "start": 114, "end": 4168, "ctxt": 0 }, "body": [ { "type": "TsModuleDeclaration", "span": { "start": 114, "end": 1602, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 121, "end": 135, "ctxt": 0 }, "value": "ClassTypeParam", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 136, "end": 1602, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 148, "end": 152, "ctxt": 0 }, "value": "Base", "optional": false }, "declare": false, "span": { "start": 142, "end": 1600, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 166, "end": 177, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 166, "end": 167, "ctxt": 0 }, "value": "a", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 167, "end": 176, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 169, "end": 176, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 172, "end": 176, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 175, "end": 176, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 175, "end": 176, "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": 186, "end": 203, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 186, "end": 188, "ctxt": 0 }, "value": "a2", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 188, "end": 202, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 190, "end": 202, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 191, "end": 196, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 193, "end": 196, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 195, "end": 196, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 195, "end": 196, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 198, "end": 202, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 201, "end": 202, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 201, "end": 202, "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": 212, "end": 228, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 212, "end": 214, "ctxt": 0 }, "value": "a3", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 214, "end": 227, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 216, "end": 227, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 217, "end": 221, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 218, "end": 221, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 220, "end": 221, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 220, "end": 221, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 223, "end": 227, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 226, "end": 227, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 226, "end": 227, "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": 237, "end": 260, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 237, "end": 239, "ctxt": 0 }, "value": "a4", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 239, "end": 259, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 241, "end": 259, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 242, "end": 246, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 243, "end": 246, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 245, "end": 246, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 245, "end": 246, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 248, "end": 253, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 250, "end": 253, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 252, "end": 253, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 252, "end": 253, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 255, "end": 259, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 258, "end": 259, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 258, "end": 259, "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": 269, "end": 293, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 269, "end": 271, "ctxt": 0 }, "value": "a5", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 271, "end": 292, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 273, "end": 292, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 274, "end": 279, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 276, "end": 279, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 278, "end": 279, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 278, "end": 279, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 281, "end": 286, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 283, "end": 286, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 285, "end": 286, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 285, "end": 286, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 288, "end": 292, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 291, "end": 292, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 291, "end": 292, "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": 303, "end": 1594, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 303, "end": 307, "ctxt": 0 }, "value": "init", "optional": false }, "value": { "type": "ArrowFunctionExpression", "span": { "start": 310, "end": 1594, "ctxt": 0 }, "params": [], "body": { "type": "BlockStatement", "span": { "start": 316, "end": 1594, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 330, "end": 350, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 330, "end": 349, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 330, "end": 336, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 330, "end": 334, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 335, "end": 336, "ctxt": 0 }, "value": "a", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 339, "end": 349, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 345, "end": 349, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 396, "end": 421, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 396, "end": 420, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 396, "end": 402, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 396, "end": 400, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 401, "end": 402, "ctxt": 0 }, "value": "a", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 405, "end": 420, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 406, "end": 411, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 408, "end": 411, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 410, "end": 411, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 410, "end": 411, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 416, "end": 420, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 467, "end": 491, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 467, "end": 490, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 467, "end": 473, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 467, "end": 471, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 472, "end": 473, "ctxt": 0 }, "value": "a", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 476, "end": 490, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 477, "end": 481, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 478, "end": 481, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 480, "end": 481, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 480, "end": 481, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 486, "end": 490, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 540, "end": 561, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 540, "end": 560, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 540, "end": 547, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 540, "end": 544, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 545, "end": 547, "ctxt": 0 }, "value": "a2", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 550, "end": 560, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 556, "end": 560, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 607, "end": 633, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 607, "end": 632, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 607, "end": 614, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 607, "end": 611, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 612, "end": 614, "ctxt": 0 }, "value": "a2", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 617, "end": 632, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 618, "end": 623, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 620, "end": 623, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 622, "end": 623, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 622, "end": 623, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 628, "end": 632, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 679, "end": 704, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 679, "end": 703, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 679, "end": 686, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 679, "end": 683, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 684, "end": 686, "ctxt": 0 }, "value": "a2", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 689, "end": 703, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 690, "end": 694, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 691, "end": 694, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 693, "end": 694, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 693, "end": 694, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 699, "end": 703, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 747, "end": 768, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 747, "end": 767, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 747, "end": 754, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 747, "end": 751, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 752, "end": 754, "ctxt": 0 }, "value": "a3", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 757, "end": 767, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 763, "end": 767, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 810, "end": 836, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 810, "end": 835, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 810, "end": 817, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 810, "end": 814, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 815, "end": 817, "ctxt": 0 }, "value": "a3", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 820, "end": 835, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 821, "end": 826, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 823, "end": 826, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 825, "end": 826, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 825, "end": 826, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 831, "end": 835, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 878, "end": 903, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 878, "end": 902, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 878, "end": 885, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 878, "end": 882, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 883, "end": 885, "ctxt": 0 }, "value": "a3", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 888, "end": 902, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 889, "end": 893, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 890, "end": 893, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 892, "end": 893, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 892, "end": 893, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 898, "end": 902, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 949, "end": 980, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 949, "end": 979, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 949, "end": 956, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 949, "end": 953, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 954, "end": 956, "ctxt": 0 }, "value": "a3", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 959, "end": 979, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 960, "end": 964, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 961, "end": 964, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 963, "end": 964, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 963, "end": 964, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 966, "end": 970, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 967, "end": 970, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 969, "end": 970, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 969, "end": 970, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 975, "end": 979, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 1030, "end": 1051, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1030, "end": 1050, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1030, "end": 1037, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1030, "end": 1034, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1035, "end": 1037, "ctxt": 0 }, "value": "a4", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 1040, "end": 1050, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 1046, "end": 1050, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 1093, "end": 1126, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1093, "end": 1125, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1093, "end": 1100, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1093, "end": 1097, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1098, "end": 1100, "ctxt": 0 }, "value": "a4", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 1103, "end": 1125, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1104, "end": 1109, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1106, "end": 1109, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1108, "end": 1109, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1108, "end": 1109, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1111, "end": 1116, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1113, "end": 1116, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1115, "end": 1116, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1115, "end": 1116, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 1121, "end": 1125, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 1168, "end": 1193, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1168, "end": 1192, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1168, "end": 1175, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1168, "end": 1172, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1173, "end": 1175, "ctxt": 0 }, "value": "a4", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 1178, "end": 1192, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1179, "end": 1183, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1180, "end": 1183, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1182, "end": 1183, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1182, "end": 1183, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 1188, "end": 1192, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 1239, "end": 1270, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1239, "end": 1269, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1239, "end": 1246, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1239, "end": 1243, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1244, "end": 1246, "ctxt": 0 }, "value": "a4", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 1249, "end": 1269, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1250, "end": 1254, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1251, "end": 1254, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1253, "end": 1254, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1253, "end": 1254, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1256, "end": 1260, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1257, "end": 1260, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1259, "end": 1260, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1259, "end": 1260, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 1265, "end": 1269, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 1315, "end": 1336, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1315, "end": 1335, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1315, "end": 1322, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1315, "end": 1319, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1320, "end": 1322, "ctxt": 0 }, "value": "a5", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 1325, "end": 1335, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 1331, "end": 1335, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 1378, "end": 1411, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1378, "end": 1410, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1378, "end": 1385, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1378, "end": 1382, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1383, "end": 1385, "ctxt": 0 }, "value": "a5", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 1388, "end": 1410, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1389, "end": 1394, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1391, "end": 1394, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1393, "end": 1394, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1393, "end": 1394, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1396, "end": 1401, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1398, "end": 1401, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1400, "end": 1401, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1400, "end": 1401, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 1406, "end": 1410, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 1453, "end": 1478, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1453, "end": 1477, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1453, "end": 1460, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1453, "end": 1457, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1458, "end": 1460, "ctxt": 0 }, "value": "a5", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 1463, "end": 1477, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1464, "end": 1468, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1465, "end": 1468, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1467, "end": 1468, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1467, "end": 1468, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 1473, "end": 1477, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 1523, "end": 1554, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1523, "end": 1553, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1523, "end": 1530, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1523, "end": 1527, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1528, "end": 1530, "ctxt": 0 }, "value": "a5", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 1533, "end": 1553, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1534, "end": 1538, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1535, "end": 1538, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1537, "end": 1538, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1537, "end": 1538, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1540, "end": 1544, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1541, "end": 1544, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1543, "end": 1544, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1543, "end": 1544, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 1549, "end": 1553, "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": 152, "end": 155, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 153, "end": 154, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 153, "end": 154, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "superTypeParams": null, "implements": [] } ] } }, { "type": "TsModuleDeclaration", "span": { "start": 1604, "end": 2602, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 1611, "end": 1635, "ctxt": 0 }, "value": "GenericSignaturesInvalid", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 1636, "end": 2602, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1649, "end": 1654, "ctxt": 0 }, "value": "Base2", "optional": false }, "declare": false, "span": { "start": 1643, "end": 1813, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1665, "end": 1679, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1665, "end": 1666, "ctxt": 0 }, "value": "a", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1666, "end": 1678, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1668, "end": 1678, "ctxt": 0 }, "params": [], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1668, "end": 1671, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1669, "end": 1670, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1669, "end": 1670, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1674, "end": 1678, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1677, "end": 1678, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1677, "end": 1678, "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": 1688, "end": 1708, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1688, "end": 1690, "ctxt": 0 }, "value": "a2", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1690, "end": 1707, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1692, "end": 1707, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1696, "end": 1701, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1698, "end": 1701, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1700, "end": 1701, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1700, "end": 1701, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1692, "end": 1695, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1693, "end": 1694, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1693, "end": 1694, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1703, "end": 1707, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1706, "end": 1707, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1706, "end": 1707, "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": 1717, "end": 1736, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1717, "end": 1719, "ctxt": 0 }, "value": "a3", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1719, "end": 1735, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1721, "end": 1735, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1725, "end": 1729, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1726, "end": 1729, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1728, "end": 1729, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1728, "end": 1729, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1721, "end": 1724, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1722, "end": 1723, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1722, "end": 1723, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1731, "end": 1735, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1734, "end": 1735, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1734, "end": 1735, "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": 1745, "end": 1771, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1745, "end": 1747, "ctxt": 0 }, "value": "a4", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1747, "end": 1770, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1749, "end": 1770, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1753, "end": 1757, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1754, "end": 1757, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1756, "end": 1757, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1756, "end": 1757, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1759, "end": 1764, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1761, "end": 1764, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1763, "end": 1764, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1763, "end": 1764, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1749, "end": 1752, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1750, "end": 1751, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1750, "end": 1751, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1766, "end": 1770, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1769, "end": 1770, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1769, "end": 1770, "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": 1780, "end": 1807, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1780, "end": 1782, "ctxt": 0 }, "value": "a5", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1782, "end": 1806, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1784, "end": 1806, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1788, "end": 1793, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1790, "end": 1793, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1792, "end": 1793, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1792, "end": 1793, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1795, "end": 1800, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1797, "end": 1800, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1799, "end": 1800, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1799, "end": 1800, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1784, "end": 1787, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1785, "end": 1786, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1785, "end": 1786, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1802, "end": 1806, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1805, "end": 1806, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1805, "end": 1806, "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": 1825, "end": 1831, "ctxt": 0 }, "value": "Target", "optional": false }, "declare": false, "span": { "start": 1819, "end": 1978, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1845, "end": 1856, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1845, "end": 1846, "ctxt": 0 }, "value": "a", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1846, "end": 1855, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1848, "end": 1855, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1851, "end": 1855, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1854, "end": 1855, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1854, "end": 1855, "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": 1865, "end": 1882, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1865, "end": 1867, "ctxt": 0 }, "value": "a2", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1867, "end": 1881, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1869, "end": 1881, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1870, "end": 1875, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1872, "end": 1875, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1874, "end": 1875, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1874, "end": 1875, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1877, "end": 1881, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1880, "end": 1881, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1880, "end": 1881, "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": 1891, "end": 1907, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1891, "end": 1893, "ctxt": 0 }, "value": "a3", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1893, "end": 1906, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1895, "end": 1906, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1896, "end": 1900, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1897, "end": 1900, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1899, "end": 1900, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1899, "end": 1900, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1902, "end": 1906, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1905, "end": 1906, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1905, "end": 1906, "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": 1916, "end": 1939, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1916, "end": 1918, "ctxt": 0 }, "value": "a4", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1918, "end": 1938, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1920, "end": 1938, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1921, "end": 1925, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1922, "end": 1925, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1924, "end": 1925, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1924, "end": 1925, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1927, "end": 1932, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1929, "end": 1932, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1931, "end": 1932, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1931, "end": 1932, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1934, "end": 1938, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1937, "end": 1938, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1937, "end": 1938, "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": 1948, "end": 1972, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1948, "end": 1950, "ctxt": 0 }, "value": "a5", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1950, "end": 1971, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1952, "end": 1971, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1953, "end": 1958, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1955, "end": 1958, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1957, "end": 1958, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1957, "end": 1958, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1960, "end": 1965, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1962, "end": 1965, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1964, "end": 1965, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1964, "end": 1965, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1967, "end": 1971, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1970, "end": 1971, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1970, "end": 1971, "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": 1831, "end": 1834, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1832, "end": 1833, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1832, "end": 1833, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "superTypeParams": null, "implements": [] }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1994, "end": 1997, "ctxt": 0 }, "value": "foo", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 1985, "end": 2600, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 2003, "end": 2600, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 2013, "end": 2026, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2017, "end": 2025, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2017, "end": 2018, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2018, "end": 2025, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2020, "end": 2025, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2020, "end": 2025, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2035, "end": 2052, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2039, "end": 2051, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2039, "end": 2040, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2040, "end": 2051, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2042, "end": 2051, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2042, "end": 2048, "ctxt": 0 }, "value": "Target", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2048, "end": 2051, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2049, "end": 2050, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2049, "end": 2050, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2084, "end": 2094, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2084, "end": 2093, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2084, "end": 2087, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2084, "end": 2085, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2086, "end": 2087, "ctxt": 0 }, "value": "a", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2090, "end": 2093, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2090, "end": 2091, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2092, "end": 2093, "ctxt": 0 }, "value": "a", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2103, "end": 2114, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2103, "end": 2113, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2103, "end": 2106, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2103, "end": 2104, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2105, "end": 2106, "ctxt": 0 }, "value": "a", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2109, "end": 2113, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2109, "end": 2110, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2111, "end": 2113, "ctxt": 0 }, "value": "a2", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2123, "end": 2134, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2123, "end": 2133, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2123, "end": 2126, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2123, "end": 2124, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2125, "end": 2126, "ctxt": 0 }, "value": "a", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2129, "end": 2133, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2129, "end": 2130, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2131, "end": 2133, "ctxt": 0 }, "value": "a3", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2143, "end": 2154, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2143, "end": 2153, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2143, "end": 2146, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2143, "end": 2144, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2145, "end": 2146, "ctxt": 0 }, "value": "a", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2149, "end": 2153, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2149, "end": 2150, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2151, "end": 2153, "ctxt": 0 }, "value": "a4", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2163, "end": 2174, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2163, "end": 2173, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2163, "end": 2166, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2163, "end": 2164, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2165, "end": 2166, "ctxt": 0 }, "value": "a", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2169, "end": 2173, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2169, "end": 2170, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2171, "end": 2173, "ctxt": 0 }, "value": "a5", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2184, "end": 2195, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2184, "end": 2194, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2184, "end": 2188, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2184, "end": 2185, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2186, "end": 2188, "ctxt": 0 }, "value": "a2", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2191, "end": 2194, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2191, "end": 2192, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2193, "end": 2194, "ctxt": 0 }, "value": "a", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2204, "end": 2216, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2204, "end": 2215, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2204, "end": 2208, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2204, "end": 2205, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2206, "end": 2208, "ctxt": 0 }, "value": "a2", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2211, "end": 2215, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2211, "end": 2212, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2213, "end": 2215, "ctxt": 0 }, "value": "a2", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2225, "end": 2237, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2225, "end": 2236, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2225, "end": 2229, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2225, "end": 2226, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2227, "end": 2229, "ctxt": 0 }, "value": "a2", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2232, "end": 2236, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2232, "end": 2233, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2234, "end": 2236, "ctxt": 0 }, "value": "a3", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2246, "end": 2258, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2246, "end": 2257, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2246, "end": 2250, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2246, "end": 2247, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2248, "end": 2250, "ctxt": 0 }, "value": "a2", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2253, "end": 2257, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2253, "end": 2254, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2255, "end": 2257, "ctxt": 0 }, "value": "a4", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2267, "end": 2279, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2267, "end": 2278, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2267, "end": 2271, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2267, "end": 2268, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2269, "end": 2271, "ctxt": 0 }, "value": "a2", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2274, "end": 2278, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2274, "end": 2275, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2276, "end": 2278, "ctxt": 0 }, "value": "a5", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2289, "end": 2300, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2289, "end": 2299, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2289, "end": 2293, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2289, "end": 2290, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2291, "end": 2293, "ctxt": 0 }, "value": "a3", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2296, "end": 2299, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2296, "end": 2297, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2298, "end": 2299, "ctxt": 0 }, "value": "a", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2309, "end": 2321, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2309, "end": 2320, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2309, "end": 2313, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2309, "end": 2310, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2311, "end": 2313, "ctxt": 0 }, "value": "a3", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2316, "end": 2320, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2316, "end": 2317, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2318, "end": 2320, "ctxt": 0 }, "value": "a2", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2330, "end": 2342, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2330, "end": 2341, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2330, "end": 2334, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2330, "end": 2331, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2332, "end": 2334, "ctxt": 0 }, "value": "a3", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2337, "end": 2341, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2337, "end": 2338, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2339, "end": 2341, "ctxt": 0 }, "value": "a3", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2351, "end": 2363, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2351, "end": 2362, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2351, "end": 2355, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2351, "end": 2352, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2353, "end": 2355, "ctxt": 0 }, "value": "a3", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2358, "end": 2362, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2358, "end": 2359, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2360, "end": 2362, "ctxt": 0 }, "value": "a4", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2372, "end": 2384, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2372, "end": 2383, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2372, "end": 2376, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2372, "end": 2373, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2374, "end": 2376, "ctxt": 0 }, "value": "a3", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2379, "end": 2383, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2379, "end": 2380, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2381, "end": 2383, "ctxt": 0 }, "value": "a5", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2394, "end": 2405, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2394, "end": 2404, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2394, "end": 2398, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2394, "end": 2395, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2396, "end": 2398, "ctxt": 0 }, "value": "a4", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2401, "end": 2404, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2401, "end": 2402, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2403, "end": 2404, "ctxt": 0 }, "value": "a", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2414, "end": 2426, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2414, "end": 2425, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2414, "end": 2418, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2414, "end": 2415, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2416, "end": 2418, "ctxt": 0 }, "value": "a4", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2421, "end": 2425, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2421, "end": 2422, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2423, "end": 2425, "ctxt": 0 }, "value": "a2", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2435, "end": 2447, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2435, "end": 2446, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2435, "end": 2439, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2435, "end": 2436, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2437, "end": 2439, "ctxt": 0 }, "value": "a4", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2442, "end": 2446, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2442, "end": 2443, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2444, "end": 2446, "ctxt": 0 }, "value": "a3", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2456, "end": 2468, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2456, "end": 2467, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2456, "end": 2460, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2456, "end": 2457, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2458, "end": 2460, "ctxt": 0 }, "value": "a4", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2463, "end": 2467, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2463, "end": 2464, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2465, "end": 2467, "ctxt": 0 }, "value": "a4", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2477, "end": 2489, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2477, "end": 2488, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2477, "end": 2481, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2477, "end": 2478, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2479, "end": 2481, "ctxt": 0 }, "value": "a4", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2484, "end": 2488, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2484, "end": 2485, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2486, "end": 2488, "ctxt": 0 }, "value": "a5", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2499, "end": 2510, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2499, "end": 2509, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2499, "end": 2503, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2499, "end": 2500, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2501, "end": 2503, "ctxt": 0 }, "value": "a5", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2506, "end": 2509, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2506, "end": 2507, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2508, "end": 2509, "ctxt": 0 }, "value": "a", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2519, "end": 2531, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2519, "end": 2530, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2519, "end": 2523, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2519, "end": 2520, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2521, "end": 2523, "ctxt": 0 }, "value": "a5", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2526, "end": 2530, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2526, "end": 2527, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2528, "end": 2530, "ctxt": 0 }, "value": "a2", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2540, "end": 2552, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2540, "end": 2551, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2540, "end": 2544, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2540, "end": 2541, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2542, "end": 2544, "ctxt": 0 }, "value": "a5", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2547, "end": 2551, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2547, "end": 2548, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2549, "end": 2551, "ctxt": 0 }, "value": "a3", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2561, "end": 2573, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2561, "end": 2572, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2561, "end": 2565, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2561, "end": 2562, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2563, "end": 2565, "ctxt": 0 }, "value": "a5", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2568, "end": 2572, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2568, "end": 2569, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2570, "end": 2572, "ctxt": 0 }, "value": "a4", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 2582, "end": 2594, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2582, "end": 2593, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2582, "end": 2586, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2582, "end": 2583, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2584, "end": 2586, "ctxt": 0 }, "value": "a5", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2589, "end": 2593, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2589, "end": 2590, "ctxt": 0 }, "value": "t", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2591, "end": 2593, "ctxt": 0 }, "value": "a5", "optional": false } } } } ] }, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 1997, "end": 2000, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1998, "end": 1999, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1998, "end": 1999, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } ] } }, { "type": "TsModuleDeclaration", "span": { "start": 2604, "end": 4168, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 2611, "end": 2633, "ctxt": 0 }, "value": "GenericSignaturesValid", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 2634, "end": 4168, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 2647, "end": 2652, "ctxt": 0 }, "value": "Base2", "optional": false }, "declare": false, "span": { "start": 2641, "end": 4166, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 2663, "end": 2677, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 2663, "end": 2664, "ctxt": 0 }, "value": "a", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2664, "end": 2676, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2666, "end": 2676, "ctxt": 0 }, "params": [], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2666, "end": 2669, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2667, "end": 2668, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2667, "end": 2668, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2672, "end": 2676, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2675, "end": 2676, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2675, "end": 2676, "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": 2686, "end": 2706, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 2686, "end": 2688, "ctxt": 0 }, "value": "a2", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2688, "end": 2705, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2690, "end": 2705, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2694, "end": 2699, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2696, "end": 2699, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2698, "end": 2699, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2698, "end": 2699, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2690, "end": 2693, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2691, "end": 2692, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2691, "end": 2692, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2701, "end": 2705, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2704, "end": 2705, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2704, "end": 2705, "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": 2715, "end": 2734, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 2715, "end": 2717, "ctxt": 0 }, "value": "a3", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2717, "end": 2733, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2719, "end": 2733, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2723, "end": 2727, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2724, "end": 2727, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2726, "end": 2727, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2726, "end": 2727, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2719, "end": 2722, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2720, "end": 2721, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2720, "end": 2721, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2729, "end": 2733, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2732, "end": 2733, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2732, "end": 2733, "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": 2743, "end": 2769, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 2743, "end": 2745, "ctxt": 0 }, "value": "a4", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2745, "end": 2768, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2747, "end": 2768, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2751, "end": 2755, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2752, "end": 2755, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2754, "end": 2755, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2754, "end": 2755, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 2757, "end": 2762, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2759, "end": 2762, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2761, "end": 2762, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2761, "end": 2762, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2747, "end": 2750, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2748, "end": 2749, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2748, "end": 2749, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2764, "end": 2768, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2767, "end": 2768, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2767, "end": 2768, "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": 2778, "end": 2805, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 2778, "end": 2780, "ctxt": 0 }, "value": "a5", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2780, "end": 2804, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2782, "end": 2804, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2786, "end": 2791, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2788, "end": 2791, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2790, "end": 2791, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2790, "end": 2791, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 2793, "end": 2798, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2795, "end": 2798, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2797, "end": 2798, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2797, "end": 2798, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2782, "end": 2785, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2783, "end": 2784, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2783, "end": 2784, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2800, "end": 2804, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2803, "end": 2804, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2803, "end": 2804, "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": 2815, "end": 4160, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 2815, "end": 2819, "ctxt": 0 }, "value": "init", "optional": false }, "value": { "type": "ArrowFunctionExpression", "span": { "start": 2822, "end": 4160, "ctxt": 0 }, "params": [], "body": { "type": "BlockStatement", "span": { "start": 2828, "end": 4160, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 2842, "end": 2865, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2842, "end": 2864, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2842, "end": 2848, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 2842, "end": 2846, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 2847, "end": 2848, "ctxt": 0 }, "value": "a", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 2851, "end": 2864, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 2860, "end": 2864, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 2851, "end": 2854, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2852, "end": 2853, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2852, "end": 2853, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 2911, "end": 2939, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2911, "end": 2938, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2911, "end": 2917, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 2911, "end": 2915, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 2916, "end": 2917, "ctxt": 0 }, "value": "a", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 2920, "end": 2938, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2924, "end": 2929, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2926, "end": 2929, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2928, "end": 2929, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2928, "end": 2929, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 2934, "end": 2938, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 2920, "end": 2923, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2921, "end": 2922, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2921, "end": 2922, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 2985, "end": 3012, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2985, "end": 3011, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2985, "end": 2991, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 2985, "end": 2989, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 2990, "end": 2991, "ctxt": 0 }, "value": "a", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 2994, "end": 3011, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2998, "end": 3002, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2999, "end": 3002, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3001, "end": 3002, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3001, "end": 3002, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 3007, "end": 3011, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 2994, "end": 2997, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2995, "end": 2996, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2995, "end": 2996, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 3061, "end": 3085, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3061, "end": 3084, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3061, "end": 3068, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3061, "end": 3065, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3066, "end": 3068, "ctxt": 0 }, "value": "a2", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 3071, "end": 3084, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 3080, "end": 3084, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3071, "end": 3074, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3072, "end": 3073, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3072, "end": 3073, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 3131, "end": 3160, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3131, "end": 3159, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3131, "end": 3138, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3131, "end": 3135, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3136, "end": 3138, "ctxt": 0 }, "value": "a2", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 3141, "end": 3159, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3145, "end": 3150, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3147, "end": 3150, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3149, "end": 3150, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3149, "end": 3150, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 3155, "end": 3159, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3141, "end": 3144, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3142, "end": 3143, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3142, "end": 3143, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 3206, "end": 3234, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3206, "end": 3233, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3206, "end": 3213, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3206, "end": 3210, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3211, "end": 3213, "ctxt": 0 }, "value": "a2", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 3216, "end": 3233, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3220, "end": 3224, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3221, "end": 3224, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3223, "end": 3224, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3223, "end": 3224, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 3229, "end": 3233, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3216, "end": 3219, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3217, "end": 3218, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3217, "end": 3218, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 3277, "end": 3301, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3277, "end": 3300, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3277, "end": 3284, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3277, "end": 3281, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3282, "end": 3284, "ctxt": 0 }, "value": "a3", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 3287, "end": 3300, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 3296, "end": 3300, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3287, "end": 3290, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3288, "end": 3289, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3288, "end": 3289, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 3343, "end": 3372, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3343, "end": 3371, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3343, "end": 3350, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3343, "end": 3347, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3348, "end": 3350, "ctxt": 0 }, "value": "a3", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 3353, "end": 3371, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3357, "end": 3362, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3359, "end": 3362, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3361, "end": 3362, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3361, "end": 3362, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 3367, "end": 3371, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3353, "end": 3356, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3354, "end": 3355, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3354, "end": 3355, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 3414, "end": 3442, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3414, "end": 3441, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3414, "end": 3421, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3414, "end": 3418, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3419, "end": 3421, "ctxt": 0 }, "value": "a3", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 3424, "end": 3441, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3428, "end": 3432, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3429, "end": 3432, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3431, "end": 3432, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3431, "end": 3432, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 3437, "end": 3441, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3424, "end": 3427, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3425, "end": 3426, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3425, "end": 3426, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 3488, "end": 3522, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3488, "end": 3521, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3488, "end": 3495, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3488, "end": 3492, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3493, "end": 3495, "ctxt": 0 }, "value": "a3", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 3498, "end": 3521, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3502, "end": 3506, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3503, "end": 3506, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3505, "end": 3506, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3505, "end": 3506, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 3508, "end": 3512, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3509, "end": 3512, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3511, "end": 3512, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3511, "end": 3512, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 3517, "end": 3521, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3498, "end": 3501, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3499, "end": 3500, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3499, "end": 3500, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 3572, "end": 3596, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3572, "end": 3595, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3572, "end": 3579, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3572, "end": 3576, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3577, "end": 3579, "ctxt": 0 }, "value": "a4", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 3582, "end": 3595, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 3591, "end": 3595, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3582, "end": 3585, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3583, "end": 3584, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3583, "end": 3584, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 3638, "end": 3674, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3638, "end": 3673, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3638, "end": 3645, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3638, "end": 3642, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3643, "end": 3645, "ctxt": 0 }, "value": "a4", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 3648, "end": 3673, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3652, "end": 3657, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3654, "end": 3657, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3656, "end": 3657, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3656, "end": 3657, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 3659, "end": 3664, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3661, "end": 3664, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3663, "end": 3664, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3663, "end": 3664, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 3669, "end": 3673, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3648, "end": 3651, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3649, "end": 3650, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3649, "end": 3650, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 3716, "end": 3744, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3716, "end": 3743, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3716, "end": 3723, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3716, "end": 3720, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3721, "end": 3723, "ctxt": 0 }, "value": "a4", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 3726, "end": 3743, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3730, "end": 3734, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3731, "end": 3734, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3733, "end": 3734, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3733, "end": 3734, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 3739, "end": 3743, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3726, "end": 3729, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3727, "end": 3728, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3727, "end": 3728, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 3790, "end": 3824, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3790, "end": 3823, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3790, "end": 3797, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3790, "end": 3794, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3795, "end": 3797, "ctxt": 0 }, "value": "a4", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 3800, "end": 3823, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3804, "end": 3808, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3805, "end": 3808, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3807, "end": 3808, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3807, "end": 3808, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 3810, "end": 3814, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3811, "end": 3814, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3813, "end": 3814, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3813, "end": 3814, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 3819, "end": 3823, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3800, "end": 3803, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3801, "end": 3802, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3801, "end": 3802, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 3869, "end": 3893, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3869, "end": 3892, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3869, "end": 3876, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3869, "end": 3873, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3874, "end": 3876, "ctxt": 0 }, "value": "a5", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 3879, "end": 3892, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 3888, "end": 3892, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3879, "end": 3882, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3880, "end": 3881, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3880, "end": 3881, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 3935, "end": 3971, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3935, "end": 3970, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3935, "end": 3942, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3935, "end": 3939, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3940, "end": 3942, "ctxt": 0 }, "value": "a5", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 3945, "end": 3970, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3949, "end": 3954, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3951, "end": 3954, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3953, "end": 3954, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3953, "end": 3954, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 3956, "end": 3961, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3958, "end": 3961, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3960, "end": 3961, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3960, "end": 3961, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 3966, "end": 3970, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3945, "end": 3948, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3946, "end": 3947, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3946, "end": 3947, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 4013, "end": 4041, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 4013, "end": 4040, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 4013, "end": 4020, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 4013, "end": 4017, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 4018, "end": 4020, "ctxt": 0 }, "value": "a5", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 4023, "end": 4040, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 4027, "end": 4031, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4028, "end": 4031, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4030, "end": 4031, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4030, "end": 4031, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 4036, "end": 4040, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 4023, "end": 4026, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 4024, "end": 4025, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4024, "end": 4025, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 4086, "end": 4120, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 4086, "end": 4119, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 4086, "end": 4093, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 4086, "end": 4090, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 4091, "end": 4093, "ctxt": 0 }, "value": "a5", "optional": false } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 4096, "end": 4119, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 4100, "end": 4104, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4101, "end": 4104, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4103, "end": 4104, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4103, "end": 4104, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 4106, "end": 4110, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4107, "end": 4110, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4109, "end": 4110, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4109, "end": 4110, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "NullLiteral", "span": { "start": 4115, "end": 4119, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 4096, "end": 4099, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 4097, "end": 4098, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4097, "end": 4098, "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 }