{ "type": "Script", "span": { "start": 92, "end": 3167, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 98, "end": 102, "ctxt": 0 }, "value": "Base", "optional": false }, "declare": false, "span": { "start": 92, "end": 119, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 105, "end": 117, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 105, "end": 108, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 108, "end": 116, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 110, "end": 116, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 126, "end": 133, "ctxt": 0 }, "value": "Derived", "optional": false }, "declare": false, "span": { "start": 120, "end": 163, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 149, "end": 161, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 149, "end": 152, "ctxt": 0 }, "value": "bar", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 152, "end": 160, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 154, "end": 160, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 142, "end": 146, "ctxt": 0 }, "value": "Base", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 170, "end": 178, "ctxt": 0 }, "value": "Derived2", "optional": false }, "declare": false, "span": { "start": 164, "end": 211, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 197, "end": 209, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 197, "end": 200, "ctxt": 0 }, "value": "baz", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 200, "end": 208, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 202, "end": 208, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 187, "end": 194, "ctxt": 0 }, "value": "Derived", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 218, "end": 230, "ctxt": 0 }, "value": "OtherDerived", "optional": false }, "declare": false, "span": { "start": 212, "end": 261, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 246, "end": 259, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 246, "end": 250, "ctxt": 0 }, "value": "bing", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 250, "end": 258, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 252, "end": 258, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 239, "end": 243, "ctxt": 0 }, "value": "Base", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "VariableDeclaration", "span": { "start": 263, "end": 298, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 267, "end": 297, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 267, "end": 268, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 268, "end": 297, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 270, "end": 297, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 275, "end": 284, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 276, "end": 284, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 278, "end": 284, "ctxt": 0 }, "kind": "number" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 286, "end": 297, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 289, "end": 297, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 289, "end": 295, "ctxt": 0 }, "kind": "number" } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 299, "end": 335, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 303, "end": 334, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 303, "end": 305, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 305, "end": 334, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 307, "end": 334, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 312, "end": 321, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 313, "end": 321, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 315, "end": 321, "ctxt": 0 }, "kind": "number" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 323, "end": 334, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 326, "end": 334, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 326, "end": 332, "ctxt": 0 }, "kind": "string" } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 336, "end": 368, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 340, "end": 367, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 340, "end": 342, "ctxt": 0 }, "value": "a3", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 342, "end": 367, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 344, "end": 367, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 349, "end": 358, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 350, "end": 358, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 352, "end": 358, "ctxt": 0 }, "kind": "number" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 360, "end": 367, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 363, "end": 367, "ctxt": 0 }, "kind": "void" } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 369, "end": 414, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 373, "end": 413, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 373, "end": 375, "ctxt": 0 }, "value": "a4", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 375, "end": 413, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 377, "end": 413, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 382, "end": 391, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 383, "end": 391, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 385, "end": 391, "ctxt": 0 }, "kind": "string" } } }, { "type": "Identifier", "span": { "start": 393, "end": 402, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 394, "end": 402, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 396, "end": 402, "ctxt": 0 }, "kind": "number" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 404, "end": 413, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 407, "end": 413, "ctxt": 0 }, "kind": "string" } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 415, "end": 466, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 419, "end": 465, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 419, "end": 421, "ctxt": 0 }, "value": "a5", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 421, "end": 465, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 423, "end": 465, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 428, "end": 454, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 429, "end": 454, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 431, "end": 454, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 432, "end": 443, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 435, "end": 443, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 437, "end": 443, "ctxt": 0 }, "kind": "string" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 445, "end": 454, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 448, "end": 454, "ctxt": 0 }, "kind": "number" } } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 456, "end": 465, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 459, "end": 465, "ctxt": 0 }, "kind": "string" } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 467, "end": 515, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 471, "end": 514, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 471, "end": 473, "ctxt": 0 }, "value": "a6", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 473, "end": 514, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 475, "end": 514, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 480, "end": 505, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 481, "end": 505, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 483, "end": 505, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 484, "end": 493, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 487, "end": 493, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 489, "end": 493, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 489, "end": 493, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 495, "end": 505, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 498, "end": 505, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 498, "end": 505, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 507, "end": 514, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 510, "end": 514, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 510, "end": 514, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 516, "end": 580, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 520, "end": 579, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 520, "end": 522, "ctxt": 0 }, "value": "a7", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 522, "end": 579, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 524, "end": 579, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 529, "end": 554, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 530, "end": 554, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 532, "end": 554, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 533, "end": 542, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 536, "end": 542, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 538, "end": 542, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 538, "end": 542, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 544, "end": 554, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 547, "end": 554, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 547, "end": 554, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 556, "end": 579, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 559, "end": 579, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 560, "end": 567, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 561, "end": 567, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 563, "end": 567, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 563, "end": 567, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 569, "end": 579, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 572, "end": 579, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 572, "end": 579, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 581, "end": 673, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 585, "end": 672, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 585, "end": 587, "ctxt": 0 }, "value": "a8", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 587, "end": 672, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 589, "end": 672, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 594, "end": 619, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 595, "end": 619, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 597, "end": 619, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 598, "end": 607, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 601, "end": 607, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 603, "end": 607, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 603, "end": 607, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 609, "end": 619, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 612, "end": 619, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 612, "end": 619, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } }, { "type": "Identifier", "span": { "start": 621, "end": 647, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 622, "end": 647, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 624, "end": 647, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 625, "end": 635, "ctxt": 0 }, "value": "arg2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 629, "end": 635, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 631, "end": 635, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 631, "end": 635, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 637, "end": 647, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 640, "end": 647, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 640, "end": 647, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 649, "end": 672, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 652, "end": 672, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 653, "end": 660, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 654, "end": 660, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 656, "end": 660, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 656, "end": 660, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 662, "end": 672, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 665, "end": 672, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 665, "end": 672, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 674, "end": 766, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 678, "end": 765, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 678, "end": 680, "ctxt": 0 }, "value": "a9", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 680, "end": 765, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 682, "end": 765, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 687, "end": 712, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 688, "end": 712, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 690, "end": 712, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 691, "end": 700, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 694, "end": 700, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 696, "end": 700, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 696, "end": 700, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 702, "end": 712, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 705, "end": 712, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 705, "end": 712, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } }, { "type": "Identifier", "span": { "start": 714, "end": 740, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 715, "end": 740, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 717, "end": 740, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 718, "end": 728, "ctxt": 0 }, "value": "arg2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 722, "end": 728, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 724, "end": 728, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 724, "end": 728, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 730, "end": 740, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 733, "end": 740, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 733, "end": 740, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 742, "end": 765, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 745, "end": 765, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 746, "end": 753, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 747, "end": 753, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 749, "end": 753, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 749, "end": 753, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 755, "end": 765, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 758, "end": 765, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 758, "end": 765, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 767, "end": 809, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 771, "end": 808, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 771, "end": 774, "ctxt": 0 }, "value": "a10", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 774, "end": 808, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 776, "end": 808, "ctxt": 0 }, "params": [ { "type": "RestElement", "span": { "start": 781, "end": 796, "ctxt": 0 }, "rest": { "start": 781, "end": 784, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 784, "end": 785, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 785, "end": 796, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 787, "end": 796, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 787, "end": 794, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 787, "end": 794, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 798, "end": 808, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 801, "end": 808, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 801, "end": 808, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 810, "end": 885, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 814, "end": 884, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 814, "end": 817, "ctxt": 0 }, "value": "a11", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 817, "end": 884, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 819, "end": 884, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 824, "end": 842, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 825, "end": 842, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 827, "end": 842, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 829, "end": 840, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 829, "end": 832, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 832, "end": 840, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 834, "end": 840, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } }, { "type": "Identifier", "span": { "start": 844, "end": 875, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 845, "end": 875, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 847, "end": 875, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 849, "end": 861, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 849, "end": 852, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 852, "end": 860, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 854, "end": 860, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 862, "end": 873, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 862, "end": 865, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 865, "end": 873, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 867, "end": 873, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 877, "end": 884, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 880, "end": 884, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 880, "end": 884, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 886, "end": 954, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 890, "end": 953, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 890, "end": 893, "ctxt": 0 }, "value": "a12", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 893, "end": 953, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 895, "end": 953, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 900, "end": 914, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 901, "end": 914, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 903, "end": 914, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 903, "end": 908, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 908, "end": 914, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 909, "end": 913, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 909, "end": 913, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } ] } } } }, { "type": "Identifier", "span": { "start": 916, "end": 934, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 917, "end": 934, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 919, "end": 934, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 919, "end": 924, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 924, "end": 934, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 925, "end": 933, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 925, "end": 933, "ctxt": 0 }, "value": "Derived2", "optional": false }, "typeParams": null } ] } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 936, "end": 953, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 939, "end": 953, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 939, "end": 944, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 944, "end": 953, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 945, "end": 952, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 945, "end": 952, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } ] } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 955, "end": 1022, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 959, "end": 1021, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 959, "end": 962, "ctxt": 0 }, "value": "a13", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 962, "end": 1021, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 964, "end": 1021, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 969, "end": 983, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 970, "end": 983, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 972, "end": 983, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 972, "end": 977, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 977, "end": 983, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 978, "end": 982, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 978, "end": 982, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } ] } } } }, { "type": "Identifier", "span": { "start": 985, "end": 1002, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 986, "end": 1002, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 988, "end": 1002, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 988, "end": 993, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 993, "end": 1002, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 994, "end": 1001, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 994, "end": 1001, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } ] } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1004, "end": 1021, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1007, "end": 1021, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1007, "end": 1012, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 1012, "end": 1021, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1013, "end": 1020, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1013, "end": 1020, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } ] } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1023, "end": 1076, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1027, "end": 1075, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1027, "end": 1030, "ctxt": 0 }, "value": "a14", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1030, "end": 1075, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 1032, "end": 1075, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1037, "end": 1064, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1038, "end": 1064, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1040, "end": 1064, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1042, "end": 1052, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1042, "end": 1043, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1043, "end": 1051, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1045, "end": 1051, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1053, "end": 1062, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1053, "end": 1054, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1054, "end": 1062, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1056, "end": 1062, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1066, "end": 1075, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1069, "end": 1075, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1069, "end": 1075, "ctxt": 0 }, "value": "Object", "optional": false }, "typeParams": null } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1077, "end": 1151, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1081, "end": 1151, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1081, "end": 1084, "ctxt": 0 }, "value": "a15", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1084, "end": 1151, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1086, "end": 1151, "ctxt": 0 }, "members": [ { "type": "TsConstructSignatureDeclaration", "span": { "start": 1092, "end": 1118, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1097, "end": 1106, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1098, "end": 1106, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1100, "end": 1106, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1107, "end": 1117, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1109, "end": 1117, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1109, "end": 1115, "ctxt": 0 }, "kind": "number" } } }, "typeParams": null }, { "type": "TsConstructSignatureDeclaration", "span": { "start": 1123, "end": 1149, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1128, "end": 1137, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1129, "end": 1137, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1131, "end": 1137, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1138, "end": 1148, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1140, "end": 1148, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1140, "end": 1146, "ctxt": 0 }, "kind": "string" } } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1152, "end": 1251, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1156, "end": 1251, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1156, "end": 1159, "ctxt": 0 }, "value": "a16", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1159, "end": 1251, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1161, "end": 1251, "ctxt": 0 }, "members": [ { "type": "TsConstructSignatureDeclaration", "span": { "start": 1167, "end": 1207, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1191, "end": 1195, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1192, "end": 1195, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1194, "end": 1195, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1194, "end": 1195, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1196, "end": 1206, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1198, "end": 1206, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1198, "end": 1204, "ctxt": 0 }, "kind": "number" } } }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1171, "end": 1190, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1172, "end": 1189, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1172, "end": 1173, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 1182, "end": 1189, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1182, "end": 1189, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] } }, { "type": "TsConstructSignatureDeclaration", "span": { "start": 1212, "end": 1249, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1233, "end": 1237, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1234, "end": 1237, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1236, "end": 1237, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1236, "end": 1237, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1238, "end": 1248, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1240, "end": 1248, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1240, "end": 1246, "ctxt": 0 }, "kind": "number" } } }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1216, "end": 1232, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1217, "end": 1231, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1217, "end": 1218, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 1227, "end": 1231, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1227, "end": 1231, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null } ] } } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1252, "end": 1365, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1256, "end": 1364, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1256, "end": 1259, "ctxt": 0 }, "value": "a17", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1259, "end": 1364, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1261, "end": 1364, "ctxt": 0 }, "members": [ { "type": "TsConstructSignatureDeclaration", "span": { "start": 1267, "end": 1312, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1272, "end": 1300, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1273, "end": 1300, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 1275, "end": 1300, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1280, "end": 1289, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1281, "end": 1289, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1283, "end": 1289, "ctxt": 0 }, "kind": "number" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1291, "end": 1300, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1294, "end": 1300, "ctxt": 0 }, "kind": "number" } }, "isAbstract": false } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1301, "end": 1311, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1303, "end": 1311, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1303, "end": 1309, "ctxt": 0 }, "kind": "number" } } }, "typeParams": null }, { "type": "TsConstructSignatureDeclaration", "span": { "start": 1317, "end": 1362, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1322, "end": 1350, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1323, "end": 1350, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 1325, "end": 1350, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1330, "end": 1339, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1331, "end": 1339, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1333, "end": 1339, "ctxt": 0 }, "kind": "string" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1341, "end": 1350, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1344, "end": 1350, "ctxt": 0 }, "kind": "string" } }, "isAbstract": false } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1351, "end": 1361, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1353, "end": 1361, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1353, "end": 1359, "ctxt": 0 }, "kind": "string" } } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1366, "end": 1566, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1370, "end": 1566, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1370, "end": 1373, "ctxt": 0 }, "value": "a18", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1373, "end": 1566, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1375, "end": 1566, "ctxt": 0 }, "members": [ { "type": "TsConstructSignatureDeclaration", "span": { "start": 1381, "end": 1471, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1386, "end": 1462, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1387, "end": 1462, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1389, "end": 1462, "ctxt": 0 }, "members": [ { "type": "TsConstructSignatureDeclaration", "span": { "start": 1399, "end": 1423, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1404, "end": 1413, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1405, "end": 1413, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1407, "end": 1413, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1414, "end": 1422, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1416, "end": 1422, "ctxt": 0 }, "kind": "number" } }, "typeParams": null }, { "type": "TsConstructSignatureDeclaration", "span": { "start": 1432, "end": 1456, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1437, "end": 1446, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1438, "end": 1446, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1440, "end": 1446, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1447, "end": 1455, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1449, "end": 1455, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1463, "end": 1470, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1465, "end": 1470, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1465, "end": 1468, "ctxt": 0 }, "kind": "any" } } }, "typeParams": null }, { "type": "TsConstructSignatureDeclaration", "span": { "start": 1476, "end": 1564, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1481, "end": 1555, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1482, "end": 1555, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1484, "end": 1555, "ctxt": 0 }, "members": [ { "type": "TsConstructSignatureDeclaration", "span": { "start": 1494, "end": 1520, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1499, "end": 1509, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1500, "end": 1509, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1502, "end": 1509, "ctxt": 0 }, "kind": "boolean" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1510, "end": 1519, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1512, "end": 1519, "ctxt": 0 }, "kind": "boolean" } }, "typeParams": null }, { "type": "TsConstructSignatureDeclaration", "span": { "start": 1529, "end": 1549, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1534, "end": 1541, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1535, "end": 1541, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1537, "end": 1541, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1537, "end": 1541, "ctxt": 0 }, "value": "Date", "optional": false }, "typeParams": null } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1542, "end": 1548, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1544, "end": 1548, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1544, "end": 1548, "ctxt": 0 }, "value": "Date", "optional": false }, "typeParams": null } }, "typeParams": null } ] } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1556, "end": 1563, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1558, "end": 1563, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1558, "end": 1561, "ctxt": 0 }, "kind": "any" } } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1568, "end": 1596, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1572, "end": 1595, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1572, "end": 1573, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1573, "end": 1595, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 1575, "end": 1595, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1583, "end": 1587, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1584, "end": 1587, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1586, "end": 1587, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1586, "end": 1587, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1579, "end": 1582, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1580, "end": 1581, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1580, "end": 1581, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1589, "end": 1595, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1592, "end": 1595, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 1592, "end": 1593, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1592, "end": 1593, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1598, "end": 1604, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1598, "end": 1603, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1598, "end": 1599, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1602, "end": 1603, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1611, "end": 1617, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1611, "end": 1616, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1611, "end": 1612, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1615, "end": 1616, "ctxt": 0 }, "value": "a", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1624, "end": 1658, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1628, "end": 1657, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1628, "end": 1630, "ctxt": 0 }, "value": "b2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1630, "end": 1657, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 1632, "end": 1657, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1640, "end": 1644, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1641, "end": 1644, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1643, "end": 1644, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1643, "end": 1644, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1636, "end": 1639, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1637, "end": 1638, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1637, "end": 1638, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1646, "end": 1657, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1649, "end": 1657, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1649, "end": 1655, "ctxt": 0 }, "kind": "string" } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1660, "end": 1668, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1660, "end": 1667, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1660, "end": 1662, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1665, "end": 1667, "ctxt": 0 }, "value": "b2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1676, "end": 1684, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1676, "end": 1683, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1676, "end": 1678, "ctxt": 0 }, "value": "b2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1681, "end": 1683, "ctxt": 0 }, "value": "a2", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1691, "end": 1718, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1695, "end": 1717, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1695, "end": 1697, "ctxt": 0 }, "value": "b3", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1697, "end": 1717, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 1699, "end": 1717, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1707, "end": 1711, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1708, "end": 1711, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1710, "end": 1711, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1710, "end": 1711, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1703, "end": 1706, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1704, "end": 1705, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1704, "end": 1705, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1713, "end": 1717, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1716, "end": 1717, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1716, "end": 1717, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1720, "end": 1728, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1720, "end": 1727, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1720, "end": 1722, "ctxt": 0 }, "value": "a3", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1725, "end": 1727, "ctxt": 0 }, "value": "b3", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1735, "end": 1743, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1735, "end": 1742, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1735, "end": 1737, "ctxt": 0 }, "value": "b3", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1740, "end": 1742, "ctxt": 0 }, "value": "a3", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1750, "end": 1786, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1754, "end": 1785, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1754, "end": 1756, "ctxt": 0 }, "value": "b4", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1756, "end": 1785, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 1758, "end": 1785, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1769, "end": 1773, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1770, "end": 1773, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1772, "end": 1773, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1772, "end": 1773, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1775, "end": 1779, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1776, "end": 1779, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1778, "end": 1779, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1778, "end": 1779, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1762, "end": 1768, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1763, "end": 1764, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1763, "end": 1764, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 1766, "end": 1767, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1766, "end": 1767, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1781, "end": 1785, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1784, "end": 1785, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1784, "end": 1785, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1788, "end": 1796, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1788, "end": 1795, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1788, "end": 1790, "ctxt": 0 }, "value": "a4", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1793, "end": 1795, "ctxt": 0 }, "value": "b4", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1803, "end": 1811, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1803, "end": 1810, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1803, "end": 1805, "ctxt": 0 }, "value": "b4", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1808, "end": 1810, "ctxt": 0 }, "value": "a4", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1818, "end": 1860, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1822, "end": 1859, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1822, "end": 1824, "ctxt": 0 }, "value": "b5", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1824, "end": 1859, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 1826, "end": 1859, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1837, "end": 1853, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1838, "end": 1853, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1840, "end": 1853, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1841, "end": 1847, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1844, "end": 1847, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1846, "end": 1847, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1846, "end": 1847, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1849, "end": 1853, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1852, "end": 1853, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1852, "end": 1853, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1830, "end": 1836, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1831, "end": 1832, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1831, "end": 1832, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 1834, "end": 1835, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1834, "end": 1835, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1855, "end": 1859, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1858, "end": 1859, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1858, "end": 1859, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1862, "end": 1870, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1862, "end": 1869, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1862, "end": 1864, "ctxt": 0 }, "value": "a5", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1867, "end": 1869, "ctxt": 0 }, "value": "b5", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1877, "end": 1885, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1877, "end": 1884, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1877, "end": 1879, "ctxt": 0 }, "value": "b5", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1882, "end": 1884, "ctxt": 0 }, "value": "a5", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1892, "end": 1963, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1896, "end": 1962, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1896, "end": 1898, "ctxt": 0 }, "value": "b6", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1898, "end": 1962, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 1900, "end": 1962, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1940, "end": 1956, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1941, "end": 1956, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1943, "end": 1956, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1944, "end": 1950, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1947, "end": 1950, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1949, "end": 1950, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1949, "end": 1950, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1952, "end": 1956, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1955, "end": 1956, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1955, "end": 1956, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1904, "end": 1939, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1905, "end": 1919, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1905, "end": 1906, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 1915, "end": 1919, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1915, "end": 1919, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 1921, "end": 1938, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1921, "end": 1922, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 1931, "end": 1938, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1931, "end": 1938, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1958, "end": 1962, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1961, "end": 1962, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1961, "end": 1962, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1965, "end": 1973, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1965, "end": 1972, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1965, "end": 1967, "ctxt": 0 }, "value": "a6", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1970, "end": 1972, "ctxt": 0 }, "value": "b6", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1980, "end": 1988, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1980, "end": 1987, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1980, "end": 1982, "ctxt": 0 }, "value": "b6", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1985, "end": 1987, "ctxt": 0 }, "value": "a6", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1995, "end": 2076, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1999, "end": 2075, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1999, "end": 2001, "ctxt": 0 }, "value": "b7", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2001, "end": 2075, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 2003, "end": 2075, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2043, "end": 2059, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2044, "end": 2059, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2046, "end": 2059, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2047, "end": 2053, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2050, "end": 2053, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2052, "end": 2053, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2052, "end": 2053, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2055, "end": 2059, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2058, "end": 2059, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2058, "end": 2059, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2007, "end": 2042, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2008, "end": 2022, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2008, "end": 2009, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2018, "end": 2022, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2018, "end": 2022, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 2024, "end": 2041, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2024, "end": 2025, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2034, "end": 2041, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2034, "end": 2041, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2061, "end": 2075, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2064, "end": 2075, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2065, "end": 2069, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2066, "end": 2069, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2068, "end": 2069, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2068, "end": 2069, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2071, "end": 2075, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2074, "end": 2075, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2074, "end": 2075, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2078, "end": 2086, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2078, "end": 2085, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2078, "end": 2080, "ctxt": 0 }, "value": "a7", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2083, "end": 2085, "ctxt": 0 }, "value": "b7", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2093, "end": 2101, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2093, "end": 2100, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2093, "end": 2095, "ctxt": 0 }, "value": "b7", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2098, "end": 2100, "ctxt": 0 }, "value": "a7", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2108, "end": 2208, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2112, "end": 2207, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2112, "end": 2114, "ctxt": 0 }, "value": "b8", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2114, "end": 2207, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 2116, "end": 2207, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2156, "end": 2172, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2157, "end": 2172, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2159, "end": 2172, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2160, "end": 2166, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2163, "end": 2166, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2165, "end": 2166, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2165, "end": 2166, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2168, "end": 2172, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2171, "end": 2172, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2171, "end": 2172, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } }, { "type": "Identifier", "span": { "start": 2174, "end": 2191, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2175, "end": 2191, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2177, "end": 2191, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2178, "end": 2185, "ctxt": 0 }, "value": "arg2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2182, "end": 2185, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2184, "end": 2185, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2184, "end": 2185, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2187, "end": 2191, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2190, "end": 2191, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2190, "end": 2191, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2120, "end": 2155, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2121, "end": 2135, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2121, "end": 2122, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2131, "end": 2135, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2131, "end": 2135, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 2137, "end": 2154, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2137, "end": 2138, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2147, "end": 2154, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2147, "end": 2154, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2193, "end": 2207, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2196, "end": 2207, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2197, "end": 2201, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2198, "end": 2201, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2200, "end": 2201, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2200, "end": 2201, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2203, "end": 2207, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2206, "end": 2207, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2206, "end": 2207, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2209, "end": 2217, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2209, "end": 2216, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2209, "end": 2211, "ctxt": 0 }, "value": "a8", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2214, "end": 2216, "ctxt": 0 }, "value": "b8", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2224, "end": 2232, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2224, "end": 2231, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2224, "end": 2226, "ctxt": 0 }, "value": "b8", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2229, "end": 2231, "ctxt": 0 }, "value": "a8", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2239, "end": 2367, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2243, "end": 2366, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2243, "end": 2245, "ctxt": 0 }, "value": "b9", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2245, "end": 2366, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 2247, "end": 2366, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2287, "end": 2303, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2288, "end": 2303, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2290, "end": 2303, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2291, "end": 2297, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2294, "end": 2297, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2296, "end": 2297, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2296, "end": 2297, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2299, "end": 2303, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2302, "end": 2303, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2302, "end": 2303, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } }, { "type": "Identifier", "span": { "start": 2305, "end": 2350, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2306, "end": 2350, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2308, "end": 2350, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2309, "end": 2344, "ctxt": 0 }, "value": "arg2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2313, "end": 2344, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 2315, "end": 2344, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 2317, "end": 2329, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2317, "end": 2320, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2320, "end": 2328, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2322, "end": 2328, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 2330, "end": 2342, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2330, "end": 2334, "ctxt": 0 }, "value": "bing", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2334, "end": 2342, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2336, "end": 2342, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2346, "end": 2350, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2349, "end": 2350, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2349, "end": 2350, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2251, "end": 2286, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2252, "end": 2266, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2252, "end": 2253, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2262, "end": 2266, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2262, "end": 2266, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 2268, "end": 2285, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2268, "end": 2269, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2278, "end": 2285, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2278, "end": 2285, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2352, "end": 2366, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2355, "end": 2366, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2356, "end": 2360, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2357, "end": 2360, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2359, "end": 2360, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2359, "end": 2360, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2362, "end": 2366, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2365, "end": 2366, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2365, "end": 2366, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2369, "end": 2377, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2369, "end": 2376, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2369, "end": 2371, "ctxt": 0 }, "value": "a9", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2374, "end": 2376, "ctxt": 0 }, "value": "b9", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2384, "end": 2392, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2384, "end": 2391, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2384, "end": 2386, "ctxt": 0 }, "value": "b9", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2389, "end": 2391, "ctxt": 0 }, "value": "a9", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2399, "end": 2448, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2403, "end": 2447, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2403, "end": 2406, "ctxt": 0 }, "value": "b10", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2406, "end": 2447, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 2408, "end": 2447, "ctxt": 0 }, "params": [ { "type": "RestElement", "span": { "start": 2432, "end": 2441, "ctxt": 0 }, "rest": { "start": 2432, "end": 2435, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 2435, "end": 2436, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2436, "end": 2441, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 2438, "end": 2441, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 2438, "end": 2439, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2438, "end": 2439, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2412, "end": 2431, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2413, "end": 2430, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2413, "end": 2414, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2423, "end": 2430, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2423, "end": 2430, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2443, "end": 2447, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2446, "end": 2447, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2446, "end": 2447, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2450, "end": 2460, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2450, "end": 2459, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2450, "end": 2453, "ctxt": 0 }, "value": "a10", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2456, "end": 2459, "ctxt": 0 }, "value": "b10", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2467, "end": 2477, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2467, "end": 2476, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2467, "end": 2470, "ctxt": 0 }, "value": "b10", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2473, "end": 2476, "ctxt": 0 }, "value": "a10", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2484, "end": 2531, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2488, "end": 2530, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2488, "end": 2491, "ctxt": 0 }, "value": "b11", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2491, "end": 2530, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 2493, "end": 2530, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2514, "end": 2518, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2515, "end": 2518, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2517, "end": 2518, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2517, "end": 2518, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 2520, "end": 2524, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2521, "end": 2524, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2523, "end": 2524, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2523, "end": 2524, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2497, "end": 2513, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2498, "end": 2512, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2498, "end": 2499, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2508, "end": 2512, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2508, "end": 2512, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2526, "end": 2530, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2529, "end": 2530, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2529, "end": 2530, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2533, "end": 2543, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2533, "end": 2542, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2533, "end": 2536, "ctxt": 0 }, "value": "a11", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2539, "end": 2542, "ctxt": 0 }, "value": "b11", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2550, "end": 2560, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2550, "end": 2559, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2550, "end": 2553, "ctxt": 0 }, "value": "b11", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2556, "end": 2559, "ctxt": 0 }, "value": "a11", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2567, "end": 2644, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2571, "end": 2643, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2571, "end": 2574, "ctxt": 0 }, "value": "b12", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2574, "end": 2643, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 2576, "end": 2643, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2604, "end": 2618, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2605, "end": 2618, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2607, "end": 2618, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2607, "end": 2612, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2612, "end": 2618, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2613, "end": 2617, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2613, "end": 2617, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } ] } } } }, { "type": "Identifier", "span": { "start": 2620, "end": 2624, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2621, "end": 2624, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2623, "end": 2624, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2623, "end": 2624, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2580, "end": 2603, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2581, "end": 2602, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2581, "end": 2582, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2591, "end": 2602, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2591, "end": 2596, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2596, "end": 2602, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2597, "end": 2601, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2597, "end": 2601, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } ] } }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2626, "end": 2643, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2629, "end": 2643, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2629, "end": 2634, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2634, "end": 2643, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2635, "end": 2642, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2635, "end": 2642, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } ] } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2646, "end": 2656, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2646, "end": 2655, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2646, "end": 2649, "ctxt": 0 }, "value": "a12", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2652, "end": 2655, "ctxt": 0 }, "value": "b12", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2663, "end": 2673, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2663, "end": 2672, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2663, "end": 2666, "ctxt": 0 }, "value": "b12", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2669, "end": 2672, "ctxt": 0 }, "value": "a12", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2680, "end": 2747, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2684, "end": 2746, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2684, "end": 2687, "ctxt": 0 }, "value": "b13", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2687, "end": 2746, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 2689, "end": 2746, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2720, "end": 2734, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2721, "end": 2734, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2723, "end": 2734, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2723, "end": 2728, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2728, "end": 2734, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2729, "end": 2733, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2729, "end": 2733, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } ] } } } }, { "type": "Identifier", "span": { "start": 2736, "end": 2740, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2737, "end": 2740, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2739, "end": 2740, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2739, "end": 2740, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2693, "end": 2719, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2694, "end": 2718, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2694, "end": 2695, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2704, "end": 2718, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2704, "end": 2709, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2709, "end": 2718, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2710, "end": 2717, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2710, "end": 2717, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } ] } }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2742, "end": 2746, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2745, "end": 2746, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2745, "end": 2746, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2749, "end": 2759, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2749, "end": 2758, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2749, "end": 2752, "ctxt": 0 }, "value": "a13", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2755, "end": 2758, "ctxt": 0 }, "value": "b13", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2766, "end": 2776, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2766, "end": 2775, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2766, "end": 2769, "ctxt": 0 }, "value": "b13", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2772, "end": 2775, "ctxt": 0 }, "value": "a13", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2783, "end": 2824, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2787, "end": 2823, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2787, "end": 2790, "ctxt": 0 }, "value": "b14", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2790, "end": 2823, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 2792, "end": 2823, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2800, "end": 2817, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2801, "end": 2817, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 2803, "end": 2817, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 2805, "end": 2810, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2805, "end": 2806, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2806, "end": 2809, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2808, "end": 2809, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2808, "end": 2809, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 2811, "end": 2815, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2811, "end": 2812, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2812, "end": 2815, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2814, "end": 2815, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2814, "end": 2815, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "typeParams": null } ] } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2796, "end": 2799, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2797, "end": 2798, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2797, "end": 2798, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2819, "end": 2823, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2822, "end": 2823, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2822, "end": 2823, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2826, "end": 2836, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2826, "end": 2835, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2826, "end": 2829, "ctxt": 0 }, "value": "a14", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2832, "end": 2835, "ctxt": 0 }, "value": "b14", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2843, "end": 2853, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2843, "end": 2852, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2843, "end": 2846, "ctxt": 0 }, "value": "b14", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2849, "end": 2852, "ctxt": 0 }, "value": "a14", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2860, "end": 2890, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2864, "end": 2889, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2864, "end": 2867, "ctxt": 0 }, "value": "b15", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2867, "end": 2889, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 2869, "end": 2889, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2877, "end": 2881, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2878, "end": 2881, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2880, "end": 2881, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2880, "end": 2881, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2873, "end": 2876, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2874, "end": 2875, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2874, "end": 2875, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2883, "end": 2889, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 2886, "end": 2889, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 2886, "end": 2887, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2886, "end": 2887, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2892, "end": 2902, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2892, "end": 2901, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2892, "end": 2895, "ctxt": 0 }, "value": "a15", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2898, "end": 2901, "ctxt": 0 }, "value": "b15", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2909, "end": 2919, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2909, "end": 2918, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2909, "end": 2912, "ctxt": 0 }, "value": "b15", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2915, "end": 2918, "ctxt": 0 }, "value": "a15", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2926, "end": 2974, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2930, "end": 2973, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2930, "end": 2933, "ctxt": 0 }, "value": "b16", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2933, "end": 2973, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 2935, "end": 2973, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2956, "end": 2960, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2957, "end": 2960, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2959, "end": 2960, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2959, "end": 2960, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2939, "end": 2955, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2940, "end": 2954, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2940, "end": 2941, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2950, "end": 2954, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2950, "end": 2954, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2962, "end": 2973, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 2965, "end": 2973, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 2965, "end": 2971, "ctxt": 0 }, "kind": "number" } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2975, "end": 2985, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2975, "end": 2984, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2975, "end": 2978, "ctxt": 0 }, "value": "a16", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2981, "end": 2984, "ctxt": 0 }, "value": "b16", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2992, "end": 3002, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2992, "end": 3001, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2992, "end": 2995, "ctxt": 0 }, "value": "b16", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2998, "end": 3001, "ctxt": 0 }, "value": "a16", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 3009, "end": 3053, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3013, "end": 3052, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3013, "end": 3016, "ctxt": 0 }, "value": "b17", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3016, "end": 3052, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 3018, "end": 3052, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3026, "end": 3044, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3027, "end": 3044, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 3029, "end": 3044, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3034, "end": 3038, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3035, "end": 3038, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3037, "end": 3038, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3037, "end": 3038, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3040, "end": 3044, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3043, "end": 3044, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3043, "end": 3044, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "isAbstract": false } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 3022, "end": 3025, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3023, "end": 3024, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3023, "end": 3024, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3046, "end": 3052, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 3049, "end": 3052, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 3049, "end": 3050, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3049, "end": 3050, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 3060, "end": 3070, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3060, "end": 3069, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 3060, "end": 3063, "ctxt": 0 }, "value": "a17", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 3066, "end": 3069, "ctxt": 0 }, "value": "b17", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 3077, "end": 3087, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3077, "end": 3086, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 3077, "end": 3080, "ctxt": 0 }, "value": "b17", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 3083, "end": 3086, "ctxt": 0 }, "value": "a17", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 3094, "end": 3138, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3098, "end": 3137, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3098, "end": 3101, "ctxt": 0 }, "value": "b18", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3101, "end": 3137, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 3103, "end": 3137, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3111, "end": 3129, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3112, "end": 3129, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 3114, "end": 3129, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3119, "end": 3123, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3120, "end": 3123, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3122, "end": 3123, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3122, "end": 3123, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3125, "end": 3129, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3128, "end": 3129, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3128, "end": 3129, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "isAbstract": false } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 3107, "end": 3110, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3108, "end": 3109, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3108, "end": 3109, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3131, "end": 3137, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 3134, "end": 3137, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 3134, "end": 3135, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3134, "end": 3135, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 3140, "end": 3150, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3140, "end": 3149, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 3140, "end": 3143, "ctxt": 0 }, "value": "a18", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 3146, "end": 3149, "ctxt": 0 }, "value": "b18", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 3157, "end": 3167, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3157, "end": 3166, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 3157, "end": 3160, "ctxt": 0 }, "value": "b18", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 3163, "end": 3166, "ctxt": 0 }, "value": "a18", "optional": false } } } ], "interpreter": null }