{ "type": "Script", "span": { "start": 103, "end": 3320, "ctxt": 0 }, "body": [ { "type": "VariableDeclaration", "span": { "start": 103, "end": 119, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 107, "end": 118, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 107, "end": 108, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 111, "end": 118, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 112, "end": 113, "ctxt": 0 }, "value": 1.0 } }, { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 115, "end": 117, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 129, "end": 147, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 133, "end": 146, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 133, "end": 134, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 137, "end": 146, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 138, "end": 139, "ctxt": 0 }, "value": 1.0 } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 141, "end": 145, "ctxt": 0 } } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 161, "end": 183, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 165, "end": 182, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 165, "end": 166, "ctxt": 0 }, "value": "c", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 169, "end": 182, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 170, "end": 171, "ctxt": 0 }, "value": 1.0 } }, { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 173, "end": 175, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 177, "end": 181, "ctxt": 0 } } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 193, "end": 209, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 197, "end": 208, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 197, "end": 198, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 201, "end": 208, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ObjectExpression", "span": { "start": 202, "end": 204, "ctxt": 0 }, "properties": [] } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 206, "end": 207, "ctxt": 0 }, "value": 1.0 } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 219, "end": 240, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 223, "end": 239, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 223, "end": 224, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 227, "end": 239, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ObjectExpression", "span": { "start": 228, "end": 230, "ctxt": 0 }, "properties": [] } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 232, "end": 238, "ctxt": 0 }, "value": "Object", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 252, "end": 270, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 256, "end": 269, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 256, "end": 257, "ctxt": 0 }, "value": "f", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 260, "end": 269, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 261, "end": 263, "ctxt": 0 }, "elements": [] } }, { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 265, "end": 268, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 266, "end": 267, "ctxt": 0 }, "value": 1.0 } } ] } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 286, "end": 306, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 290, "end": 305, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 290, "end": 291, "ctxt": 0 }, "value": "g", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 294, "end": 305, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 295, "end": 298, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 296, "end": 297, "ctxt": 0 }, "value": 1.0 } } ] } }, { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 300, "end": 304, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 301, "end": 303, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 318, "end": 360, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 322, "end": 359, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 322, "end": 323, "ctxt": 0 }, "value": "h", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 326, "end": 359, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ObjectExpression", "span": { "start": 327, "end": 346, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 329, "end": 332, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 334, "end": 335, "ctxt": 0 }, "value": 1.0 } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 337, "end": 340, "ctxt": 0 }, "value": "bar", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 342, "end": 344, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } }, { "spread": null, "expression": { "type": "ObjectExpression", "span": { "start": 348, "end": 358, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 350, "end": 353, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 355, "end": 356, "ctxt": 0 }, "value": 2.0 } } ] } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 381, "end": 424, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 385, "end": 423, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 385, "end": 386, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 389, "end": 423, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ObjectExpression", "span": { "start": 390, "end": 409, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 392, "end": 395, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 397, "end": 398, "ctxt": 0 }, "value": 1.0 } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 400, "end": 403, "ctxt": 0 }, "value": "bar", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 405, "end": 407, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } }, { "spread": null, "expression": { "type": "ObjectExpression", "span": { "start": 411, "end": 422, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 413, "end": 416, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 418, "end": 420, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 436, "end": 464, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 440, "end": 463, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 440, "end": 441, "ctxt": 0 }, "value": "j", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 444, "end": 463, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 445, "end": 452, "ctxt": 0 }, "params": [], "body": { "type": "NumericLiteral", "span": { "start": 451, "end": 452, "ctxt": 0 }, "value": 1.0 }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 454, "end": 462, "ctxt": 0 }, "params": [], "body": { "type": "StringLiteral", "span": { "start": 460, "end": 462, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 474, "end": 501, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 478, "end": 500, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 478, "end": 479, "ctxt": 0 }, "value": "k", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 482, "end": 500, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 483, "end": 490, "ctxt": 0 }, "params": [], "body": { "type": "NumericLiteral", "span": { "start": 489, "end": 490, "ctxt": 0 }, "value": 1.0 }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 492, "end": 499, "ctxt": 0 }, "params": [], "body": { "type": "NumericLiteral", "span": { "start": 498, "end": 499, "ctxt": 0 }, "value": 1.0 }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 523, "end": 553, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 527, "end": 552, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 527, "end": 528, "ctxt": 0 }, "value": "l", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 531, "end": 552, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 532, "end": 539, "ctxt": 0 }, "params": [], "body": { "type": "NumericLiteral", "span": { "start": 538, "end": 539, "ctxt": 0 }, "value": 1.0 }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 541, "end": 551, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 547, "end": 551, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 572, "end": 612, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 576, "end": 611, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 576, "end": 577, "ctxt": 0 }, "value": "m", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 580, "end": 611, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 581, "end": 588, "ctxt": 0 }, "params": [], "body": { "type": "NumericLiteral", "span": { "start": 587, "end": 588, "ctxt": 0 }, "value": 1.0 }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 590, "end": 598, "ctxt": 0 }, "params": [], "body": { "type": "StringLiteral", "span": { "start": 596, "end": 598, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 600, "end": 610, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 606, "end": 610, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 631, "end": 663, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 635, "end": 662, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 635, "end": 636, "ctxt": 0 }, "value": "n", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 639, "end": 662, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 640, "end": 649, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 641, "end": 648, "ctxt": 0 }, "params": [], "body": { "type": "NumericLiteral", "span": { "start": 647, "end": 648, "ctxt": 0 }, "value": 1.0 }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] } }, { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 651, "end": 661, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 652, "end": 660, "ctxt": 0 }, "params": [], "body": { "type": "StringLiteral", "span": { "start": 658, "end": 660, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] } } ] }, "definite": false } ] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 681, "end": 685, "ctxt": 0 }, "value": "Base", "optional": false }, "declare": false, "span": { "start": 675, "end": 702, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 688, "end": 700, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 688, "end": 691, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 691, "end": 699, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 693, "end": 699, "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": 710, "end": 717, "ctxt": 0 }, "value": "Derived", "optional": false }, "declare": false, "span": { "start": 704, "end": 747, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 733, "end": 745, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 733, "end": 736, "ctxt": 0 }, "value": "bar", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 736, "end": 744, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 738, "end": 744, "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": 726, "end": 730, "ctxt": 0 }, "value": "Base", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 755, "end": 763, "ctxt": 0 }, "value": "Derived2", "optional": false }, "declare": false, "span": { "start": 749, "end": 793, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 779, "end": 791, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 779, "end": 782, "ctxt": 0 }, "value": "baz", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 782, "end": 790, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 784, "end": 790, "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": 772, "end": 776, "ctxt": 0 }, "value": "Base", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "VariableDeclaration", "span": { "start": 795, "end": 810, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 799, "end": 809, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 799, "end": 803, "ctxt": 0 }, "value": "base", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 803, "end": 809, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 805, "end": 809, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 805, "end": 809, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 812, "end": 833, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 816, "end": 832, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 816, "end": 823, "ctxt": 0 }, "value": "derived", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 823, "end": 832, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 825, "end": 832, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 825, "end": 832, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 835, "end": 858, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 839, "end": 857, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 839, "end": 847, "ctxt": 0 }, "value": "derived2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 847, "end": 857, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 849, "end": 857, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 849, "end": 857, "ctxt": 0 }, "value": "Derived2", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "TsModuleDeclaration", "span": { "start": 862, "end": 1491, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 869, "end": 876, "ctxt": 0 }, "value": "Derived", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 877, "end": 1491, "ctxt": 0 }, "body": [ { "type": "VariableDeclaration", "span": { "start": 884, "end": 940, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 888, "end": 939, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 888, "end": 889, "ctxt": 0 }, "value": "h", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 892, "end": 939, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ObjectExpression", "span": { "start": 893, "end": 923, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 895, "end": 898, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "Identifier", "span": { "start": 900, "end": 904, "ctxt": 0 }, "value": "base", "optional": false } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 906, "end": 912, "ctxt": 0 }, "value": "basear", "optional": false }, "value": { "type": "Identifier", "span": { "start": 914, "end": 921, "ctxt": 0 }, "value": "derived", "optional": false } } ] } }, { "spread": null, "expression": { "type": "ObjectExpression", "span": { "start": 925, "end": 938, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 927, "end": 930, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "Identifier", "span": { "start": 932, "end": 936, "ctxt": 0 }, "value": "base", "optional": false } } ] } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 963, "end": 1022, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 967, "end": 1021, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 967, "end": 968, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 971, "end": 1021, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ObjectExpression", "span": { "start": 972, "end": 1002, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 974, "end": 977, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "Identifier", "span": { "start": 979, "end": 983, "ctxt": 0 }, "value": "base", "optional": false } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 985, "end": 991, "ctxt": 0 }, "value": "basear", "optional": false }, "value": { "type": "Identifier", "span": { "start": 993, "end": 1000, "ctxt": 0 }, "value": "derived", "optional": false } } ] } }, { "spread": null, "expression": { "type": "ObjectExpression", "span": { "start": 1004, "end": 1020, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1006, "end": 1009, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "Identifier", "span": { "start": 1011, "end": 1018, "ctxt": 0 }, "value": "derived", "optional": false } } ] } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1050, "end": 1086, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1054, "end": 1085, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1054, "end": 1055, "ctxt": 0 }, "value": "j", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1058, "end": 1085, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1059, "end": 1069, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1065, "end": 1069, "ctxt": 0 }, "value": "base", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1071, "end": 1084, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1077, "end": 1084, "ctxt": 0 }, "value": "derived", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1108, "end": 1138, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1112, "end": 1137, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1112, "end": 1113, "ctxt": 0 }, "value": "k", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1116, "end": 1137, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1117, "end": 1127, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1123, "end": 1127, "ctxt": 0 }, "value": "base", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1129, "end": 1136, "ctxt": 0 }, "params": [], "body": { "type": "NumericLiteral", "span": { "start": 1135, "end": 1136, "ctxt": 0 }, "value": 1.0 }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1153, "end": 1186, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1157, "end": 1185, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1157, "end": 1158, "ctxt": 0 }, "value": "l", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1161, "end": 1185, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1162, "end": 1172, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1168, "end": 1172, "ctxt": 0 }, "value": "base", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1174, "end": 1184, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 1180, "end": 1184, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1209, "end": 1257, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1213, "end": 1256, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1213, "end": 1214, "ctxt": 0 }, "value": "m", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1217, "end": 1256, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1218, "end": 1228, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1224, "end": 1228, "ctxt": 0 }, "value": "base", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1230, "end": 1243, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1236, "end": 1243, "ctxt": 0 }, "value": "derived", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1245, "end": 1255, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 1251, "end": 1255, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1280, "end": 1320, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1284, "end": 1319, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1284, "end": 1285, "ctxt": 0 }, "value": "n", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1288, "end": 1319, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 1289, "end": 1301, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1290, "end": 1300, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1296, "end": 1300, "ctxt": 0 }, "value": "base", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] } }, { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 1303, "end": 1318, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1304, "end": 1317, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1310, "end": 1317, "ctxt": 0 }, "value": "derived", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1344, "end": 1372, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1348, "end": 1371, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1348, "end": 1349, "ctxt": 0 }, "value": "o", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1352, "end": 1371, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1353, "end": 1360, "ctxt": 0 }, "value": "derived", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1362, "end": 1370, "ctxt": 0 }, "value": "derived2", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1386, "end": 1420, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1390, "end": 1419, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1390, "end": 1391, "ctxt": 0 }, "value": "p", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1394, "end": 1419, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1395, "end": 1402, "ctxt": 0 }, "value": "derived", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1404, "end": 1412, "ctxt": 0 }, "value": "derived2", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1414, "end": 1418, "ctxt": 0 }, "value": "base", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1436, "end": 1480, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1440, "end": 1479, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1440, "end": 1441, "ctxt": 0 }, "value": "q", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1444, "end": 1479, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 1445, "end": 1461, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1446, "end": 1460, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1452, "end": 1460, "ctxt": 0 }, "value": "derived2", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] } }, { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 1463, "end": 1478, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1464, "end": 1477, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1470, "end": 1477, "ctxt": 0 }, "value": "derived", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] } } ] }, "definite": false } ] } ] } }, { "type": "TsModuleDeclaration", "span": { "start": 1495, "end": 1707, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 1502, "end": 1520, "ctxt": 0 }, "value": "WithContextualType", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 1521, "end": 1707, "ctxt": 0 }, "body": [ { "type": "VariableDeclaration", "span": { "start": 1546, "end": 1582, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1550, "end": 1581, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1550, "end": 1551, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1551, "end": 1559, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1553, "end": 1559, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 1553, "end": 1557, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1553, "end": 1557, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } }, "init": { "type": "ArrayExpression", "span": { "start": 1562, "end": 1581, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1563, "end": 1570, "ctxt": 0 }, "value": "derived", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1572, "end": 1580, "ctxt": 0 }, "value": "derived2", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1588, "end": 1614, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1592, "end": 1613, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1592, "end": 1593, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1593, "end": 1604, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1595, "end": 1604, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 1595, "end": 1602, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1595, "end": 1602, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } }, "init": { "type": "ArrayExpression", "span": { "start": 1607, "end": 1613, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 1608, "end": 1612, "ctxt": 0 } } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1620, "end": 1642, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1624, "end": 1641, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1624, "end": 1625, "ctxt": 0 }, "value": "c", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1625, "end": 1636, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1627, "end": 1636, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 1627, "end": 1634, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1627, "end": 1634, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } }, "init": { "type": "ArrayExpression", "span": { "start": 1639, "end": 1641, "ctxt": 0 }, "elements": [] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1648, "end": 1704, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1652, "end": 1703, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1652, "end": 1653, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1653, "end": 1669, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1655, "end": 1669, "ctxt": 0 }, "elemType": { "type": "TsTypeLiteral", "span": { "start": 1655, "end": 1667, "ctxt": 0 }, "members": [ { "type": "TsCallSignatureDeclaration", "span": { "start": 1657, "end": 1665, "ctxt": 0 }, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1659, "end": 1665, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1661, "end": 1665, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1661, "end": 1665, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null } ] } } } }, "init": { "type": "ArrayExpression", "span": { "start": 1672, "end": 1703, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1673, "end": 1686, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1679, "end": 1686, "ctxt": 0 }, "value": "derived", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1688, "end": 1702, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1694, "end": 1702, "ctxt": 0 }, "value": "derived2", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] } ] } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1720, "end": 1723, "ctxt": 0 }, "value": "foo", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 1730, "end": 1734, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1730, "end": 1734, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1731, "end": 1734, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1733, "end": 1734, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1733, "end": 1734, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 1736, "end": 1740, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1736, "end": 1740, "ctxt": 0 }, "value": "u", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1737, "end": 1740, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1739, "end": 1740, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1739, "end": 1740, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 1711, "end": 1966, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1742, "end": 1966, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 1749, "end": 1764, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1753, "end": 1763, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1753, "end": 1754, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1757, "end": 1763, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1758, "end": 1759, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1761, "end": 1762, "ctxt": 0 }, "value": "t", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1777, "end": 1795, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1781, "end": 1794, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1781, "end": 1782, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1785, "end": 1794, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1786, "end": 1787, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 1789, "end": 1793, "ctxt": 0 } } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1808, "end": 1823, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1812, "end": 1822, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1812, "end": 1813, "ctxt": 0 }, "value": "c", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1816, "end": 1822, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1817, "end": 1818, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1820, "end": 1821, "ctxt": 0 }, "value": "u", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1837, "end": 1852, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1841, "end": 1851, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1841, "end": 1842, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1845, "end": 1851, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1846, "end": 1847, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1849, "end": 1850, "ctxt": 0 }, "value": 1.0 } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1866, "end": 1893, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1870, "end": 1892, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1870, "end": 1871, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1874, "end": 1892, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1875, "end": 1882, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1881, "end": 1882, "ctxt": 0 }, "value": "t", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1884, "end": 1891, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1890, "end": 1891, "ctxt": 0 }, "value": "u", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1907, "end": 1946, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1911, "end": 1945, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1911, "end": 1912, "ctxt": 0 }, "value": "f", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1915, "end": 1945, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1916, "end": 1923, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1922, "end": 1923, "ctxt": 0 }, "value": "t", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1925, "end": 1932, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1931, "end": 1932, "ctxt": 0 }, "value": "u", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1934, "end": 1944, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 1940, "end": 1944, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] } ] }, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 1723, "end": 1729, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1724, "end": 1725, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1724, "end": 1725, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 1727, "end": 1728, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1727, "end": 1728, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": null, "default": null } ] }, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1979, "end": 1983, "ctxt": 0 }, "value": "foo2", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 2019, "end": 2023, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 2019, "end": 2023, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2020, "end": 2023, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2022, "end": 2023, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2022, "end": 2023, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 2025, "end": 2029, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 2025, "end": 2029, "ctxt": 0 }, "value": "u", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2026, "end": 2029, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2028, "end": 2029, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2028, "end": 2029, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 1970, "end": 2405, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 2031, "end": 2405, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 2038, "end": 2053, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2042, "end": 2052, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2042, "end": 2043, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2046, "end": 2052, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2047, "end": 2048, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2050, "end": 2051, "ctxt": 0 }, "value": "t", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2066, "end": 2084, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2070, "end": 2083, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2070, "end": 2071, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2074, "end": 2083, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2075, "end": 2076, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 2078, "end": 2082, "ctxt": 0 } } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2097, "end": 2112, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2101, "end": 2111, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2101, "end": 2102, "ctxt": 0 }, "value": "c", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2105, "end": 2111, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2106, "end": 2107, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2109, "end": 2110, "ctxt": 0 }, "value": "u", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2126, "end": 2141, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2130, "end": 2140, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2130, "end": 2131, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2134, "end": 2140, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2135, "end": 2136, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 2138, "end": 2139, "ctxt": 0 }, "value": 1.0 } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2155, "end": 2182, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2159, "end": 2181, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2159, "end": 2160, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2163, "end": 2181, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2164, "end": 2171, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 2170, "end": 2171, "ctxt": 0 }, "value": "t", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2173, "end": 2180, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 2179, "end": 2180, "ctxt": 0 }, "value": "u", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2196, "end": 2235, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2200, "end": 2234, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2200, "end": 2201, "ctxt": 0 }, "value": "f", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2204, "end": 2234, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2205, "end": 2212, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 2211, "end": 2212, "ctxt": 0 }, "value": "t", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2214, "end": 2221, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 2220, "end": 2221, "ctxt": 0 }, "value": "u", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2223, "end": 2233, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 2229, "end": 2233, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2260, "end": 2278, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2264, "end": 2277, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2264, "end": 2265, "ctxt": 0 }, "value": "g", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2268, "end": 2277, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2269, "end": 2270, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2272, "end": 2276, "ctxt": 0 }, "value": "base", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2294, "end": 2315, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2298, "end": 2314, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2298, "end": 2299, "ctxt": 0 }, "value": "h", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2302, "end": 2314, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2303, "end": 2304, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2306, "end": 2313, "ctxt": 0 }, "value": "derived", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2334, "end": 2352, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2338, "end": 2351, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2338, "end": 2339, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2342, "end": 2351, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2343, "end": 2344, "ctxt": 0 }, "value": "u", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2346, "end": 2350, "ctxt": 0 }, "value": "base", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2368, "end": 2389, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2372, "end": 2388, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2372, "end": 2373, "ctxt": 0 }, "value": "j", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2376, "end": 2388, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2377, "end": 2378, "ctxt": 0 }, "value": "u", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2380, "end": 2387, "ctxt": 0 }, "value": "derived", "optional": false } } ] }, "definite": false } ] } ] }, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 1983, "end": 2018, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1984, "end": 1998, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1984, "end": 1985, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 1994, "end": 1998, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1994, "end": 1998, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 2000, "end": 2017, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2000, "end": 2001, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2010, "end": 2017, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2010, "end": 2017, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 2418, "end": 2422, "ctxt": 0 }, "value": "foo3", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 2461, "end": 2465, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 2461, "end": 2465, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2462, "end": 2465, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2464, "end": 2465, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2464, "end": 2465, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 2467, "end": 2471, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 2467, "end": 2471, "ctxt": 0 }, "value": "u", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2468, "end": 2471, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2470, "end": 2471, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2470, "end": 2471, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 2409, "end": 2847, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 2473, "end": 2847, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 2480, "end": 2495, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2484, "end": 2494, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2484, "end": 2485, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2488, "end": 2494, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2489, "end": 2490, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2492, "end": 2493, "ctxt": 0 }, "value": "t", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2508, "end": 2526, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2512, "end": 2525, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2512, "end": 2513, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2516, "end": 2525, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2517, "end": 2518, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 2520, "end": 2524, "ctxt": 0 } } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2539, "end": 2554, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2543, "end": 2553, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2543, "end": 2544, "ctxt": 0 }, "value": "c", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2547, "end": 2553, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2548, "end": 2549, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2551, "end": 2552, "ctxt": 0 }, "value": "u", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2568, "end": 2583, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2572, "end": 2582, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2572, "end": 2573, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2576, "end": 2582, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2577, "end": 2578, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 2580, "end": 2581, "ctxt": 0 }, "value": 1.0 } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2597, "end": 2624, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2601, "end": 2623, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2601, "end": 2602, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2605, "end": 2623, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2606, "end": 2613, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 2612, "end": 2613, "ctxt": 0 }, "value": "t", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2615, "end": 2622, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 2621, "end": 2622, "ctxt": 0 }, "value": "u", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2638, "end": 2677, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2642, "end": 2676, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2642, "end": 2643, "ctxt": 0 }, "value": "f", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2646, "end": 2676, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2647, "end": 2654, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 2653, "end": 2654, "ctxt": 0 }, "value": "t", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2656, "end": 2663, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 2662, "end": 2663, "ctxt": 0 }, "value": "u", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2665, "end": 2675, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 2671, "end": 2675, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2702, "end": 2720, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2706, "end": 2719, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2706, "end": 2707, "ctxt": 0 }, "value": "g", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2710, "end": 2719, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2711, "end": 2712, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2714, "end": 2718, "ctxt": 0 }, "value": "base", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2736, "end": 2757, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2740, "end": 2756, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2740, "end": 2741, "ctxt": 0 }, "value": "h", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2744, "end": 2756, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2745, "end": 2746, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2748, "end": 2755, "ctxt": 0 }, "value": "derived", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2776, "end": 2794, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2780, "end": 2793, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2780, "end": 2781, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2784, "end": 2793, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2785, "end": 2786, "ctxt": 0 }, "value": "u", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2788, "end": 2792, "ctxt": 0 }, "value": "base", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2810, "end": 2831, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2814, "end": 2830, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2814, "end": 2815, "ctxt": 0 }, "value": "j", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2818, "end": 2830, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2819, "end": 2820, "ctxt": 0 }, "value": "u", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2822, "end": 2829, "ctxt": 0 }, "value": "derived", "optional": false } } ] }, "definite": false } ] } ] }, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 2422, "end": 2460, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2423, "end": 2440, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2423, "end": 2424, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2433, "end": 2440, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2433, "end": 2440, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 2442, "end": 2459, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2442, "end": 2443, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2452, "end": 2459, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2452, "end": 2459, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 2860, "end": 2864, "ctxt": 0 }, "value": "foo4", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 2897, "end": 2901, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 2897, "end": 2901, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2898, "end": 2901, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2900, "end": 2901, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2900, "end": 2901, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 2903, "end": 2907, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 2903, "end": 2907, "ctxt": 0 }, "value": "u", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2904, "end": 2907, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2906, "end": 2907, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2906, "end": 2907, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 2851, "end": 3320, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 2909, "end": 3320, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 2916, "end": 2931, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2920, "end": 2930, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2920, "end": 2921, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2924, "end": 2930, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2925, "end": 2926, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2928, "end": 2929, "ctxt": 0 }, "value": "t", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2944, "end": 2962, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2948, "end": 2961, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2948, "end": 2949, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2952, "end": 2961, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2953, "end": 2954, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 2956, "end": 2960, "ctxt": 0 } } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2975, "end": 2990, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2979, "end": 2989, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2979, "end": 2980, "ctxt": 0 }, "value": "c", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2983, "end": 2989, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2984, "end": 2985, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2987, "end": 2988, "ctxt": 0 }, "value": "u", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3010, "end": 3025, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3014, "end": 3024, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3014, "end": 3015, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 3018, "end": 3024, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3019, "end": 3020, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 3022, "end": 3023, "ctxt": 0 }, "value": 1.0 } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3039, "end": 3066, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3043, "end": 3065, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3043, "end": 3044, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 3047, "end": 3065, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 3048, "end": 3055, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 3054, "end": 3055, "ctxt": 0 }, "value": "t", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 3057, "end": 3064, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 3063, "end": 3064, "ctxt": 0 }, "value": "u", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3080, "end": 3119, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3084, "end": 3118, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3084, "end": 3085, "ctxt": 0 }, "value": "f", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 3088, "end": 3118, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 3089, "end": 3096, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 3095, "end": 3096, "ctxt": 0 }, "value": "t", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 3098, "end": 3105, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 3104, "end": 3105, "ctxt": 0 }, "value": "u", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 3107, "end": 3117, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 3113, "end": 3117, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3144, "end": 3162, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3148, "end": 3161, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3148, "end": 3149, "ctxt": 0 }, "value": "g", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 3152, "end": 3161, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3153, "end": 3154, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3156, "end": 3160, "ctxt": 0 }, "value": "base", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3178, "end": 3199, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3182, "end": 3198, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3182, "end": 3183, "ctxt": 0 }, "value": "h", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 3186, "end": 3198, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3187, "end": 3188, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3190, "end": 3197, "ctxt": 0 }, "value": "derived", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3218, "end": 3236, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3222, "end": 3235, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3222, "end": 3223, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 3226, "end": 3235, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3227, "end": 3228, "ctxt": 0 }, "value": "u", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3230, "end": 3234, "ctxt": 0 }, "value": "base", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3252, "end": 3273, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3256, "end": 3272, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3256, "end": 3257, "ctxt": 0 }, "value": "j", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 3260, "end": 3272, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3261, "end": 3262, "ctxt": 0 }, "value": "u", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3264, "end": 3271, "ctxt": 0 }, "value": "derived", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3294, "end": 3317, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3298, "end": 3316, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3298, "end": 3299, "ctxt": 0 }, "value": "k", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3299, "end": 3307, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 3301, "end": 3307, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 3301, "end": 3305, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3301, "end": 3305, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } }, "init": { "type": "ArrayExpression", "span": { "start": 3310, "end": 3316, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3311, "end": 3312, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3314, "end": 3315, "ctxt": 0 }, "value": "u", "optional": false } } ] }, "definite": false } ] } ] }, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 2864, "end": 2896, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2865, "end": 2879, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2865, "end": 2866, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2875, "end": 2879, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2875, "end": 2879, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 2881, "end": 2895, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2881, "end": 2882, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2891, "end": 2895, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2891, "end": 2895, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null } ] }, "returnType": null } ], "interpreter": null }