{ "type": "Script", "span": { "start": 101, "end": 3220, "ctxt": 0 }, "body": [ { "type": "VariableDeclaration", "span": { "start": 101, "end": 117, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 105, "end": 116, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 105, "end": 106, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 109, "end": 116, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 110, "end": 111, "ctxt": 0 }, "value": 1.0 } }, { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 113, "end": 115, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 126, "end": 144, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 130, "end": 143, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 130, "end": 131, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 134, "end": 143, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 135, "end": 136, "ctxt": 0 }, "value": 1.0 } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 138, "end": 142, "ctxt": 0 } } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 157, "end": 179, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 161, "end": 178, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 161, "end": 162, "ctxt": 0 }, "value": "c", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 165, "end": 178, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 166, "end": 167, "ctxt": 0 }, "value": 1.0 } }, { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 169, "end": 171, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 173, "end": 177, "ctxt": 0 } } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 188, "end": 204, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 192, "end": 203, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 192, "end": 193, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 196, "end": 203, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ObjectExpression", "span": { "start": 197, "end": 199, "ctxt": 0 }, "properties": [] } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 201, "end": 202, "ctxt": 0 }, "value": 1.0 } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 213, "end": 234, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 217, "end": 233, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 217, "end": 218, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 221, "end": 233, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ObjectExpression", "span": { "start": 222, "end": 224, "ctxt": 0 }, "properties": [] } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 226, "end": 232, "ctxt": 0 }, "value": "Object", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 244, "end": 262, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 248, "end": 261, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 248, "end": 249, "ctxt": 0 }, "value": "f", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 252, "end": 261, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 253, "end": 255, "ctxt": 0 }, "elements": [] } }, { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 257, "end": 260, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 258, "end": 259, "ctxt": 0 }, "value": 1.0 } } ] } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 277, "end": 297, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 281, "end": 296, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 281, "end": 282, "ctxt": 0 }, "value": "g", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 285, "end": 296, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 286, "end": 289, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 287, "end": 288, "ctxt": 0 }, "value": 1.0 } } ] } }, { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 291, "end": 295, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 292, "end": 294, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 307, "end": 349, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 311, "end": 348, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 311, "end": 312, "ctxt": 0 }, "value": "h", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 315, "end": 348, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ObjectExpression", "span": { "start": 316, "end": 335, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 318, "end": 321, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 323, "end": 324, "ctxt": 0 }, "value": 1.0 } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 326, "end": 329, "ctxt": 0 }, "value": "bar", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 331, "end": 333, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } }, { "spread": null, "expression": { "type": "ObjectExpression", "span": { "start": 337, "end": 347, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 339, "end": 342, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 344, "end": 345, "ctxt": 0 }, "value": 2.0 } } ] } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 369, "end": 412, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 373, "end": 411, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 373, "end": 374, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 377, "end": 411, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ObjectExpression", "span": { "start": 378, "end": 397, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 380, "end": 383, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 385, "end": 386, "ctxt": 0 }, "value": 1.0 } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 388, "end": 391, "ctxt": 0 }, "value": "bar", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 393, "end": 395, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } }, { "spread": null, "expression": { "type": "ObjectExpression", "span": { "start": 399, "end": 410, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 401, "end": 404, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 406, "end": 408, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 422, "end": 450, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 426, "end": 449, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 426, "end": 427, "ctxt": 0 }, "value": "j", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 430, "end": 449, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 431, "end": 438, "ctxt": 0 }, "params": [], "body": { "type": "NumericLiteral", "span": { "start": 437, "end": 438, "ctxt": 0 }, "value": 1.0 }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 440, "end": 448, "ctxt": 0 }, "params": [], "body": { "type": "StringLiteral", "span": { "start": 446, "end": 448, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 459, "end": 486, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 463, "end": 485, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 463, "end": 464, "ctxt": 0 }, "value": "k", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 467, "end": 485, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 468, "end": 475, "ctxt": 0 }, "params": [], "body": { "type": "NumericLiteral", "span": { "start": 474, "end": 475, "ctxt": 0 }, "value": 1.0 }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 477, "end": 484, "ctxt": 0 }, "params": [], "body": { "type": "NumericLiteral", "span": { "start": 483, "end": 484, "ctxt": 0 }, "value": 1.0 }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 507, "end": 537, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 511, "end": 536, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 511, "end": 512, "ctxt": 0 }, "value": "l", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 515, "end": 536, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 516, "end": 523, "ctxt": 0 }, "params": [], "body": { "type": "NumericLiteral", "span": { "start": 522, "end": 523, "ctxt": 0 }, "value": 1.0 }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 525, "end": 535, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 531, "end": 535, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 555, "end": 595, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 559, "end": 594, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 559, "end": 560, "ctxt": 0 }, "value": "m", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 563, "end": 594, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 564, "end": 571, "ctxt": 0 }, "params": [], "body": { "type": "NumericLiteral", "span": { "start": 570, "end": 571, "ctxt": 0 }, "value": 1.0 }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 573, "end": 581, "ctxt": 0 }, "params": [], "body": { "type": "StringLiteral", "span": { "start": 579, "end": 581, "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": 583, "end": 593, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 589, "end": 593, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 613, "end": 645, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 617, "end": 644, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 617, "end": 618, "ctxt": 0 }, "value": "n", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 621, "end": 644, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 622, "end": 631, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 623, "end": 630, "ctxt": 0 }, "params": [], "body": { "type": "NumericLiteral", "span": { "start": 629, "end": 630, "ctxt": 0 }, "value": 1.0 }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] } }, { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 633, "end": 643, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 634, "end": 642, "ctxt": 0 }, "params": [], "body": { "type": "StringLiteral", "span": { "start": 640, "end": 642, "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": 661, "end": 665, "ctxt": 0 }, "value": "Base", "optional": false }, "declare": false, "span": { "start": 655, "end": 682, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 668, "end": 680, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 668, "end": 671, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 671, "end": 679, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 673, "end": 679, "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": 689, "end": 696, "ctxt": 0 }, "value": "Derived", "optional": false }, "declare": false, "span": { "start": 683, "end": 726, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 712, "end": 724, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 712, "end": 715, "ctxt": 0 }, "value": "bar", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 715, "end": 723, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 717, "end": 723, "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": 705, "end": 709, "ctxt": 0 }, "value": "Base", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 733, "end": 741, "ctxt": 0 }, "value": "Derived2", "optional": false }, "declare": false, "span": { "start": 727, "end": 771, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 757, "end": 769, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 757, "end": 760, "ctxt": 0 }, "value": "baz", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 760, "end": 768, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 762, "end": 768, "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": 750, "end": 754, "ctxt": 0 }, "value": "Base", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "VariableDeclaration", "span": { "start": 772, "end": 787, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 776, "end": 786, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 776, "end": 780, "ctxt": 0 }, "value": "base", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 780, "end": 786, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 782, "end": 786, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 782, "end": 786, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 788, "end": 809, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 792, "end": 808, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 792, "end": 799, "ctxt": 0 }, "value": "derived", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 799, "end": 808, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 801, "end": 808, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 801, "end": 808, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 810, "end": 833, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 814, "end": 832, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 814, "end": 822, "ctxt": 0 }, "value": "derived2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 822, "end": 832, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 824, "end": 832, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 824, "end": 832, "ctxt": 0 }, "value": "Derived2", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "TsModuleDeclaration", "span": { "start": 835, "end": 1452, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 842, "end": 849, "ctxt": 0 }, "value": "Derived", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 850, "end": 1452, "ctxt": 0 }, "body": [ { "type": "VariableDeclaration", "span": { "start": 856, "end": 912, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 860, "end": 911, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 860, "end": 861, "ctxt": 0 }, "value": "h", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 864, "end": 911, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ObjectExpression", "span": { "start": 865, "end": 895, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 867, "end": 870, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "Identifier", "span": { "start": 872, "end": 876, "ctxt": 0 }, "value": "base", "optional": false } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 878, "end": 884, "ctxt": 0 }, "value": "basear", "optional": false }, "value": { "type": "Identifier", "span": { "start": 886, "end": 893, "ctxt": 0 }, "value": "derived", "optional": false } } ] } }, { "spread": null, "expression": { "type": "ObjectExpression", "span": { "start": 897, "end": 910, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 899, "end": 902, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "Identifier", "span": { "start": 904, "end": 908, "ctxt": 0 }, "value": "base", "optional": false } } ] } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 934, "end": 993, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 938, "end": 992, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 938, "end": 939, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 942, "end": 992, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ObjectExpression", "span": { "start": 943, "end": 973, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 945, "end": 948, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "Identifier", "span": { "start": 950, "end": 954, "ctxt": 0 }, "value": "base", "optional": false } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 956, "end": 962, "ctxt": 0 }, "value": "basear", "optional": false }, "value": { "type": "Identifier", "span": { "start": 964, "end": 971, "ctxt": 0 }, "value": "derived", "optional": false } } ] } }, { "spread": null, "expression": { "type": "ObjectExpression", "span": { "start": 975, "end": 991, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 977, "end": 980, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "Identifier", "span": { "start": 982, "end": 989, "ctxt": 0 }, "value": "derived", "optional": false } } ] } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1019, "end": 1055, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1023, "end": 1054, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1023, "end": 1024, "ctxt": 0 }, "value": "j", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1027, "end": 1054, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1028, "end": 1038, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1034, "end": 1038, "ctxt": 0 }, "value": "base", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1040, "end": 1053, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1046, "end": 1053, "ctxt": 0 }, "value": "derived", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1076, "end": 1106, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1080, "end": 1105, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1080, "end": 1081, "ctxt": 0 }, "value": "k", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1084, "end": 1105, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1085, "end": 1095, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1091, "end": 1095, "ctxt": 0 }, "value": "base", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1097, "end": 1104, "ctxt": 0 }, "params": [], "body": { "type": "NumericLiteral", "span": { "start": 1103, "end": 1104, "ctxt": 0 }, "value": 1.0 }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1120, "end": 1153, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1124, "end": 1152, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1124, "end": 1125, "ctxt": 0 }, "value": "l", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1128, "end": 1152, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1129, "end": 1139, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1135, "end": 1139, "ctxt": 0 }, "value": "base", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1141, "end": 1151, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 1147, "end": 1151, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1175, "end": 1223, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1179, "end": 1222, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1179, "end": 1180, "ctxt": 0 }, "value": "m", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1183, "end": 1222, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1184, "end": 1194, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1190, "end": 1194, "ctxt": 0 }, "value": "base", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1196, "end": 1209, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1202, "end": 1209, "ctxt": 0 }, "value": "derived", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1211, "end": 1221, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 1217, "end": 1221, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1245, "end": 1285, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1249, "end": 1284, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1249, "end": 1250, "ctxt": 0 }, "value": "n", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1253, "end": 1284, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 1254, "end": 1266, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1255, "end": 1265, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1261, "end": 1265, "ctxt": 0 }, "value": "base", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] } }, { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 1268, "end": 1283, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1269, "end": 1282, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1275, "end": 1282, "ctxt": 0 }, "value": "derived", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1308, "end": 1336, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1312, "end": 1335, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1312, "end": 1313, "ctxt": 0 }, "value": "o", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1316, "end": 1335, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1317, "end": 1324, "ctxt": 0 }, "value": "derived", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1326, "end": 1334, "ctxt": 0 }, "value": "derived2", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1349, "end": 1383, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1353, "end": 1382, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1353, "end": 1354, "ctxt": 0 }, "value": "p", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1357, "end": 1382, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1358, "end": 1365, "ctxt": 0 }, "value": "derived", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1367, "end": 1375, "ctxt": 0 }, "value": "derived2", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1377, "end": 1381, "ctxt": 0 }, "value": "base", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1398, "end": 1442, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1402, "end": 1441, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1402, "end": 1403, "ctxt": 0 }, "value": "q", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1406, "end": 1441, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 1407, "end": 1423, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1408, "end": 1422, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1414, "end": 1422, "ctxt": 0 }, "value": "derived2", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] } }, { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 1425, "end": 1440, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1426, "end": 1439, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1432, "end": 1439, "ctxt": 0 }, "value": "derived", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] } } ] }, "definite": false } ] } ] } }, { "type": "TsModuleDeclaration", "span": { "start": 1454, "end": 1660, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 1461, "end": 1479, "ctxt": 0 }, "value": "WithContextualType", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 1480, "end": 1660, "ctxt": 0 }, "body": [ { "type": "VariableDeclaration", "span": { "start": 1503, "end": 1539, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1507, "end": 1538, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1507, "end": 1508, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1508, "end": 1516, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1510, "end": 1516, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 1510, "end": 1514, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1510, "end": 1514, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } }, "init": { "type": "ArrayExpression", "span": { "start": 1519, "end": 1538, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1520, "end": 1527, "ctxt": 0 }, "value": "derived", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1529, "end": 1537, "ctxt": 0 }, "value": "derived2", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1544, "end": 1570, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1548, "end": 1569, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1548, "end": 1549, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1549, "end": 1560, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1551, "end": 1560, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 1551, "end": 1558, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1551, "end": 1558, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } }, "init": { "type": "ArrayExpression", "span": { "start": 1563, "end": 1569, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 1564, "end": 1568, "ctxt": 0 } } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1575, "end": 1597, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1579, "end": 1596, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1579, "end": 1580, "ctxt": 0 }, "value": "c", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1580, "end": 1591, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1582, "end": 1591, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 1582, "end": 1589, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1582, "end": 1589, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } }, "init": { "type": "ArrayExpression", "span": { "start": 1594, "end": 1596, "ctxt": 0 }, "elements": [] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1602, "end": 1658, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1606, "end": 1657, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1606, "end": 1607, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1607, "end": 1623, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1609, "end": 1623, "ctxt": 0 }, "elemType": { "type": "TsTypeLiteral", "span": { "start": 1609, "end": 1621, "ctxt": 0 }, "members": [ { "type": "TsCallSignatureDeclaration", "span": { "start": 1611, "end": 1619, "ctxt": 0 }, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1613, "end": 1619, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1615, "end": 1619, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1615, "end": 1619, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null } ] } } } }, "init": { "type": "ArrayExpression", "span": { "start": 1626, "end": 1657, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1627, "end": 1640, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1633, "end": 1640, "ctxt": 0 }, "value": "derived", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1642, "end": 1656, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1648, "end": 1656, "ctxt": 0 }, "value": "derived2", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] } ] } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1671, "end": 1674, "ctxt": 0 }, "value": "foo", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 1681, "end": 1685, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1681, "end": 1685, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1682, "end": 1685, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1684, "end": 1685, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1684, "end": 1685, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 1687, "end": 1691, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1687, "end": 1691, "ctxt": 0 }, "value": "u", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1688, "end": 1691, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1690, "end": 1691, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1690, "end": 1691, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 1662, "end": 1910, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1693, "end": 1910, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 1699, "end": 1714, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1703, "end": 1713, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1703, "end": 1704, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1707, "end": 1713, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1708, "end": 1709, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1711, "end": 1712, "ctxt": 0 }, "value": "t", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1726, "end": 1744, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1730, "end": 1743, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1730, "end": 1731, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1734, "end": 1743, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1735, "end": 1736, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 1738, "end": 1742, "ctxt": 0 } } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1756, "end": 1771, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1760, "end": 1770, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1760, "end": 1761, "ctxt": 0 }, "value": "c", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1764, "end": 1770, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1765, "end": 1766, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1768, "end": 1769, "ctxt": 0 }, "value": "u", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1784, "end": 1799, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1788, "end": 1798, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1788, "end": 1789, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1792, "end": 1798, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1793, "end": 1794, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1796, "end": 1797, "ctxt": 0 }, "value": 1.0 } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1812, "end": 1839, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1816, "end": 1838, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1816, "end": 1817, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1820, "end": 1838, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1821, "end": 1828, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1827, "end": 1828, "ctxt": 0 }, "value": "t", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1830, "end": 1837, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1836, "end": 1837, "ctxt": 0 }, "value": "u", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1852, "end": 1891, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1856, "end": 1890, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1856, "end": 1857, "ctxt": 0 }, "value": "f", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1860, "end": 1890, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1861, "end": 1868, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1867, "end": 1868, "ctxt": 0 }, "value": "t", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1870, "end": 1877, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 1876, "end": 1877, "ctxt": 0 }, "value": "u", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 1879, "end": 1889, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 1885, "end": 1889, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] } ] }, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 1674, "end": 1680, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1675, "end": 1676, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1675, "end": 1676, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 1678, "end": 1679, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1678, "end": 1679, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": null, "default": null } ] }, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1921, "end": 1925, "ctxt": 0 }, "value": "foo2", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 1961, "end": 1965, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1961, "end": 1965, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1962, "end": 1965, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1964, "end": 1965, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1964, "end": 1965, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 1967, "end": 1971, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1967, "end": 1971, "ctxt": 0 }, "value": "u", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1968, "end": 1971, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1970, "end": 1971, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1970, "end": 1971, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 1912, "end": 2335, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1973, "end": 2335, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 1979, "end": 1994, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1983, "end": 1993, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1983, "end": 1984, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1987, "end": 1993, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1988, "end": 1989, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1991, "end": 1992, "ctxt": 0 }, "value": "t", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2006, "end": 2024, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2010, "end": 2023, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2010, "end": 2011, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2014, "end": 2023, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2015, "end": 2016, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 2018, "end": 2022, "ctxt": 0 } } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2036, "end": 2051, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2040, "end": 2050, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2040, "end": 2041, "ctxt": 0 }, "value": "c", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2044, "end": 2050, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2045, "end": 2046, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2048, "end": 2049, "ctxt": 0 }, "value": "u", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2064, "end": 2079, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2068, "end": 2078, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2068, "end": 2069, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2072, "end": 2078, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2073, "end": 2074, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 2076, "end": 2077, "ctxt": 0 }, "value": 1.0 } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2092, "end": 2119, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2096, "end": 2118, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2096, "end": 2097, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2100, "end": 2118, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2101, "end": 2108, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 2107, "end": 2108, "ctxt": 0 }, "value": "t", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2110, "end": 2117, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 2116, "end": 2117, "ctxt": 0 }, "value": "u", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2132, "end": 2171, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2136, "end": 2170, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2136, "end": 2137, "ctxt": 0 }, "value": "f", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2140, "end": 2170, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2141, "end": 2148, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 2147, "end": 2148, "ctxt": 0 }, "value": "t", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2150, "end": 2157, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 2156, "end": 2157, "ctxt": 0 }, "value": "u", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2159, "end": 2169, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 2165, "end": 2169, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2194, "end": 2212, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2198, "end": 2211, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2198, "end": 2199, "ctxt": 0 }, "value": "g", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2202, "end": 2211, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2203, "end": 2204, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2206, "end": 2210, "ctxt": 0 }, "value": "base", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2227, "end": 2248, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2231, "end": 2247, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2231, "end": 2232, "ctxt": 0 }, "value": "h", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2235, "end": 2247, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2236, "end": 2237, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2239, "end": 2246, "ctxt": 0 }, "value": "derived", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2266, "end": 2284, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2270, "end": 2283, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2270, "end": 2271, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2274, "end": 2283, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2275, "end": 2276, "ctxt": 0 }, "value": "u", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2278, "end": 2282, "ctxt": 0 }, "value": "base", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2299, "end": 2320, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2303, "end": 2319, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2303, "end": 2304, "ctxt": 0 }, "value": "j", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2307, "end": 2319, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2308, "end": 2309, "ctxt": 0 }, "value": "u", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2311, "end": 2318, "ctxt": 0 }, "value": "derived", "optional": false } } ] }, "definite": false } ] } ] }, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 1925, "end": 1960, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1926, "end": 1940, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1926, "end": 1927, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 1936, "end": 1940, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1936, "end": 1940, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 1942, "end": 1959, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1942, "end": 1943, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 1952, "end": 1959, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1952, "end": 1959, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 2346, "end": 2350, "ctxt": 0 }, "value": "foo3", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 2389, "end": 2393, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 2389, "end": 2393, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2390, "end": 2393, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2392, "end": 2393, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2392, "end": 2393, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 2395, "end": 2399, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 2395, "end": 2399, "ctxt": 0 }, "value": "u", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2396, "end": 2399, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2398, "end": 2399, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2398, "end": 2399, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 2337, "end": 2763, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 2401, "end": 2763, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 2407, "end": 2422, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2411, "end": 2421, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2411, "end": 2412, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2415, "end": 2421, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2416, "end": 2417, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2419, "end": 2420, "ctxt": 0 }, "value": "t", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2434, "end": 2452, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2438, "end": 2451, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2438, "end": 2439, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2442, "end": 2451, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2443, "end": 2444, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 2446, "end": 2450, "ctxt": 0 } } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2464, "end": 2479, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2468, "end": 2478, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2468, "end": 2469, "ctxt": 0 }, "value": "c", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2472, "end": 2478, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2473, "end": 2474, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2476, "end": 2477, "ctxt": 0 }, "value": "u", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2492, "end": 2507, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2496, "end": 2506, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2496, "end": 2497, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2500, "end": 2506, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2501, "end": 2502, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 2504, "end": 2505, "ctxt": 0 }, "value": 1.0 } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2520, "end": 2547, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2524, "end": 2546, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2524, "end": 2525, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2528, "end": 2546, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2529, "end": 2536, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 2535, "end": 2536, "ctxt": 0 }, "value": "t", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2538, "end": 2545, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 2544, "end": 2545, "ctxt": 0 }, "value": "u", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2560, "end": 2599, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2564, "end": 2598, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2564, "end": 2565, "ctxt": 0 }, "value": "f", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2568, "end": 2598, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2569, "end": 2576, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 2575, "end": 2576, "ctxt": 0 }, "value": "t", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2578, "end": 2585, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 2584, "end": 2585, "ctxt": 0 }, "value": "u", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2587, "end": 2597, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 2593, "end": 2597, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2622, "end": 2640, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2626, "end": 2639, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2626, "end": 2627, "ctxt": 0 }, "value": "g", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2630, "end": 2639, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2631, "end": 2632, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2634, "end": 2638, "ctxt": 0 }, "value": "base", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2655, "end": 2676, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2659, "end": 2675, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2659, "end": 2660, "ctxt": 0 }, "value": "h", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2663, "end": 2675, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2664, "end": 2665, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2667, "end": 2674, "ctxt": 0 }, "value": "derived", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2694, "end": 2712, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2698, "end": 2711, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2698, "end": 2699, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2702, "end": 2711, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2703, "end": 2704, "ctxt": 0 }, "value": "u", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2706, "end": 2710, "ctxt": 0 }, "value": "base", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2727, "end": 2748, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2731, "end": 2747, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2731, "end": 2732, "ctxt": 0 }, "value": "j", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2735, "end": 2747, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2736, "end": 2737, "ctxt": 0 }, "value": "u", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2739, "end": 2746, "ctxt": 0 }, "value": "derived", "optional": false } } ] }, "definite": false } ] } ] }, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 2350, "end": 2388, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2351, "end": 2368, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2351, "end": 2352, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2361, "end": 2368, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2361, "end": 2368, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 2370, "end": 2387, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2370, "end": 2371, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2380, "end": 2387, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2380, "end": 2387, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 2774, "end": 2778, "ctxt": 0 }, "value": "foo4", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 2811, "end": 2815, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 2811, "end": 2815, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2812, "end": 2815, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2814, "end": 2815, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2814, "end": 2815, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 2817, "end": 2821, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 2817, "end": 2821, "ctxt": 0 }, "value": "u", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2818, "end": 2821, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2820, "end": 2821, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2820, "end": 2821, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 2765, "end": 3220, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 2823, "end": 3220, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 2829, "end": 2844, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2833, "end": 2843, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2833, "end": 2834, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2837, "end": 2843, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2838, "end": 2839, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2841, "end": 2842, "ctxt": 0 }, "value": "t", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2856, "end": 2874, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2860, "end": 2873, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2860, "end": 2861, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2864, "end": 2873, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2865, "end": 2866, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 2868, "end": 2872, "ctxt": 0 } } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2886, "end": 2901, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2890, "end": 2900, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2890, "end": 2891, "ctxt": 0 }, "value": "c", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2894, "end": 2900, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2895, "end": 2896, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2898, "end": 2899, "ctxt": 0 }, "value": "u", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2920, "end": 2935, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2924, "end": 2934, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2924, "end": 2925, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2928, "end": 2934, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2929, "end": 2930, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 2932, "end": 2933, "ctxt": 0 }, "value": 1.0 } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2948, "end": 2975, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2952, "end": 2974, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2952, "end": 2953, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2956, "end": 2974, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2957, "end": 2964, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 2963, "end": 2964, "ctxt": 0 }, "value": "t", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2966, "end": 2973, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 2972, "end": 2973, "ctxt": 0 }, "value": "u", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2988, "end": 3027, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2992, "end": 3026, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2992, "end": 2993, "ctxt": 0 }, "value": "f", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2996, "end": 3026, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2997, "end": 3004, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 3003, "end": 3004, "ctxt": 0 }, "value": "t", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 3006, "end": 3013, "ctxt": 0 }, "params": [], "body": { "type": "Identifier", "span": { "start": 3012, "end": 3013, "ctxt": 0 }, "value": "u", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 3015, "end": 3025, "ctxt": 0 }, "params": [], "body": { "type": "NullLiteral", "span": { "start": 3021, "end": 3025, "ctxt": 0 } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3050, "end": 3068, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3054, "end": 3067, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3054, "end": 3055, "ctxt": 0 }, "value": "g", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 3058, "end": 3067, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3059, "end": 3060, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3062, "end": 3066, "ctxt": 0 }, "value": "base", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3083, "end": 3104, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3087, "end": 3103, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3087, "end": 3088, "ctxt": 0 }, "value": "h", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 3091, "end": 3103, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3092, "end": 3093, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3095, "end": 3102, "ctxt": 0 }, "value": "derived", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3122, "end": 3140, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3126, "end": 3139, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3126, "end": 3127, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 3130, "end": 3139, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3131, "end": 3132, "ctxt": 0 }, "value": "u", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3134, "end": 3138, "ctxt": 0 }, "value": "base", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3155, "end": 3176, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3159, "end": 3175, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3159, "end": 3160, "ctxt": 0 }, "value": "j", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 3163, "end": 3175, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3164, "end": 3165, "ctxt": 0 }, "value": "u", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3167, "end": 3174, "ctxt": 0 }, "value": "derived", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3195, "end": 3218, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3199, "end": 3217, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3199, "end": 3200, "ctxt": 0 }, "value": "k", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3200, "end": 3208, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 3202, "end": 3208, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 3202, "end": 3206, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3202, "end": 3206, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } }, "init": { "type": "ArrayExpression", "span": { "start": 3211, "end": 3217, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3212, "end": 3213, "ctxt": 0 }, "value": "t", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3215, "end": 3216, "ctxt": 0 }, "value": "u", "optional": false } } ] }, "definite": false } ] } ] }, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 2778, "end": 2810, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2779, "end": 2793, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2779, "end": 2780, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2789, "end": 2793, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2789, "end": 2793, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 2795, "end": 2809, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2795, "end": 2796, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2805, "end": 2809, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2805, "end": 2809, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null } ] }, "returnType": null } ], "interpreter": null }