{ "type": "Script", "span": { "start": 32, "end": 2185, "ctxt": 0 }, "body": [ { "type": "TsInterfaceDeclaration", "span": { "start": 32, "end": 63, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 42, "end": 43, "ctxt": 0 }, "value": "I", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 44, "end": 63, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 50, "end": 61, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 50, "end": 52, "ctxt": 0 }, "value": "id", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 52, "end": 60, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 54, "end": 60, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 71, "end": 72, "ctxt": 0 }, "value": "C", "optional": false }, "declare": false, "span": { "start": 65, "end": 123, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 92, "end": 103, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 92, "end": 94, "ctxt": 0 }, "value": "id", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 94, "end": 102, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 96, "end": 102, "ctxt": 0 }, "kind": "number" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 108, "end": 121, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 108, "end": 112, "ctxt": 0 }, "value": "name", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 112, "end": 120, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 114, "end": 120, "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": "TsExpressionWithTypeArguments", "span": { "start": 84, "end": 85, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 84, "end": 85, "ctxt": 0 }, "value": "I", "optional": false }, "typeArguments": null } ] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 131, "end": 133, "ctxt": 0 }, "value": "C2", "optional": false }, "declare": false, "span": { "start": 125, "end": 167, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 150, "end": 165, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 150, "end": 155, "ctxt": 0 }, "value": "valid", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 155, "end": 164, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 157, "end": 164, "ctxt": 0 }, "kind": "boolean" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 142, "end": 143, "ctxt": 0 }, "value": "C", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 175, "end": 176, "ctxt": 0 }, "value": "D", "optional": false }, "declare": false, "span": { "start": 169, "end": 237, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 185, "end": 195, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 185, "end": 191, "ctxt": 0 }, "value": "source", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 191, "end": 194, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 193, "end": 194, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 193, "end": 194, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 200, "end": 214, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 200, "end": 207, "ctxt": 0 }, "value": "recurse", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 207, "end": 213, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 209, "end": 213, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 209, "end": 210, "ctxt": 0 }, "value": "D", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 210, "end": 213, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 211, "end": 212, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 211, "end": 212, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 219, "end": 235, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 219, "end": 226, "ctxt": 0 }, "value": "wrapped", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 226, "end": 235, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 228, "end": 235, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 228, "end": 229, "ctxt": 0 }, "value": "D", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 229, "end": 235, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 230, "end": 234, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 230, "end": 231, "ctxt": 0 }, "value": "D", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 231, "end": 234, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 232, "end": 233, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 232, "end": 233, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } ] } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 176, "end": 179, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 177, "end": 178, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 177, "end": 178, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "superTypeParams": null, "implements": [] }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 248, "end": 249, "ctxt": 0 }, "value": "F", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 250, "end": 259, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 250, "end": 259, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 251, "end": 259, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 253, "end": 259, "ctxt": 0 }, "kind": "string" } } } } ], "decorators": [], "span": { "start": 239, "end": 283, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 269, "end": 283, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 271, "end": 281, "ctxt": 0 }, "argument": { "type": "NumericLiteral", "span": { "start": 278, "end": 280, "ctxt": 0 }, "value": 42.0, "raw": "42" } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 260, "end": 268, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 262, "end": 268, "ctxt": 0 }, "kind": "number" } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 293, "end": 295, "ctxt": 0 }, "value": "F2", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 296, "end": 305, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 296, "end": 305, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 297, "end": 305, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 299, "end": 305, "ctxt": 0 }, "kind": "number" } } } } ], "decorators": [], "span": { "start": 284, "end": 334, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 316, "end": 334, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 318, "end": 332, "ctxt": 0 }, "argument": { "type": "BinaryExpression", "span": { "start": 325, "end": 331, "ctxt": 0 }, "operator": "<", "left": { "type": "Identifier", "span": { "start": 325, "end": 326, "ctxt": 0 }, "value": "x", "optional": false }, "right": { "type": "NumericLiteral", "span": { "start": 329, "end": 331, "ctxt": 0 }, "value": 42.0, "raw": "42" } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 306, "end": 315, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 308, "end": 315, "ctxt": 0 }, "kind": "boolean" } } }, { "type": "TsModuleDeclaration", "span": { "start": 336, "end": 465, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 343, "end": 344, "ctxt": 0 }, "value": "M", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 345, "end": 465, "ctxt": 0 }, "body": [ { "type": "ExportDeclaration", "span": { "start": 351, "end": 395, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 364, "end": 365, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "span": { "start": 358, "end": 395, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 376, "end": 389, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 376, "end": 380, "ctxt": 0 }, "value": "name", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 380, "end": 388, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 382, "end": 388, "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": "ExportDeclaration", "span": { "start": 401, "end": 463, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 417, "end": 419, "ctxt": 0 }, "value": "F2", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 420, "end": 429, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 420, "end": 429, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 421, "end": 429, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 423, "end": 429, "ctxt": 0 }, "kind": "number" } } } } ], "decorators": [], "span": { "start": 408, "end": 463, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 439, "end": 463, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 441, "end": 461, "ctxt": 0 }, "argument": { "type": "CallExpression", "span": { "start": 448, "end": 460, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 448, "end": 458, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 448, "end": 449, "ctxt": 0 }, "value": "x", "optional": false }, "property": { "type": "Identifier", "span": { "start": 450, "end": 458, "ctxt": 0 }, "value": "toString", "optional": false } }, "arguments": [], "typeArguments": null } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 430, "end": 438, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 432, "end": 438, "ctxt": 0 }, "kind": "string" } } } } ] } }, { "type": "TsModuleDeclaration", "span": { "start": 467, "end": 594, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 474, "end": 475, "ctxt": 0 }, "value": "N", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 476, "end": 594, "ctxt": 0 }, "body": [ { "type": "ExportDeclaration", "span": { "start": 482, "end": 524, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 495, "end": 496, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "span": { "start": 489, "end": 524, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 507, "end": 518, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 507, "end": 509, "ctxt": 0 }, "value": "id", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 509, "end": 517, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 511, "end": 517, "ctxt": 0 }, "kind": "number" } }, "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": "ExportDeclaration", "span": { "start": 530, "end": 592, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 546, "end": 548, "ctxt": 0 }, "value": "F2", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 549, "end": 558, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 549, "end": 558, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 550, "end": 558, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 552, "end": 558, "ctxt": 0 }, "kind": "number" } } } } ], "decorators": [], "span": { "start": 537, "end": 592, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 568, "end": 592, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 570, "end": 590, "ctxt": 0 }, "argument": { "type": "CallExpression", "span": { "start": 577, "end": 589, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 577, "end": 587, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 577, "end": 578, "ctxt": 0 }, "value": "x", "optional": false }, "property": { "type": "Identifier", "span": { "start": 579, "end": 587, "ctxt": 0 }, "value": "toString", "optional": false } }, "arguments": [], "typeArguments": null } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 559, "end": 567, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 561, "end": 567, "ctxt": 0 }, "kind": "string" } } } } ] } }, { "type": "IfStatement", "span": { "start": 608, "end": 621, "ctxt": 0 }, "test": { "type": "BooleanLiteral", "span": { "start": 612, "end": 616, "ctxt": 0 }, "value": true }, "consequent": { "type": "BlockStatement", "span": { "start": 618, "end": 621, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 622, "end": 638, "ctxt": 0 }, "test": { "type": "BooleanLiteral", "span": { "start": 629, "end": 633, "ctxt": 0 }, "value": true }, "body": { "type": "BlockStatement", "span": { "start": 635, "end": 638, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 639, "end": 656, "ctxt": 0 }, "test": { "type": "BooleanLiteral", "span": { "start": 651, "end": 655, "ctxt": 0 }, "value": true }, "body": { "type": "BlockStatement", "span": { "start": 642, "end": 645, "ctxt": 0 }, "stmts": [] } }, { "type": "IfStatement", "span": { "start": 658, "end": 671, "ctxt": 0 }, "test": { "type": "NullLiteral", "span": { "start": 662, "end": 666, "ctxt": 0 } }, "consequent": { "type": "BlockStatement", "span": { "start": 668, "end": 671, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 672, "end": 688, "ctxt": 0 }, "test": { "type": "NullLiteral", "span": { "start": 679, "end": 683, "ctxt": 0 } }, "body": { "type": "BlockStatement", "span": { "start": 685, "end": 688, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 689, "end": 706, "ctxt": 0 }, "test": { "type": "NullLiteral", "span": { "start": 701, "end": 705, "ctxt": 0 } }, "body": { "type": "BlockStatement", "span": { "start": 692, "end": 695, "ctxt": 0 }, "stmts": [] } }, { "type": "IfStatement", "span": { "start": 708, "end": 726, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 712, "end": 721, "ctxt": 0 }, "value": "undefined", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 723, "end": 726, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 727, "end": 748, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 734, "end": 743, "ctxt": 0 }, "value": "undefined", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 745, "end": 748, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 749, "end": 771, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 761, "end": 770, "ctxt": 0 }, "value": "undefined", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 752, "end": 755, "ctxt": 0 }, "stmts": [] } }, { "type": "IfStatement", "span": { "start": 773, "end": 785, "ctxt": 0 }, "test": { "type": "NumericLiteral", "span": { "start": 777, "end": 780, "ctxt": 0 }, "value": 0.0, "raw": "0.0" }, "consequent": { "type": "BlockStatement", "span": { "start": 782, "end": 785, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 786, "end": 801, "ctxt": 0 }, "test": { "type": "NumericLiteral", "span": { "start": 793, "end": 796, "ctxt": 0 }, "value": 0.0, "raw": "0.0" }, "body": { "type": "BlockStatement", "span": { "start": 798, "end": 801, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 802, "end": 818, "ctxt": 0 }, "test": { "type": "NumericLiteral", "span": { "start": 814, "end": 817, "ctxt": 0 }, "value": 0.0, "raw": "0.0" }, "body": { "type": "BlockStatement", "span": { "start": 805, "end": 808, "ctxt": 0 }, "stmts": [] } }, { "type": "IfStatement", "span": { "start": 820, "end": 839, "ctxt": 0 }, "test": { "type": "StringLiteral", "span": { "start": 824, "end": 834, "ctxt": 0 }, "value": "a string", "raw": "'a string'" }, "consequent": { "type": "BlockStatement", "span": { "start": 836, "end": 839, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 840, "end": 862, "ctxt": 0 }, "test": { "type": "StringLiteral", "span": { "start": 847, "end": 857, "ctxt": 0 }, "value": "a string", "raw": "'a string'" }, "body": { "type": "BlockStatement", "span": { "start": 859, "end": 862, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 863, "end": 886, "ctxt": 0 }, "test": { "type": "StringLiteral", "span": { "start": 875, "end": 885, "ctxt": 0 }, "value": "a string", "raw": "'a string'" }, "body": { "type": "BlockStatement", "span": { "start": 866, "end": 869, "ctxt": 0 }, "stmts": [] } }, { "type": "IfStatement", "span": { "start": 888, "end": 899, "ctxt": 0 }, "test": { "type": "StringLiteral", "span": { "start": 892, "end": 894, "ctxt": 0 }, "value": "", "raw": "''" }, "consequent": { "type": "BlockStatement", "span": { "start": 896, "end": 899, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 900, "end": 914, "ctxt": 0 }, "test": { "type": "StringLiteral", "span": { "start": 907, "end": 909, "ctxt": 0 }, "value": "", "raw": "''" }, "body": { "type": "BlockStatement", "span": { "start": 911, "end": 914, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 915, "end": 930, "ctxt": 0 }, "test": { "type": "StringLiteral", "span": { "start": 927, "end": 929, "ctxt": 0 }, "value": "", "raw": "''" }, "body": { "type": "BlockStatement", "span": { "start": 918, "end": 921, "ctxt": 0 }, "stmts": [] } }, { "type": "IfStatement", "span": { "start": 932, "end": 948, "ctxt": 0 }, "test": { "type": "RegExpLiteral", "span": { "start": 936, "end": 943, "ctxt": 0 }, "pattern": "[a-z]", "flags": "" }, "consequent": { "type": "BlockStatement", "span": { "start": 945, "end": 948, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 949, "end": 968, "ctxt": 0 }, "test": { "type": "RegExpLiteral", "span": { "start": 956, "end": 963, "ctxt": 0 }, "pattern": "[a-z]", "flags": "" }, "body": { "type": "BlockStatement", "span": { "start": 965, "end": 968, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 969, "end": 989, "ctxt": 0 }, "test": { "type": "RegExpLiteral", "span": { "start": 981, "end": 988, "ctxt": 0 }, "pattern": "[a-z]", "flags": "" }, "body": { "type": "BlockStatement", "span": { "start": 972, "end": 975, "ctxt": 0 }, "stmts": [] } }, { "type": "IfStatement", "span": { "start": 991, "end": 1002, "ctxt": 0 }, "test": { "type": "ArrayExpression", "span": { "start": 995, "end": 997, "ctxt": 0 }, "elements": [] }, "consequent": { "type": "BlockStatement", "span": { "start": 999, "end": 1002, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 1003, "end": 1017, "ctxt": 0 }, "test": { "type": "ArrayExpression", "span": { "start": 1010, "end": 1012, "ctxt": 0 }, "elements": [] }, "body": { "type": "BlockStatement", "span": { "start": 1014, "end": 1017, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 1018, "end": 1033, "ctxt": 0 }, "test": { "type": "ArrayExpression", "span": { "start": 1030, "end": 1032, "ctxt": 0 }, "elements": [] }, "body": { "type": "BlockStatement", "span": { "start": 1021, "end": 1024, "ctxt": 0 }, "stmts": [] } }, { "type": "IfStatement", "span": { "start": 1035, "end": 1050, "ctxt": 0 }, "test": { "type": "ArrayExpression", "span": { "start": 1039, "end": 1045, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1040, "end": 1041, "ctxt": 0 }, "value": 1.0, "raw": "1" } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1043, "end": 1044, "ctxt": 0 }, "value": 2.0, "raw": "2" } } ] }, "consequent": { "type": "BlockStatement", "span": { "start": 1047, "end": 1050, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 1051, "end": 1069, "ctxt": 0 }, "test": { "type": "ArrayExpression", "span": { "start": 1058, "end": 1064, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1059, "end": 1060, "ctxt": 0 }, "value": 1.0, "raw": "1" } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1062, "end": 1063, "ctxt": 0 }, "value": 2.0, "raw": "2" } } ] }, "body": { "type": "BlockStatement", "span": { "start": 1066, "end": 1069, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 1070, "end": 1089, "ctxt": 0 }, "test": { "type": "ArrayExpression", "span": { "start": 1082, "end": 1088, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1083, "end": 1084, "ctxt": 0 }, "value": 1.0, "raw": "1" } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1086, "end": 1087, "ctxt": 0 }, "value": 2.0, "raw": "2" } } ] }, "body": { "type": "BlockStatement", "span": { "start": 1073, "end": 1076, "ctxt": 0 }, "stmts": [] } }, { "type": "IfStatement", "span": { "start": 1091, "end": 1102, "ctxt": 0 }, "test": { "type": "ObjectExpression", "span": { "start": 1095, "end": 1097, "ctxt": 0 }, "properties": [] }, "consequent": { "type": "BlockStatement", "span": { "start": 1099, "end": 1102, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 1103, "end": 1117, "ctxt": 0 }, "test": { "type": "ObjectExpression", "span": { "start": 1110, "end": 1112, "ctxt": 0 }, "properties": [] }, "body": { "type": "BlockStatement", "span": { "start": 1114, "end": 1117, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 1118, "end": 1133, "ctxt": 0 }, "test": { "type": "ObjectExpression", "span": { "start": 1130, "end": 1132, "ctxt": 0 }, "properties": [] }, "body": { "type": "BlockStatement", "span": { "start": 1121, "end": 1124, "ctxt": 0 }, "stmts": [] } }, { "type": "IfStatement", "span": { "start": 1135, "end": 1160, "ctxt": 0 }, "test": { "type": "ObjectExpression", "span": { "start": 1139, "end": 1155, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1141, "end": 1142, "ctxt": 0 }, "value": "x", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 1144, "end": 1145, "ctxt": 0 }, "value": 1.0, "raw": "1" } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1147, "end": 1148, "ctxt": 0 }, "value": "y", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 1150, "end": 1153, "ctxt": 0 }, "value": "a", "raw": "'a'" } } ] }, "consequent": { "type": "BlockStatement", "span": { "start": 1157, "end": 1160, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 1161, "end": 1189, "ctxt": 0 }, "test": { "type": "ObjectExpression", "span": { "start": 1168, "end": 1184, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1170, "end": 1171, "ctxt": 0 }, "value": "x", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 1173, "end": 1174, "ctxt": 0 }, "value": 1.0, "raw": "1" } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1176, "end": 1177, "ctxt": 0 }, "value": "y", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 1179, "end": 1182, "ctxt": 0 }, "value": "a", "raw": "'a'" } } ] }, "body": { "type": "BlockStatement", "span": { "start": 1186, "end": 1189, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 1190, "end": 1219, "ctxt": 0 }, "test": { "type": "ObjectExpression", "span": { "start": 1202, "end": 1218, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1204, "end": 1205, "ctxt": 0 }, "value": "x", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 1207, "end": 1208, "ctxt": 0 }, "value": 1.0, "raw": "1" } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1210, "end": 1211, "ctxt": 0 }, "value": "y", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 1213, "end": 1216, "ctxt": 0 }, "value": "a", "raw": "'a'" } } ] }, "body": { "type": "BlockStatement", "span": { "start": 1193, "end": 1196, "ctxt": 0 }, "stmts": [] } }, { "type": "IfStatement", "span": { "start": 1221, "end": 1238, "ctxt": 0 }, "test": { "type": "ArrowFunctionExpression", "span": { "start": 1225, "end": 1233, "ctxt": 0 }, "params": [], "body": { "type": "NumericLiteral", "span": { "start": 1231, "end": 1233, "ctxt": 0 }, "value": 43.0, "raw": "43" }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "consequent": { "type": "BlockStatement", "span": { "start": 1235, "end": 1238, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 1239, "end": 1259, "ctxt": 0 }, "test": { "type": "ArrowFunctionExpression", "span": { "start": 1246, "end": 1254, "ctxt": 0 }, "params": [], "body": { "type": "NumericLiteral", "span": { "start": 1252, "end": 1254, "ctxt": 0 }, "value": 43.0, "raw": "43" }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "body": { "type": "BlockStatement", "span": { "start": 1256, "end": 1259, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 1260, "end": 1281, "ctxt": 0 }, "test": { "type": "ArrowFunctionExpression", "span": { "start": 1272, "end": 1280, "ctxt": 0 }, "params": [], "body": { "type": "NumericLiteral", "span": { "start": 1278, "end": 1280, "ctxt": 0 }, "value": 43.0, "raw": "43" }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "body": { "type": "BlockStatement", "span": { "start": 1263, "end": 1266, "ctxt": 0 }, "stmts": [] } }, { "type": "IfStatement", "span": { "start": 1283, "end": 1299, "ctxt": 0 }, "test": { "type": "NewExpression", "span": { "start": 1287, "end": 1294, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1291, "end": 1292, "ctxt": 0 }, "value": "C", "optional": false }, "arguments": [], "typeArguments": null }, "consequent": { "type": "BlockStatement", "span": { "start": 1296, "end": 1299, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 1300, "end": 1319, "ctxt": 0 }, "test": { "type": "NewExpression", "span": { "start": 1307, "end": 1314, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1311, "end": 1312, "ctxt": 0 }, "value": "C", "optional": false }, "arguments": [], "typeArguments": null }, "body": { "type": "BlockStatement", "span": { "start": 1316, "end": 1319, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 1320, "end": 1340, "ctxt": 0 }, "test": { "type": "NewExpression", "span": { "start": 1332, "end": 1339, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1336, "end": 1337, "ctxt": 0 }, "value": "C", "optional": false }, "arguments": [], "typeArguments": null }, "body": { "type": "BlockStatement", "span": { "start": 1323, "end": 1326, "ctxt": 0 }, "stmts": [] } }, { "type": "IfStatement", "span": { "start": 1342, "end": 1361, "ctxt": 0 }, "test": { "type": "NewExpression", "span": { "start": 1346, "end": 1356, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1350, "end": 1351, "ctxt": 0 }, "value": "D", "optional": false }, "arguments": [], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1351, "end": 1354, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1352, "end": 1353, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1352, "end": 1353, "ctxt": 0 }, "value": "C", "optional": false }, "typeParams": null } ] } }, "consequent": { "type": "BlockStatement", "span": { "start": 1358, "end": 1361, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 1362, "end": 1384, "ctxt": 0 }, "test": { "type": "NewExpression", "span": { "start": 1369, "end": 1379, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1373, "end": 1374, "ctxt": 0 }, "value": "D", "optional": false }, "arguments": [], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1374, "end": 1377, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1375, "end": 1376, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1375, "end": 1376, "ctxt": 0 }, "value": "C", "optional": false }, "typeParams": null } ] } }, "body": { "type": "BlockStatement", "span": { "start": 1381, "end": 1384, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 1385, "end": 1408, "ctxt": 0 }, "test": { "type": "NewExpression", "span": { "start": 1397, "end": 1407, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1401, "end": 1402, "ctxt": 0 }, "value": "D", "optional": false }, "arguments": [], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1402, "end": 1405, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1403, "end": 1404, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1403, "end": 1404, "ctxt": 0 }, "value": "C", "optional": false }, "typeParams": null } ] } }, "body": { "type": "BlockStatement", "span": { "start": 1388, "end": 1391, "ctxt": 0 }, "stmts": [] } }, { "type": "VariableDeclaration", "span": { "start": 1424, "end": 1437, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1428, "end": 1436, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1428, "end": 1429, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "init": { "type": "BooleanLiteral", "span": { "start": 1432, "end": 1436, "ctxt": 0 }, "value": true }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 1438, "end": 1448, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1442, "end": 1443, "ctxt": 0 }, "value": "a", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 1445, "end": 1448, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 1449, "end": 1462, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1456, "end": 1457, "ctxt": 0 }, "value": "a", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 1459, "end": 1462, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 1463, "end": 1477, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1475, "end": 1476, "ctxt": 0 }, "value": "a", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 1466, "end": 1469, "ctxt": 0 }, "stmts": [] } }, { "type": "VariableDeclaration", "span": { "start": 1479, "end": 1492, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1483, "end": 1491, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1483, "end": 1484, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "init": { "type": "NullLiteral", "span": { "start": 1487, "end": 1491, "ctxt": 0 } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 1493, "end": 1503, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1497, "end": 1498, "ctxt": 0 }, "value": "b", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 1500, "end": 1503, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 1504, "end": 1517, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1511, "end": 1512, "ctxt": 0 }, "value": "b", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 1514, "end": 1517, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 1518, "end": 1532, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1530, "end": 1531, "ctxt": 0 }, "value": "b", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 1521, "end": 1524, "ctxt": 0 }, "stmts": [] } }, { "type": "VariableDeclaration", "span": { "start": 1534, "end": 1552, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1538, "end": 1551, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1538, "end": 1539, "ctxt": 0 }, "value": "c", "optional": false, "typeAnnotation": null }, "init": { "type": "Identifier", "span": { "start": 1542, "end": 1551, "ctxt": 0 }, "value": "undefined", "optional": false }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 1553, "end": 1563, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1557, "end": 1558, "ctxt": 0 }, "value": "c", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 1560, "end": 1563, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 1564, "end": 1577, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1571, "end": 1572, "ctxt": 0 }, "value": "c", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 1574, "end": 1577, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 1578, "end": 1592, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1590, "end": 1591, "ctxt": 0 }, "value": "c", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 1581, "end": 1584, "ctxt": 0 }, "stmts": [] } }, { "type": "VariableDeclaration", "span": { "start": 1594, "end": 1606, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1598, "end": 1605, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1598, "end": 1599, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "init": { "type": "NumericLiteral", "span": { "start": 1602, "end": 1605, "ctxt": 0 }, "value": 0.0, "raw": "0.0" }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 1607, "end": 1617, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1611, "end": 1612, "ctxt": 0 }, "value": "d", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 1614, "end": 1617, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 1618, "end": 1631, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1625, "end": 1626, "ctxt": 0 }, "value": "d", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 1628, "end": 1631, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 1632, "end": 1646, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1644, "end": 1645, "ctxt": 0 }, "value": "d", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 1635, "end": 1638, "ctxt": 0 }, "stmts": [] } }, { "type": "VariableDeclaration", "span": { "start": 1648, "end": 1667, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1652, "end": 1666, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1652, "end": 1653, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "init": { "type": "StringLiteral", "span": { "start": 1656, "end": 1666, "ctxt": 0 }, "value": "a string", "raw": "'a string'" }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 1668, "end": 1678, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1672, "end": 1673, "ctxt": 0 }, "value": "e", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 1675, "end": 1678, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 1679, "end": 1692, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1686, "end": 1687, "ctxt": 0 }, "value": "e", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 1689, "end": 1692, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 1693, "end": 1707, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1705, "end": 1706, "ctxt": 0 }, "value": "e", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 1696, "end": 1699, "ctxt": 0 }, "stmts": [] } }, { "type": "VariableDeclaration", "span": { "start": 1709, "end": 1720, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1713, "end": 1719, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1713, "end": 1714, "ctxt": 0 }, "value": "f", "optional": false, "typeAnnotation": null }, "init": { "type": "StringLiteral", "span": { "start": 1717, "end": 1719, "ctxt": 0 }, "value": "", "raw": "''" }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 1721, "end": 1731, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1725, "end": 1726, "ctxt": 0 }, "value": "f", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 1728, "end": 1731, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 1732, "end": 1745, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1739, "end": 1740, "ctxt": 0 }, "value": "f", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 1742, "end": 1745, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 1746, "end": 1760, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1758, "end": 1759, "ctxt": 0 }, "value": "f", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 1749, "end": 1752, "ctxt": 0 }, "stmts": [] } }, { "type": "VariableDeclaration", "span": { "start": 1762, "end": 1777, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1766, "end": 1777, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1766, "end": 1767, "ctxt": 0 }, "value": "g", "optional": false, "typeAnnotation": null }, "init": { "type": "RegExpLiteral", "span": { "start": 1770, "end": 1777, "ctxt": 0 }, "pattern": "[a-z]", "flags": "" }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 1778, "end": 1788, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1782, "end": 1783, "ctxt": 0 }, "value": "g", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 1785, "end": 1788, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 1789, "end": 1802, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1796, "end": 1797, "ctxt": 0 }, "value": "g", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 1799, "end": 1802, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 1803, "end": 1817, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1815, "end": 1816, "ctxt": 0 }, "value": "g", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 1806, "end": 1809, "ctxt": 0 }, "stmts": [] } }, { "type": "VariableDeclaration", "span": { "start": 1819, "end": 1830, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1823, "end": 1829, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1823, "end": 1824, "ctxt": 0 }, "value": "h", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1827, "end": 1829, "ctxt": 0 }, "elements": [] }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 1831, "end": 1841, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1835, "end": 1836, "ctxt": 0 }, "value": "h", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 1838, "end": 1841, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 1842, "end": 1855, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1849, "end": 1850, "ctxt": 0 }, "value": "h", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 1852, "end": 1855, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 1856, "end": 1870, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1868, "end": 1869, "ctxt": 0 }, "value": "h", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 1859, "end": 1862, "ctxt": 0 }, "stmts": [] } }, { "type": "VariableDeclaration", "span": { "start": 1872, "end": 1887, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1876, "end": 1886, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1876, "end": 1877, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 1880, "end": 1886, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1881, "end": 1882, "ctxt": 0 }, "value": 1.0, "raw": "1" } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1884, "end": 1885, "ctxt": 0 }, "value": 2.0, "raw": "2" } } ] }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 1888, "end": 1898, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1892, "end": 1893, "ctxt": 0 }, "value": "i", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 1895, "end": 1898, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 1899, "end": 1912, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1906, "end": 1907, "ctxt": 0 }, "value": "i", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 1909, "end": 1912, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 1913, "end": 1927, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1925, "end": 1926, "ctxt": 0 }, "value": "i", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 1916, "end": 1919, "ctxt": 0 }, "stmts": [] } }, { "type": "VariableDeclaration", "span": { "start": 1929, "end": 1940, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1933, "end": 1939, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1933, "end": 1934, "ctxt": 0 }, "value": "j", "optional": false, "typeAnnotation": null }, "init": { "type": "ObjectExpression", "span": { "start": 1937, "end": 1939, "ctxt": 0 }, "properties": [] }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 1941, "end": 1951, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1945, "end": 1946, "ctxt": 0 }, "value": "j", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 1948, "end": 1951, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 1952, "end": 1965, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1959, "end": 1960, "ctxt": 0 }, "value": "j", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 1962, "end": 1965, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 1966, "end": 1980, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1978, "end": 1979, "ctxt": 0 }, "value": "j", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 1969, "end": 1972, "ctxt": 0 }, "stmts": [] } }, { "type": "VariableDeclaration", "span": { "start": 1982, "end": 2007, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1986, "end": 2006, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1986, "end": 1987, "ctxt": 0 }, "value": "k", "optional": false, "typeAnnotation": null }, "init": { "type": "ObjectExpression", "span": { "start": 1990, "end": 2006, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1992, "end": 1993, "ctxt": 0 }, "value": "x", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 1995, "end": 1996, "ctxt": 0 }, "value": 1.0, "raw": "1" } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1998, "end": 1999, "ctxt": 0 }, "value": "y", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 2001, "end": 2004, "ctxt": 0 }, "value": "a", "raw": "'a'" } } ] }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 2008, "end": 2018, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 2012, "end": 2013, "ctxt": 0 }, "value": "k", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 2015, "end": 2018, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 2019, "end": 2032, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 2026, "end": 2027, "ctxt": 0 }, "value": "k", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 2029, "end": 2032, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 2033, "end": 2047, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 2045, "end": 2046, "ctxt": 0 }, "value": "k", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 2036, "end": 2039, "ctxt": 0 }, "stmts": [] } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 2058, "end": 2060, "ctxt": 0 }, "value": "fn", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 2061, "end": 2071, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 2061, "end": 2071, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2063, "end": 2071, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2065, "end": 2071, "ctxt": 0 }, "kind": "string" } } } } ], "decorators": [], "span": { "start": 2049, "end": 2092, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 2076, "end": 2092, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 2078, "end": 2090, "ctxt": 0 }, "argument": { "type": "NullLiteral", "span": { "start": 2085, "end": 2089, "ctxt": 0 } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 2072, "end": 2075, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2074, "end": 2075, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2074, "end": 2075, "ctxt": 0 }, "value": "I", "optional": false }, "typeParams": null } } }, { "type": "IfStatement", "span": { "start": 2093, "end": 2106, "ctxt": 0 }, "test": { "type": "CallExpression", "span": { "start": 2097, "end": 2101, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 2097, "end": 2099, "ctxt": 0 }, "value": "fn", "optional": false }, "arguments": [], "typeArguments": null }, "consequent": { "type": "BlockStatement", "span": { "start": 2103, "end": 2106, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 2107, "end": 2123, "ctxt": 0 }, "test": { "type": "CallExpression", "span": { "start": 2114, "end": 2118, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 2114, "end": 2116, "ctxt": 0 }, "value": "fn", "optional": false }, "arguments": [], "typeArguments": null }, "body": { "type": "BlockStatement", "span": { "start": 2120, "end": 2123, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 2124, "end": 2141, "ctxt": 0 }, "test": { "type": "CallExpression", "span": { "start": 2136, "end": 2140, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 2136, "end": 2138, "ctxt": 0 }, "value": "fn", "optional": false }, "arguments": [], "typeArguments": null }, "body": { "type": "BlockStatement", "span": { "start": 2127, "end": 2130, "ctxt": 0 }, "stmts": [] } }, { "type": "IfStatement", "span": { "start": 2143, "end": 2154, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 2147, "end": 2149, "ctxt": 0 }, "value": "fn", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 2151, "end": 2154, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "WhileStatement", "span": { "start": 2155, "end": 2169, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 2162, "end": 2164, "ctxt": 0 }, "value": "fn", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 2166, "end": 2169, "ctxt": 0 }, "stmts": [] } }, { "type": "DoWhileStatement", "span": { "start": 2170, "end": 2185, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 2182, "end": 2184, "ctxt": 0 }, "value": "fn", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 2173, "end": 2176, "ctxt": 0 }, "stmts": [] } } ], "interpreter": null }