{ "type": "Script", "span": { "start": 93, "end": 3168, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 99, "end": 103, "ctxt": 0 }, "value": "Base", "optional": false }, "declare": false, "span": { "start": 93, "end": 120, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 106, "end": 118, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 106, "end": 109, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 109, "end": 117, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 111, "end": 117, "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": 127, "end": 134, "ctxt": 0 }, "value": "Derived", "optional": false }, "declare": false, "span": { "start": 121, "end": 164, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 150, "end": 162, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 150, "end": 153, "ctxt": 0 }, "value": "bar", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 153, "end": 161, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 155, "end": 161, "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": 143, "end": 147, "ctxt": 0 }, "value": "Base", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 171, "end": 179, "ctxt": 0 }, "value": "Derived2", "optional": false }, "declare": false, "span": { "start": 165, "end": 212, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 198, "end": 210, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 198, "end": 201, "ctxt": 0 }, "value": "baz", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 201, "end": 209, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 203, "end": 209, "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": 188, "end": 195, "ctxt": 0 }, "value": "Derived", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 219, "end": 231, "ctxt": 0 }, "value": "OtherDerived", "optional": false }, "declare": false, "span": { "start": 213, "end": 262, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 247, "end": 260, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 247, "end": 251, "ctxt": 0 }, "value": "bing", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 251, "end": 259, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 253, "end": 259, "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": 240, "end": 244, "ctxt": 0 }, "value": "Base", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "VariableDeclaration", "span": { "start": 264, "end": 299, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 268, "end": 298, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 268, "end": 269, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 269, "end": 298, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 271, "end": 298, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 276, "end": 285, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 277, "end": 285, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 279, "end": 285, "ctxt": 0 }, "kind": "number" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 287, "end": 298, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 290, "end": 298, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 290, "end": 296, "ctxt": 0 }, "kind": "number" } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 300, "end": 336, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 304, "end": 335, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 304, "end": 306, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 306, "end": 335, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 308, "end": 335, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 313, "end": 322, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 314, "end": 322, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 316, "end": 322, "ctxt": 0 }, "kind": "number" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 324, "end": 335, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 327, "end": 335, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 327, "end": 333, "ctxt": 0 }, "kind": "string" } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 337, "end": 369, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 341, "end": 368, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 341, "end": 343, "ctxt": 0 }, "value": "a3", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 343, "end": 368, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 345, "end": 368, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 350, "end": 359, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 351, "end": 359, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 353, "end": 359, "ctxt": 0 }, "kind": "number" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 361, "end": 368, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 364, "end": 368, "ctxt": 0 }, "kind": "void" } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 370, "end": 415, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 374, "end": 414, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 374, "end": 376, "ctxt": 0 }, "value": "a4", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 376, "end": 414, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 378, "end": 414, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 383, "end": 392, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 384, "end": 392, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 386, "end": 392, "ctxt": 0 }, "kind": "string" } } }, { "type": "Identifier", "span": { "start": 394, "end": 403, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 395, "end": 403, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 397, "end": 403, "ctxt": 0 }, "kind": "number" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 405, "end": 414, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 408, "end": 414, "ctxt": 0 }, "kind": "string" } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 416, "end": 467, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 420, "end": 466, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 420, "end": 422, "ctxt": 0 }, "value": "a5", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 422, "end": 466, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 424, "end": 466, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 429, "end": 455, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 430, "end": 455, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 432, "end": 455, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 433, "end": 444, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 436, "end": 444, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 438, "end": 444, "ctxt": 0 }, "kind": "string" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 446, "end": 455, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 449, "end": 455, "ctxt": 0 }, "kind": "number" } } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 457, "end": 466, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 460, "end": 466, "ctxt": 0 }, "kind": "string" } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 468, "end": 516, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 472, "end": 515, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 472, "end": 474, "ctxt": 0 }, "value": "a6", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 474, "end": 515, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 476, "end": 515, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 481, "end": 506, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 482, "end": 506, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 484, "end": 506, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 485, "end": 494, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 488, "end": 494, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 490, "end": 494, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 490, "end": 494, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 496, "end": 506, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 499, "end": 506, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 499, "end": 506, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 508, "end": 515, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 511, "end": 515, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 511, "end": 515, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 517, "end": 581, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 521, "end": 580, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 521, "end": 523, "ctxt": 0 }, "value": "a7", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 523, "end": 580, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 525, "end": 580, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 530, "end": 555, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 531, "end": 555, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 533, "end": 555, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 534, "end": 543, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 537, "end": 543, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 539, "end": 543, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 539, "end": 543, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 545, "end": 555, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 548, "end": 555, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 548, "end": 555, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 557, "end": 580, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 560, "end": 580, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 561, "end": 568, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 562, "end": 568, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 564, "end": 568, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 564, "end": 568, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 570, "end": 580, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 573, "end": 580, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 573, "end": 580, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 582, "end": 674, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 586, "end": 673, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 586, "end": 588, "ctxt": 0 }, "value": "a8", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 588, "end": 673, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 590, "end": 673, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 595, "end": 620, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 596, "end": 620, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 598, "end": 620, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 599, "end": 608, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 602, "end": 608, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 604, "end": 608, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 604, "end": 608, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 610, "end": 620, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 613, "end": 620, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 613, "end": 620, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } }, { "type": "Identifier", "span": { "start": 622, "end": 648, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 623, "end": 648, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 625, "end": 648, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 626, "end": 636, "ctxt": 0 }, "value": "arg2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 630, "end": 636, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 632, "end": 636, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 632, "end": 636, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 638, "end": 648, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 641, "end": 648, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 641, "end": 648, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 650, "end": 673, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 653, "end": 673, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 654, "end": 661, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 655, "end": 661, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 657, "end": 661, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 657, "end": 661, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 663, "end": 673, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 666, "end": 673, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 666, "end": 673, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 675, "end": 767, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 679, "end": 766, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 679, "end": 681, "ctxt": 0 }, "value": "a9", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 681, "end": 766, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 683, "end": 766, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 688, "end": 713, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 689, "end": 713, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 691, "end": 713, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 692, "end": 701, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 695, "end": 701, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 697, "end": 701, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 697, "end": 701, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 703, "end": 713, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 706, "end": 713, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 706, "end": 713, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } }, { "type": "Identifier", "span": { "start": 715, "end": 741, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 716, "end": 741, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 718, "end": 741, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 719, "end": 729, "ctxt": 0 }, "value": "arg2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 723, "end": 729, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 725, "end": 729, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 725, "end": 729, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 731, "end": 741, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 734, "end": 741, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 734, "end": 741, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 743, "end": 766, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 746, "end": 766, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 747, "end": 754, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 748, "end": 754, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 750, "end": 754, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 750, "end": 754, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 756, "end": 766, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 759, "end": 766, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 759, "end": 766, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 768, "end": 810, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 772, "end": 809, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 772, "end": 775, "ctxt": 0 }, "value": "a10", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 775, "end": 809, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 777, "end": 809, "ctxt": 0 }, "params": [ { "type": "RestElement", "span": { "start": 782, "end": 797, "ctxt": 0 }, "rest": { "start": 782, "end": 785, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 785, "end": 786, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 786, "end": 797, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 788, "end": 797, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 788, "end": 795, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 788, "end": 795, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 799, "end": 809, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 802, "end": 809, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 802, "end": 809, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 811, "end": 886, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 815, "end": 885, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 815, "end": 818, "ctxt": 0 }, "value": "a11", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 818, "end": 885, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 820, "end": 885, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 825, "end": 843, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 826, "end": 843, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 828, "end": 843, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 830, "end": 841, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 830, "end": 833, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 833, "end": 841, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 835, "end": 841, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } }, { "type": "Identifier", "span": { "start": 845, "end": 876, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 846, "end": 876, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 848, "end": 876, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 850, "end": 862, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 850, "end": 853, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 853, "end": 861, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 855, "end": 861, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 863, "end": 874, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 863, "end": 866, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 866, "end": 874, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 868, "end": 874, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 878, "end": 885, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 881, "end": 885, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 881, "end": 885, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 887, "end": 955, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 891, "end": 954, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 891, "end": 894, "ctxt": 0 }, "value": "a12", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 894, "end": 954, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 896, "end": 954, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 901, "end": 915, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 902, "end": 915, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 904, "end": 915, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 904, "end": 909, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 909, "end": 915, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 910, "end": 914, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 910, "end": 914, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } ] } } } }, { "type": "Identifier", "span": { "start": 917, "end": 935, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 918, "end": 935, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 920, "end": 935, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 920, "end": 925, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 925, "end": 935, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 926, "end": 934, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 926, "end": 934, "ctxt": 0 }, "value": "Derived2", "optional": false }, "typeParams": null } ] } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 937, "end": 954, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 940, "end": 954, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 940, "end": 945, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 945, "end": 954, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 946, "end": 953, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 946, "end": 953, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } ] } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 956, "end": 1023, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 960, "end": 1022, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 960, "end": 963, "ctxt": 0 }, "value": "a13", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 963, "end": 1022, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 965, "end": 1022, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 970, "end": 984, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 971, "end": 984, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 973, "end": 984, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 973, "end": 978, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 978, "end": 984, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 979, "end": 983, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 979, "end": 983, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } ] } } } }, { "type": "Identifier", "span": { "start": 986, "end": 1003, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 987, "end": 1003, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 989, "end": 1003, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 989, "end": 994, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 994, "end": 1003, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 995, "end": 1002, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 995, "end": 1002, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } ] } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1005, "end": 1022, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1008, "end": 1022, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1008, "end": 1013, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 1013, "end": 1022, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1014, "end": 1021, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1014, "end": 1021, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } ] } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1024, "end": 1077, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1028, "end": 1076, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1028, "end": 1031, "ctxt": 0 }, "value": "a14", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1031, "end": 1076, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 1033, "end": 1076, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1038, "end": 1065, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1039, "end": 1065, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1041, "end": 1065, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1043, "end": 1053, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1043, "end": 1044, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1044, "end": 1052, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1046, "end": 1052, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1054, "end": 1063, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1054, "end": 1055, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1055, "end": 1063, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1057, "end": 1063, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1067, "end": 1076, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1070, "end": 1076, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1070, "end": 1076, "ctxt": 0 }, "value": "Object", "optional": false }, "typeParams": null } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1078, "end": 1152, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1082, "end": 1152, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1082, "end": 1085, "ctxt": 0 }, "value": "a15", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1085, "end": 1152, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1087, "end": 1152, "ctxt": 0 }, "members": [ { "type": "TsConstructSignatureDeclaration", "span": { "start": 1093, "end": 1119, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1098, "end": 1107, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1099, "end": 1107, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1101, "end": 1107, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1108, "end": 1118, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1110, "end": 1118, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1110, "end": 1116, "ctxt": 0 }, "kind": "number" } } }, "typeParams": null }, { "type": "TsConstructSignatureDeclaration", "span": { "start": 1124, "end": 1150, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1129, "end": 1138, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1130, "end": 1138, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1132, "end": 1138, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1139, "end": 1149, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1141, "end": 1149, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1141, "end": 1147, "ctxt": 0 }, "kind": "string" } } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1153, "end": 1252, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1157, "end": 1252, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1157, "end": 1160, "ctxt": 0 }, "value": "a16", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1160, "end": 1252, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1162, "end": 1252, "ctxt": 0 }, "members": [ { "type": "TsConstructSignatureDeclaration", "span": { "start": 1168, "end": 1208, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1192, "end": 1196, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1193, "end": 1196, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1195, "end": 1196, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1195, "end": 1196, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1197, "end": 1207, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1199, "end": 1207, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1199, "end": 1205, "ctxt": 0 }, "kind": "number" } } }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1172, "end": 1191, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1173, "end": 1190, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1173, "end": 1174, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": { "type": "TsTypeReference", "span": { "start": 1183, "end": 1190, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1183, "end": 1190, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] } }, { "type": "TsConstructSignatureDeclaration", "span": { "start": 1213, "end": 1250, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1234, "end": 1238, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1235, "end": 1238, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1237, "end": 1238, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1237, "end": 1238, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1239, "end": 1249, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1241, "end": 1249, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1241, "end": 1247, "ctxt": 0 }, "kind": "number" } } }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1217, "end": 1233, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1218, "end": 1232, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1218, "end": 1219, "ctxt": 0 }, "value": "U", "optional": false }, "in": false, "out": false, "const": false, "constraint": { "type": "TsTypeReference", "span": { "start": 1228, "end": 1232, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1228, "end": 1232, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null } ] } } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1253, "end": 1366, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1257, "end": 1365, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1257, "end": 1260, "ctxt": 0 }, "value": "a17", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1260, "end": 1365, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1262, "end": 1365, "ctxt": 0 }, "members": [ { "type": "TsConstructSignatureDeclaration", "span": { "start": 1268, "end": 1313, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1273, "end": 1301, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1274, "end": 1301, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 1276, "end": 1301, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1281, "end": 1290, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1282, "end": 1290, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1284, "end": 1290, "ctxt": 0 }, "kind": "number" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1292, "end": 1301, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1295, "end": 1301, "ctxt": 0 }, "kind": "number" } }, "isAbstract": false } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1302, "end": 1312, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1304, "end": 1312, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1304, "end": 1310, "ctxt": 0 }, "kind": "number" } } }, "typeParams": null }, { "type": "TsConstructSignatureDeclaration", "span": { "start": 1318, "end": 1363, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1323, "end": 1351, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1324, "end": 1351, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 1326, "end": 1351, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1331, "end": 1340, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1332, "end": 1340, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1334, "end": 1340, "ctxt": 0 }, "kind": "string" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1342, "end": 1351, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1345, "end": 1351, "ctxt": 0 }, "kind": "string" } }, "isAbstract": false } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1352, "end": 1362, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1354, "end": 1362, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1354, "end": 1360, "ctxt": 0 }, "kind": "string" } } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1367, "end": 1567, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1371, "end": 1567, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1371, "end": 1374, "ctxt": 0 }, "value": "a18", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1374, "end": 1567, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1376, "end": 1567, "ctxt": 0 }, "members": [ { "type": "TsConstructSignatureDeclaration", "span": { "start": 1382, "end": 1472, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1387, "end": 1463, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1388, "end": 1463, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1390, "end": 1463, "ctxt": 0 }, "members": [ { "type": "TsConstructSignatureDeclaration", "span": { "start": 1400, "end": 1424, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1405, "end": 1414, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1406, "end": 1414, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1408, "end": 1414, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1415, "end": 1423, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1417, "end": 1423, "ctxt": 0 }, "kind": "number" } }, "typeParams": null }, { "type": "TsConstructSignatureDeclaration", "span": { "start": 1433, "end": 1457, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1438, "end": 1447, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1439, "end": 1447, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1441, "end": 1447, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1448, "end": 1456, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1450, "end": 1456, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1464, "end": 1471, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1466, "end": 1471, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1466, "end": 1469, "ctxt": 0 }, "kind": "any" } } }, "typeParams": null }, { "type": "TsConstructSignatureDeclaration", "span": { "start": 1477, "end": 1565, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1482, "end": 1556, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1483, "end": 1556, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1485, "end": 1556, "ctxt": 0 }, "members": [ { "type": "TsConstructSignatureDeclaration", "span": { "start": 1495, "end": 1521, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1500, "end": 1510, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1501, "end": 1510, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1503, "end": 1510, "ctxt": 0 }, "kind": "boolean" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1511, "end": 1520, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1513, "end": 1520, "ctxt": 0 }, "kind": "boolean" } }, "typeParams": null }, { "type": "TsConstructSignatureDeclaration", "span": { "start": 1530, "end": 1550, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1535, "end": 1542, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1536, "end": 1542, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1538, "end": 1542, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1538, "end": 1542, "ctxt": 0 }, "value": "Date", "optional": false }, "typeParams": null } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1543, "end": 1549, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1545, "end": 1549, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1545, "end": 1549, "ctxt": 0 }, "value": "Date", "optional": false }, "typeParams": null } }, "typeParams": null } ] } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1557, "end": 1564, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1559, "end": 1564, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1559, "end": 1562, "ctxt": 0 }, "kind": "any" } } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1569, "end": 1597, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1573, "end": 1596, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1573, "end": 1574, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1574, "end": 1596, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 1576, "end": 1596, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1584, "end": 1588, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1585, "end": 1588, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1587, "end": 1588, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1587, "end": 1588, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1580, "end": 1583, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1581, "end": 1582, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1581, "end": 1582, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1590, "end": 1596, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1593, "end": 1596, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 1593, "end": 1594, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1593, "end": 1594, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1599, "end": 1605, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1599, "end": 1604, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1599, "end": 1600, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1603, "end": 1604, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1612, "end": 1618, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1612, "end": 1617, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1612, "end": 1613, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1616, "end": 1617, "ctxt": 0 }, "value": "a", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1625, "end": 1659, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1629, "end": 1658, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1629, "end": 1631, "ctxt": 0 }, "value": "b2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1631, "end": 1658, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 1633, "end": 1658, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1641, "end": 1645, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1642, "end": 1645, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1644, "end": 1645, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1644, "end": 1645, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1637, "end": 1640, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1638, "end": 1639, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1638, "end": 1639, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1647, "end": 1658, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1650, "end": 1658, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1650, "end": 1656, "ctxt": 0 }, "kind": "string" } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1661, "end": 1669, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1661, "end": 1668, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1661, "end": 1663, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1666, "end": 1668, "ctxt": 0 }, "value": "b2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1677, "end": 1685, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1677, "end": 1684, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1677, "end": 1679, "ctxt": 0 }, "value": "b2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1682, "end": 1684, "ctxt": 0 }, "value": "a2", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1692, "end": 1719, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1696, "end": 1718, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1696, "end": 1698, "ctxt": 0 }, "value": "b3", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1698, "end": 1718, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 1700, "end": 1718, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1708, "end": 1712, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1709, "end": 1712, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1711, "end": 1712, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1711, "end": 1712, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1704, "end": 1707, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1705, "end": 1706, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1705, "end": 1706, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1714, "end": 1718, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1717, "end": 1718, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1717, "end": 1718, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1721, "end": 1729, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1721, "end": 1728, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1721, "end": 1723, "ctxt": 0 }, "value": "a3", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1726, "end": 1728, "ctxt": 0 }, "value": "b3", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1736, "end": 1744, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1736, "end": 1743, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1736, "end": 1738, "ctxt": 0 }, "value": "b3", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1741, "end": 1743, "ctxt": 0 }, "value": "a3", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1751, "end": 1787, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1755, "end": 1786, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1755, "end": 1757, "ctxt": 0 }, "value": "b4", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1757, "end": 1786, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 1759, "end": 1786, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1770, "end": 1774, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1771, "end": 1774, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1773, "end": 1774, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1773, "end": 1774, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1776, "end": 1780, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1777, "end": 1780, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1779, "end": 1780, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1779, "end": 1780, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1763, "end": 1769, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1764, "end": 1765, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1764, "end": 1765, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 1767, "end": 1768, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1767, "end": 1768, "ctxt": 0 }, "value": "U", "optional": false }, "in": false, "out": false, "const": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1782, "end": 1786, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1785, "end": 1786, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1785, "end": 1786, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1789, "end": 1797, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1789, "end": 1796, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1789, "end": 1791, "ctxt": 0 }, "value": "a4", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1794, "end": 1796, "ctxt": 0 }, "value": "b4", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1804, "end": 1812, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1804, "end": 1811, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1804, "end": 1806, "ctxt": 0 }, "value": "b4", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1809, "end": 1811, "ctxt": 0 }, "value": "a4", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1819, "end": 1861, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1823, "end": 1860, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1823, "end": 1825, "ctxt": 0 }, "value": "b5", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1825, "end": 1860, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 1827, "end": 1860, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1838, "end": 1854, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1839, "end": 1854, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1841, "end": 1854, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1842, "end": 1848, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1845, "end": 1848, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1847, "end": 1848, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1847, "end": 1848, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1850, "end": 1854, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1853, "end": 1854, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1853, "end": 1854, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1831, "end": 1837, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1832, "end": 1833, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1832, "end": 1833, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 1835, "end": 1836, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1835, "end": 1836, "ctxt": 0 }, "value": "U", "optional": false }, "in": false, "out": false, "const": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1856, "end": 1860, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1859, "end": 1860, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1859, "end": 1860, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1863, "end": 1871, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1863, "end": 1870, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1863, "end": 1865, "ctxt": 0 }, "value": "a5", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1868, "end": 1870, "ctxt": 0 }, "value": "b5", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1878, "end": 1886, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1878, "end": 1885, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1878, "end": 1880, "ctxt": 0 }, "value": "b5", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1883, "end": 1885, "ctxt": 0 }, "value": "a5", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1893, "end": 1964, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1897, "end": 1963, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1897, "end": 1899, "ctxt": 0 }, "value": "b6", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1899, "end": 1963, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 1901, "end": 1963, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1941, "end": 1957, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1942, "end": 1957, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1944, "end": 1957, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1945, "end": 1951, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1948, "end": 1951, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1950, "end": 1951, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1950, "end": 1951, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1953, "end": 1957, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1956, "end": 1957, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1956, "end": 1957, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1905, "end": 1940, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1906, "end": 1920, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1906, "end": 1907, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": { "type": "TsTypeReference", "span": { "start": 1916, "end": 1920, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1916, "end": 1920, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 1922, "end": 1939, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1922, "end": 1923, "ctxt": 0 }, "value": "U", "optional": false }, "in": false, "out": false, "const": false, "constraint": { "type": "TsTypeReference", "span": { "start": 1932, "end": 1939, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1932, "end": 1939, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1959, "end": 1963, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1962, "end": 1963, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1962, "end": 1963, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1966, "end": 1974, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1966, "end": 1973, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1966, "end": 1968, "ctxt": 0 }, "value": "a6", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1971, "end": 1973, "ctxt": 0 }, "value": "b6", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1981, "end": 1989, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1981, "end": 1988, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1981, "end": 1983, "ctxt": 0 }, "value": "b6", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1986, "end": 1988, "ctxt": 0 }, "value": "a6", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1996, "end": 2077, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2000, "end": 2076, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2000, "end": 2002, "ctxt": 0 }, "value": "b7", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2002, "end": 2076, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 2004, "end": 2076, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2044, "end": 2060, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2045, "end": 2060, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2047, "end": 2060, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2048, "end": 2054, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2051, "end": 2054, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2053, "end": 2054, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2053, "end": 2054, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2056, "end": 2060, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2059, "end": 2060, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2059, "end": 2060, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2008, "end": 2043, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2009, "end": 2023, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2009, "end": 2010, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": { "type": "TsTypeReference", "span": { "start": 2019, "end": 2023, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2019, "end": 2023, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 2025, "end": 2042, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2025, "end": 2026, "ctxt": 0 }, "value": "U", "optional": false }, "in": false, "out": false, "const": false, "constraint": { "type": "TsTypeReference", "span": { "start": 2035, "end": 2042, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2035, "end": 2042, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2062, "end": 2076, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2065, "end": 2076, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2066, "end": 2070, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2067, "end": 2070, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2069, "end": 2070, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2069, "end": 2070, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2072, "end": 2076, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2075, "end": 2076, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2075, "end": 2076, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2079, "end": 2087, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2079, "end": 2086, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2079, "end": 2081, "ctxt": 0 }, "value": "a7", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2084, "end": 2086, "ctxt": 0 }, "value": "b7", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2094, "end": 2102, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2094, "end": 2101, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2094, "end": 2096, "ctxt": 0 }, "value": "b7", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2099, "end": 2101, "ctxt": 0 }, "value": "a7", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2109, "end": 2209, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2113, "end": 2208, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2113, "end": 2115, "ctxt": 0 }, "value": "b8", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2115, "end": 2208, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 2117, "end": 2208, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2157, "end": 2173, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2158, "end": 2173, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2160, "end": 2173, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2161, "end": 2167, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2164, "end": 2167, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2166, "end": 2167, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2166, "end": 2167, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2169, "end": 2173, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2172, "end": 2173, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2172, "end": 2173, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } }, { "type": "Identifier", "span": { "start": 2175, "end": 2192, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2176, "end": 2192, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2178, "end": 2192, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2179, "end": 2186, "ctxt": 0 }, "value": "arg2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2183, "end": 2186, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2185, "end": 2186, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2185, "end": 2186, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2188, "end": 2192, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2191, "end": 2192, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2191, "end": 2192, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2121, "end": 2156, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2122, "end": 2136, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2122, "end": 2123, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": { "type": "TsTypeReference", "span": { "start": 2132, "end": 2136, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2132, "end": 2136, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 2138, "end": 2155, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2138, "end": 2139, "ctxt": 0 }, "value": "U", "optional": false }, "in": false, "out": false, "const": false, "constraint": { "type": "TsTypeReference", "span": { "start": 2148, "end": 2155, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2148, "end": 2155, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2194, "end": 2208, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2197, "end": 2208, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2198, "end": 2202, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2199, "end": 2202, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2201, "end": 2202, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2201, "end": 2202, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2204, "end": 2208, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2207, "end": 2208, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2207, "end": 2208, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2210, "end": 2218, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2210, "end": 2217, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2210, "end": 2212, "ctxt": 0 }, "value": "a8", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2215, "end": 2217, "ctxt": 0 }, "value": "b8", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2225, "end": 2233, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2225, "end": 2232, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2225, "end": 2227, "ctxt": 0 }, "value": "b8", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2230, "end": 2232, "ctxt": 0 }, "value": "a8", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2240, "end": 2368, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2244, "end": 2367, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2244, "end": 2246, "ctxt": 0 }, "value": "b9", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2246, "end": 2367, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 2248, "end": 2367, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2288, "end": 2304, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2289, "end": 2304, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2291, "end": 2304, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2292, "end": 2298, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2295, "end": 2298, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2297, "end": 2298, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2297, "end": 2298, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2300, "end": 2304, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2303, "end": 2304, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2303, "end": 2304, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } }, { "type": "Identifier", "span": { "start": 2306, "end": 2351, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2307, "end": 2351, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2309, "end": 2351, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2310, "end": 2345, "ctxt": 0 }, "value": "arg2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2314, "end": 2345, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 2316, "end": 2345, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 2318, "end": 2330, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2318, "end": 2321, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2321, "end": 2329, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2323, "end": 2329, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 2331, "end": 2343, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2331, "end": 2335, "ctxt": 0 }, "value": "bing", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2335, "end": 2343, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2337, "end": 2343, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2347, "end": 2351, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2350, "end": 2351, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2350, "end": 2351, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2252, "end": 2287, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2253, "end": 2267, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2253, "end": 2254, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": { "type": "TsTypeReference", "span": { "start": 2263, "end": 2267, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2263, "end": 2267, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 2269, "end": 2286, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2269, "end": 2270, "ctxt": 0 }, "value": "U", "optional": false }, "in": false, "out": false, "const": false, "constraint": { "type": "TsTypeReference", "span": { "start": 2279, "end": 2286, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2279, "end": 2286, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2353, "end": 2367, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2356, "end": 2367, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2357, "end": 2361, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2358, "end": 2361, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2360, "end": 2361, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2360, "end": 2361, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2363, "end": 2367, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2366, "end": 2367, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2366, "end": 2367, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2370, "end": 2378, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2370, "end": 2377, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2370, "end": 2372, "ctxt": 0 }, "value": "a9", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2375, "end": 2377, "ctxt": 0 }, "value": "b9", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2385, "end": 2393, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2385, "end": 2392, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2385, "end": 2387, "ctxt": 0 }, "value": "b9", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2390, "end": 2392, "ctxt": 0 }, "value": "a9", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2400, "end": 2449, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2404, "end": 2448, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2404, "end": 2407, "ctxt": 0 }, "value": "b10", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2407, "end": 2448, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 2409, "end": 2448, "ctxt": 0 }, "params": [ { "type": "RestElement", "span": { "start": 2433, "end": 2442, "ctxt": 0 }, "rest": { "start": 2433, "end": 2436, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 2436, "end": 2437, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2437, "end": 2442, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 2439, "end": 2442, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 2439, "end": 2440, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2439, "end": 2440, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2413, "end": 2432, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2414, "end": 2431, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2414, "end": 2415, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": { "type": "TsTypeReference", "span": { "start": 2424, "end": 2431, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2424, "end": 2431, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2444, "end": 2448, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2447, "end": 2448, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2447, "end": 2448, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2451, "end": 2461, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2451, "end": 2460, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2451, "end": 2454, "ctxt": 0 }, "value": "a10", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2457, "end": 2460, "ctxt": 0 }, "value": "b10", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2468, "end": 2478, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2468, "end": 2477, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2468, "end": 2471, "ctxt": 0 }, "value": "b10", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2474, "end": 2477, "ctxt": 0 }, "value": "a10", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2485, "end": 2532, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2489, "end": 2531, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2489, "end": 2492, "ctxt": 0 }, "value": "b11", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2492, "end": 2531, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 2494, "end": 2531, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2515, "end": 2519, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2516, "end": 2519, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2518, "end": 2519, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2518, "end": 2519, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 2521, "end": 2525, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2522, "end": 2525, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2524, "end": 2525, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2524, "end": 2525, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2498, "end": 2514, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2499, "end": 2513, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2499, "end": 2500, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": { "type": "TsTypeReference", "span": { "start": 2509, "end": 2513, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2509, "end": 2513, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2527, "end": 2531, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2530, "end": 2531, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2530, "end": 2531, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2534, "end": 2544, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2534, "end": 2543, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2534, "end": 2537, "ctxt": 0 }, "value": "a11", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2540, "end": 2543, "ctxt": 0 }, "value": "b11", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2551, "end": 2561, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2551, "end": 2560, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2551, "end": 2554, "ctxt": 0 }, "value": "b11", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2557, "end": 2560, "ctxt": 0 }, "value": "a11", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2568, "end": 2645, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2572, "end": 2644, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2572, "end": 2575, "ctxt": 0 }, "value": "b12", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2575, "end": 2644, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 2577, "end": 2644, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2605, "end": 2619, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2606, "end": 2619, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2608, "end": 2619, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2608, "end": 2613, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2613, "end": 2619, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2614, "end": 2618, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2614, "end": 2618, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } ] } } } }, { "type": "Identifier", "span": { "start": 2621, "end": 2625, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2622, "end": 2625, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2624, "end": 2625, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2624, "end": 2625, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2581, "end": 2604, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2582, "end": 2603, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2582, "end": 2583, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": { "type": "TsTypeReference", "span": { "start": 2592, "end": 2603, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2592, "end": 2597, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2597, "end": 2603, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2598, "end": 2602, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2598, "end": 2602, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } ] } }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2627, "end": 2644, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2630, "end": 2644, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2630, "end": 2635, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2635, "end": 2644, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2636, "end": 2643, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2636, "end": 2643, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } ] } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2647, "end": 2657, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2647, "end": 2656, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2647, "end": 2650, "ctxt": 0 }, "value": "a12", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2653, "end": 2656, "ctxt": 0 }, "value": "b12", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2664, "end": 2674, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2664, "end": 2673, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2664, "end": 2667, "ctxt": 0 }, "value": "b12", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2670, "end": 2673, "ctxt": 0 }, "value": "a12", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2681, "end": 2748, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2685, "end": 2747, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2685, "end": 2688, "ctxt": 0 }, "value": "b13", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2688, "end": 2747, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 2690, "end": 2747, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2721, "end": 2735, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2722, "end": 2735, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2724, "end": 2735, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2724, "end": 2729, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2729, "end": 2735, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2730, "end": 2734, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2730, "end": 2734, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } ] } } } }, { "type": "Identifier", "span": { "start": 2737, "end": 2741, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2738, "end": 2741, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2740, "end": 2741, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2740, "end": 2741, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2694, "end": 2720, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2695, "end": 2719, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2695, "end": 2696, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": { "type": "TsTypeReference", "span": { "start": 2705, "end": 2719, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2705, "end": 2710, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2710, "end": 2719, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2711, "end": 2718, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2711, "end": 2718, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } ] } }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2743, "end": 2747, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2746, "end": 2747, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2746, "end": 2747, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2750, "end": 2760, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2750, "end": 2759, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2750, "end": 2753, "ctxt": 0 }, "value": "a13", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2756, "end": 2759, "ctxt": 0 }, "value": "b13", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2767, "end": 2777, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2767, "end": 2776, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2767, "end": 2770, "ctxt": 0 }, "value": "b13", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2773, "end": 2776, "ctxt": 0 }, "value": "a13", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2784, "end": 2825, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2788, "end": 2824, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2788, "end": 2791, "ctxt": 0 }, "value": "b14", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2791, "end": 2824, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 2793, "end": 2824, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2801, "end": 2818, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2802, "end": 2818, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 2804, "end": 2818, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 2806, "end": 2811, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2806, "end": 2807, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2807, "end": 2810, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2809, "end": 2810, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2809, "end": 2810, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 2812, "end": 2816, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2812, "end": 2813, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2813, "end": 2816, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2815, "end": 2816, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2815, "end": 2816, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "typeParams": null } ] } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2797, "end": 2800, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2798, "end": 2799, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2798, "end": 2799, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2820, "end": 2824, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2823, "end": 2824, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2823, "end": 2824, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2827, "end": 2837, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2827, "end": 2836, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2827, "end": 2830, "ctxt": 0 }, "value": "a14", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2833, "end": 2836, "ctxt": 0 }, "value": "b14", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2844, "end": 2854, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2844, "end": 2853, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2844, "end": 2847, "ctxt": 0 }, "value": "b14", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2850, "end": 2853, "ctxt": 0 }, "value": "a14", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2861, "end": 2891, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2865, "end": 2890, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2865, "end": 2868, "ctxt": 0 }, "value": "b15", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2868, "end": 2890, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 2870, "end": 2890, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2878, "end": 2882, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2879, "end": 2882, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2881, "end": 2882, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2881, "end": 2882, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2874, "end": 2877, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2875, "end": 2876, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2875, "end": 2876, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2884, "end": 2890, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 2887, "end": 2890, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 2887, "end": 2888, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2887, "end": 2888, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2893, "end": 2903, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2893, "end": 2902, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2893, "end": 2896, "ctxt": 0 }, "value": "a15", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2899, "end": 2902, "ctxt": 0 }, "value": "b15", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2910, "end": 2920, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2910, "end": 2919, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2910, "end": 2913, "ctxt": 0 }, "value": "b15", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2916, "end": 2919, "ctxt": 0 }, "value": "a15", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2927, "end": 2975, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2931, "end": 2974, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2931, "end": 2934, "ctxt": 0 }, "value": "b16", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2934, "end": 2974, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 2936, "end": 2974, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2957, "end": 2961, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2958, "end": 2961, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2960, "end": 2961, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2960, "end": 2961, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2940, "end": 2956, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2941, "end": 2955, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2941, "end": 2942, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": { "type": "TsTypeReference", "span": { "start": 2951, "end": 2955, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2951, "end": 2955, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2963, "end": 2974, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 2966, "end": 2974, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 2966, "end": 2972, "ctxt": 0 }, "kind": "number" } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2976, "end": 2986, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2976, "end": 2985, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2976, "end": 2979, "ctxt": 0 }, "value": "a16", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2982, "end": 2985, "ctxt": 0 }, "value": "b16", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2993, "end": 3003, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2993, "end": 3002, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2993, "end": 2996, "ctxt": 0 }, "value": "b16", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2999, "end": 3002, "ctxt": 0 }, "value": "a16", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 3010, "end": 3054, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3014, "end": 3053, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3014, "end": 3017, "ctxt": 0 }, "value": "b17", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3017, "end": 3053, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 3019, "end": 3053, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3027, "end": 3045, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3028, "end": 3045, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 3030, "end": 3045, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3035, "end": 3039, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3036, "end": 3039, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3038, "end": 3039, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3038, "end": 3039, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3041, "end": 3045, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3044, "end": 3045, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3044, "end": 3045, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "isAbstract": false } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 3023, "end": 3026, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3024, "end": 3025, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3024, "end": 3025, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3047, "end": 3053, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 3050, "end": 3053, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 3050, "end": 3051, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3050, "end": 3051, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 3061, "end": 3071, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3061, "end": 3070, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 3061, "end": 3064, "ctxt": 0 }, "value": "a17", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 3067, "end": 3070, "ctxt": 0 }, "value": "b17", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 3078, "end": 3088, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3078, "end": 3087, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 3078, "end": 3081, "ctxt": 0 }, "value": "b17", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 3084, "end": 3087, "ctxt": 0 }, "value": "a17", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 3095, "end": 3139, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3099, "end": 3138, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3099, "end": 3102, "ctxt": 0 }, "value": "b18", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3102, "end": 3138, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 3104, "end": 3138, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3112, "end": 3130, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3113, "end": 3130, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 3115, "end": 3130, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3120, "end": 3124, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3121, "end": 3124, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3123, "end": 3124, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3123, "end": 3124, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3126, "end": 3130, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3129, "end": 3130, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3129, "end": 3130, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "isAbstract": false } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 3108, "end": 3111, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3109, "end": 3110, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3109, "end": 3110, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3132, "end": 3138, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 3135, "end": 3138, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 3135, "end": 3136, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3135, "end": 3136, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, "isAbstract": false } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 3141, "end": 3151, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3141, "end": 3150, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 3141, "end": 3144, "ctxt": 0 }, "value": "a18", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 3147, "end": 3150, "ctxt": 0 }, "value": "b18", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 3158, "end": 3168, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3158, "end": 3167, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 3158, "end": 3161, "ctxt": 0 }, "value": "b18", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 3164, "end": 3167, "ctxt": 0 }, "value": "a18", "optional": false } } } ], "interpreter": null }