{ "type": "Script", "span": { "start": 211, "end": 20475, "ctxt": 0 }, "body": [ { "type": "TsModuleDeclaration", "span": { "start": 211, "end": 20475, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 218, "end": 228, "ctxt": 0 }, "value": "TypeScript", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 229, "end": 20475, "ctxt": 0 }, "body": [ { "type": "ExportDeclaration", "span": { "start": 236, "end": 450, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 249, "end": 267, "ctxt": 0 }, "value": "AssignScopeContext", "optional": false }, "declare": false, "span": { "start": 243, "end": 450, "ctxt": 0 }, "decorators": [], "body": [ { "type": "Constructor", "span": { "start": 278, "end": 444, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 278, "end": 289, "ctxt": 0 }, "value": "constructor", "optional": false }, "params": [ { "type": "TsParameterProperty", "span": { "start": 291, "end": 320, "ctxt": 0 }, "decorators": [], "accessibility": "public", "override": false, "readonly": false, "param": { "type": "Identifier", "span": { "start": 298, "end": 320, "ctxt": 0 }, "value": "scopeChain", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 308, "end": 320, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 310, "end": 320, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 310, "end": 320, "ctxt": 0 }, "value": "ScopeChain", "optional": false }, "typeParams": null } } } }, { "type": "TsParameterProperty", "span": { "start": 343, "end": 368, "ctxt": 0 }, "decorators": [], "accessibility": "public", "override": false, "readonly": false, "param": { "type": "Identifier", "span": { "start": 350, "end": 368, "ctxt": 0 }, "value": "typeFlow", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 358, "end": 368, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 360, "end": 368, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 360, "end": 368, "ctxt": 0 }, "value": "TypeFlow", "optional": false }, "typeParams": null } } } }, { "type": "TsParameterProperty", "span": { "start": 391, "end": 431, "ctxt": 0 }, "decorators": [], "accessibility": "public", "override": false, "readonly": false, "param": { "type": "Identifier", "span": { "start": 398, "end": 431, "ctxt": 0 }, "value": "modDeclChain", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 410, "end": 431, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 412, "end": 431, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 412, "end": 429, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 412, "end": 429, "ctxt": 0 }, "value": "ModuleDeclaration", "optional": false }, "typeParams": null } } } } } ], "body": { "type": "BlockStatement", "span": { "start": 433, "end": 444, "ctxt": 0 }, "stmts": [] }, "accessibility": null, "isOptional": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } }, { "type": "ExportDeclaration", "span": { "start": 456, "end": 819, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 472, "end": 487, "ctxt": 0 }, "value": "pushAssignScope", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 488, "end": 506, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 488, "end": 506, "ctxt": 0 }, "value": "scope", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 493, "end": 506, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 495, "end": 506, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 495, "end": 506, "ctxt": 0 }, "value": "SymbolScope", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 516, "end": 543, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 516, "end": 543, "ctxt": 0 }, "value": "context", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 523, "end": 543, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 525, "end": 543, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 525, "end": 543, "ctxt": 0 }, "value": "AssignScopeContext", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 553, "end": 563, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 553, "end": 563, "ctxt": 0 }, "value": "type", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 557, "end": 563, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 559, "end": 563, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 559, "end": 563, "ctxt": 0 }, "value": "Type", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 573, "end": 588, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 573, "end": 588, "ctxt": 0 }, "value": "classType", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 582, "end": 588, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 584, "end": 588, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 584, "end": 588, "ctxt": 0 }, "value": "Type", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 598, "end": 611, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 598, "end": 611, "ctxt": 0 }, "value": "fnc", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 601, "end": 611, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 603, "end": 611, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 603, "end": 611, "ctxt": 0 }, "value": "FuncDecl", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 463, "end": 819, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 613, "end": 819, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 624, "end": 684, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 628, "end": 683, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 628, "end": 633, "ctxt": 0 }, "value": "chain", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 636, "end": 683, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 640, "end": 650, "ctxt": 0 }, "value": "ScopeChain", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 651, "end": 655, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 657, "end": 675, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 657, "end": 664, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 665, "end": 675, "ctxt": 0 }, "value": "scopeChain", "optional": false } } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 677, "end": 682, "ctxt": 0 }, "value": "scope", "optional": false } } ], "typeArguments": null }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 693, "end": 715, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 693, "end": 714, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 693, "end": 707, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 693, "end": 698, "ctxt": 0 }, "value": "chain", "optional": false }, "property": { "type": "Identifier", "span": { "start": 699, "end": 707, "ctxt": 0 }, "value": "thisType", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 710, "end": 714, "ctxt": 0 }, "value": "type", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 724, "end": 752, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 724, "end": 751, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 724, "end": 739, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 724, "end": 729, "ctxt": 0 }, "value": "chain", "optional": false }, "property": { "type": "Identifier", "span": { "start": 730, "end": 739, "ctxt": 0 }, "value": "classType", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 742, "end": 751, "ctxt": 0 }, "value": "classType", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 761, "end": 777, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 761, "end": 776, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 761, "end": 770, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 761, "end": 766, "ctxt": 0 }, "value": "chain", "optional": false }, "property": { "type": "Identifier", "span": { "start": 767, "end": 770, "ctxt": 0 }, "value": "fnc", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 773, "end": 776, "ctxt": 0 }, "value": "fnc", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 786, "end": 813, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 786, "end": 812, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 786, "end": 804, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 786, "end": 793, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 794, "end": 804, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 807, "end": 812, "ctxt": 0 }, "value": "chain", "optional": false } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 825, "end": 950, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 841, "end": 855, "ctxt": 0 }, "value": "popAssignScope", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 856, "end": 883, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 856, "end": 883, "ctxt": 0 }, "value": "context", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 863, "end": 883, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 865, "end": 883, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 865, "end": 883, "ctxt": 0 }, "value": "AssignScopeContext", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 832, "end": 950, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 885, "end": 950, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 895, "end": 944, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 895, "end": 943, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 895, "end": 913, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 895, "end": 902, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 903, "end": 913, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 916, "end": 943, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 916, "end": 934, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 916, "end": 923, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 924, "end": 934, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 935, "end": 943, "ctxt": 0 }, "value": "previous", "optional": false } } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 956, "end": 1154, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 972, "end": 987, "ctxt": 0 }, "value": "instanceCompare", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 988, "end": 997, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 988, "end": 997, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 989, "end": 997, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 991, "end": 997, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 991, "end": 997, "ctxt": 0 }, "value": "Symbol", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 999, "end": 1008, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 999, "end": 1008, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1000, "end": 1008, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1002, "end": 1008, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1002, "end": 1008, "ctxt": 0 }, "value": "Symbol", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 963, "end": 1154, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1010, "end": 1154, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 1020, "end": 1148, "ctxt": 0 }, "test": { "type": "ParenthesisExpression", "span": { "start": 1024, "end": 1066, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 1025, "end": 1065, "ctxt": 0 }, "operator": "||", "left": { "type": "ParenthesisExpression", "span": { "start": 1025, "end": 1036, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 1026, "end": 1035, "ctxt": 0 }, "operator": "==", "left": { "type": "Identifier", "span": { "start": 1026, "end": 1027, "ctxt": 0 }, "value": "a", "optional": false }, "right": { "type": "NullLiteral", "span": { "start": 1031, "end": 1035, "ctxt": 0 } } } }, "right": { "type": "ParenthesisExpression", "span": { "start": 1040, "end": 1065, "ctxt": 0 }, "expression": { "type": "UnaryExpression", "span": { "start": 1041, "end": 1064, "ctxt": 0 }, "operator": "!", "argument": { "type": "CallExpression", "span": { "start": 1042, "end": 1064, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 1042, "end": 1062, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1042, "end": 1043, "ctxt": 0 }, "value": "a", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1044, "end": 1062, "ctxt": 0 }, "value": "isInstanceProperty", "optional": false } }, "arguments": [], "typeArguments": null } } } } }, "consequent": { "type": "BlockStatement", "span": { "start": 1068, "end": 1101, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 1082, "end": 1091, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 1089, "end": 1090, "ctxt": 0 }, "value": "b", "optional": false } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 1115, "end": 1148, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 1129, "end": 1138, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 1136, "end": 1137, "ctxt": 0 }, "value": "a", "optional": false } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 1160, "end": 1252, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1176, "end": 1194, "ctxt": 0 }, "value": "instanceFilterStop", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 1195, "end": 1204, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1195, "end": 1204, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1196, "end": 1204, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1198, "end": 1204, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1198, "end": 1204, "ctxt": 0 }, "value": "Symbol", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 1167, "end": 1252, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1206, "end": 1252, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 1216, "end": 1246, "ctxt": 0 }, "argument": { "type": "CallExpression", "span": { "start": 1223, "end": 1245, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 1223, "end": 1243, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1223, "end": 1224, "ctxt": 0 }, "value": "s", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1225, "end": 1243, "ctxt": 0 }, "value": "isInstanceProperty", "optional": false } }, "arguments": [], "typeArguments": null } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 1258, "end": 1806, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1271, "end": 1288, "ctxt": 0 }, "value": "ScopeSearchFilter", "optional": false }, "declare": false, "span": { "start": 1265, "end": 1806, "ctxt": 0 }, "decorators": [], "body": [ { "type": "Constructor", "span": { "start": 1300, "end": 1428, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1300, "end": 1311, "ctxt": 0 }, "value": "constructor", "optional": false }, "params": [ { "type": "TsParameterProperty", "span": { "start": 1313, "end": 1359, "ctxt": 0 }, "decorators": [], "accessibility": "public", "override": false, "readonly": false, "param": { "type": "Identifier", "span": { "start": 1320, "end": 1359, "ctxt": 0 }, "value": "select", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1326, "end": 1359, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1328, "end": 1359, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1329, "end": 1338, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1330, "end": 1338, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1332, "end": 1338, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1332, "end": 1338, "ctxt": 0 }, "value": "Symbol", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1340, "end": 1349, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1341, "end": 1349, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1343, "end": 1349, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1343, "end": 1349, "ctxt": 0 }, "value": "Symbol", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1351, "end": 1359, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1353, "end": 1359, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1353, "end": 1359, "ctxt": 0 }, "value": "Symbol", "optional": false }, "typeParams": null } } } } } }, { "type": "TsParameterProperty", "span": { "start": 1389, "end": 1423, "ctxt": 0 }, "decorators": [], "accessibility": "public", "override": false, "readonly": false, "param": { "type": "Identifier", "span": { "start": 1396, "end": 1423, "ctxt": 0 }, "value": "stop", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1400, "end": 1423, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1402, "end": 1423, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1403, "end": 1412, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1404, "end": 1412, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1406, "end": 1412, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1406, "end": 1412, "ctxt": 0 }, "value": "Symbol", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1414, "end": 1423, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1416, "end": 1423, "ctxt": 0 }, "kind": "boolean" } } } } } } ], "body": { "type": "BlockStatement", "span": { "start": 1425, "end": 1428, "ctxt": 0 }, "stmts": [] }, "accessibility": null, "isOptional": false }, { "type": "ClassProperty", "span": { "start": 1438, "end": 1467, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1445, "end": 1451, "ctxt": 0 }, "value": "result", "optional": false }, "value": { "type": "NullLiteral", "span": { "start": 1462, "end": 1466, "ctxt": 0 } }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1451, "end": 1459, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1453, "end": 1459, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1453, "end": 1459, "ctxt": 0 }, "value": "Symbol", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassMethod", "span": { "start": 1477, "end": 1535, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1484, "end": 1489, "ctxt": 0 }, "value": "reset", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 1477, "end": 1535, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1492, "end": 1535, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 1506, "end": 1525, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1506, "end": 1524, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1506, "end": 1517, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1506, "end": 1510, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1511, "end": 1517, "ctxt": 0 }, "value": "result", "optional": false } }, "right": { "type": "NullLiteral", "span": { "start": 1520, "end": 1524, "ctxt": 0 } } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 1545, "end": 1800, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1552, "end": 1558, "ctxt": 0 }, "value": "update", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 1559, "end": 1568, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1559, "end": 1568, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1560, "end": 1568, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1562, "end": 1568, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1562, "end": 1568, "ctxt": 0 }, "value": "Symbol", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 1545, "end": 1800, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1579, "end": 1800, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 1593, "end": 1635, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1593, "end": 1634, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1593, "end": 1604, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1593, "end": 1597, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1598, "end": 1604, "ctxt": 0 }, "value": "result", "optional": false } }, "right": { "type": "CallExpression", "span": { "start": 1607, "end": 1634, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 1607, "end": 1618, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1607, "end": 1611, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1612, "end": 1618, "ctxt": 0 }, "value": "select", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 1619, "end": 1630, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1619, "end": 1623, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1624, "end": 1630, "ctxt": 0 }, "value": "result", "optional": false } } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1632, "end": 1633, "ctxt": 0 }, "value": "b", "optional": false } } ], "typeArguments": null } } }, { "type": "IfStatement", "span": { "start": 1648, "end": 1790, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 1652, "end": 1663, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1652, "end": 1656, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1657, "end": 1663, "ctxt": 0 }, "value": "result", "optional": false } }, "consequent": { "type": "BlockStatement", "span": { "start": 1665, "end": 1727, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 1683, "end": 1713, "ctxt": 0 }, "argument": { "type": "CallExpression", "span": { "start": 1690, "end": 1712, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 1690, "end": 1699, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1690, "end": 1694, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1695, "end": 1699, "ctxt": 0 }, "value": "stop", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 1700, "end": 1711, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1700, "end": 1704, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1705, "end": 1711, "ctxt": 0 }, "value": "result", "optional": false } } } ], "typeArguments": null } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 1745, "end": 1790, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 1763, "end": 1776, "ctxt": 0 }, "argument": { "type": "BooleanLiteral", "span": { "start": 1770, "end": 1775, "ctxt": 0 }, "value": false } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 1569, "end": 1578, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1571, "end": 1578, "ctxt": 0 }, "kind": "boolean" } } }, "kind": "method", "isStatic": false, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } }, { "type": "ExportDeclaration", "span": { "start": 1812, "end": 1899, "ctxt": 0 }, "declaration": { "type": "VariableDeclaration", "span": { "start": 1819, "end": 1899, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1823, "end": 1898, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1823, "end": 1837, "ctxt": 0 }, "value": "instanceFilter", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 1840, "end": 1898, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1844, "end": 1861, "ctxt": 0 }, "value": "ScopeSearchFilter", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1862, "end": 1877, "ctxt": 0 }, "value": "instanceCompare", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1879, "end": 1897, "ctxt": 0 }, "value": "instanceFilterStop", "optional": false } } ], "typeArguments": null }, "definite": false } ] } }, { "type": "ExportDeclaration", "span": { "start": 1905, "end": 3111, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1921, "end": 1942, "ctxt": 0 }, "value": "preAssignModuleScopes", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 1943, "end": 1951, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1943, "end": 1951, "ctxt": 0 }, "value": "ast", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1946, "end": 1951, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1948, "end": 1951, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1948, "end": 1951, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 1953, "end": 1980, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1953, "end": 1980, "ctxt": 0 }, "value": "context", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1960, "end": 1980, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1962, "end": 1980, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1962, "end": 1980, "ctxt": 0 }, "value": "AssignScopeContext", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 1912, "end": 3111, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1982, "end": 3111, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 1992, "end": 2032, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1996, "end": 2031, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1996, "end": 2006, "ctxt": 0 }, "value": "moduleDecl", "optional": false, "typeAnnotation": null }, "init": { "type": "TsTypeAssertion", "span": { "start": 2009, "end": 2031, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 2028, "end": 2031, "ctxt": 0 }, "value": "ast", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2010, "end": 2027, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2010, "end": 2027, "ctxt": 0 }, "value": "ModuleDeclaration", "optional": false }, "typeParams": null } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2041, "end": 2082, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2045, "end": 2081, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2045, "end": 2056, "ctxt": 0 }, "value": "memberScope", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2056, "end": 2074, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2058, "end": 2074, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2058, "end": 2074, "ctxt": 0 }, "value": "SymbolTableScope", "optional": false }, "typeParams": null } } }, "init": { "type": "NullLiteral", "span": { "start": 2077, "end": 2081, "ctxt": 0 } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2091, "end": 2133, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2095, "end": 2132, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2095, "end": 2103, "ctxt": 0 }, "value": "aggScope", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2103, "end": 2125, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2105, "end": 2125, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2105, "end": 2125, "ctxt": 0 }, "value": "SymbolAggregateScope", "optional": false }, "typeParams": null } } }, "init": { "type": "NullLiteral", "span": { "start": 2128, "end": 2132, "ctxt": 0 } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 2143, "end": 2250, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 2147, "end": 2180, "ctxt": 0 }, "operator": "&&", "left": { "type": "MemberExpression", "span": { "start": 2147, "end": 2162, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2147, "end": 2157, "ctxt": 0 }, "value": "moduleDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2158, "end": 2162, "ctxt": 0 }, "value": "name", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2166, "end": 2180, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2166, "end": 2176, "ctxt": 0 }, "value": "moduleDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2177, "end": 2180, "ctxt": 0 }, "value": "mod", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 2182, "end": 2250, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 2196, "end": 2240, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2196, "end": 2239, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2196, "end": 2215, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 2196, "end": 2211, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2196, "end": 2206, "ctxt": 0 }, "value": "moduleDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2207, "end": 2211, "ctxt": 0 }, "value": "name", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 2212, "end": 2215, "ctxt": 0 }, "value": "sym", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2218, "end": 2239, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 2218, "end": 2232, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2218, "end": 2228, "ctxt": 0 }, "value": "moduleDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2229, "end": 2232, "ctxt": 0 }, "value": "mod", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 2233, "end": 2239, "ctxt": 0 }, "value": "symbol", "optional": false } } } } ] }, "alternate": null }, { "type": "VariableDeclaration", "span": { "start": 2260, "end": 2285, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2264, "end": 2284, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2264, "end": 2267, "ctxt": 0 }, "value": "mod", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 2270, "end": 2284, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2270, "end": 2280, "ctxt": 0 }, "value": "moduleDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2281, "end": 2284, "ctxt": 0 }, "value": "mod", "optional": false } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 2350, "end": 2391, "ctxt": 0 }, "test": { "type": "UnaryExpression", "span": { "start": 2354, "end": 2358, "ctxt": 0 }, "operator": "!", "argument": { "type": "Identifier", "span": { "start": 2355, "end": 2358, "ctxt": 0 }, "value": "mod", "optional": false } }, "consequent": { "type": "BlockStatement", "span": { "start": 2360, "end": 2391, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 2374, "end": 2381, "ctxt": 0 }, "argument": null } ] }, "alternate": null }, { "type": "ExpressionStatement", "span": { "start": 2401, "end": 2526, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2401, "end": 2525, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2401, "end": 2412, "ctxt": 0 }, "value": "memberScope", "optional": false, "typeAnnotation": null }, "right": { "type": "NewExpression", "span": { "start": 2415, "end": 2525, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 2419, "end": 2435, "ctxt": 0 }, "value": "SymbolTableScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 2436, "end": 2447, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2436, "end": 2439, "ctxt": 0 }, "value": "mod", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2440, "end": 2447, "ctxt": 0 }, "value": "members", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 2449, "end": 2467, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2449, "end": 2452, "ctxt": 0 }, "value": "mod", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2453, "end": 2467, "ctxt": 0 }, "value": "ambientMembers", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 2469, "end": 2486, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2469, "end": 2472, "ctxt": 0 }, "value": "mod", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2473, "end": 2486, "ctxt": 0 }, "value": "enclosedTypes", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 2488, "end": 2512, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2488, "end": 2491, "ctxt": 0 }, "value": "mod", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2492, "end": 2512, "ctxt": 0 }, "value": "ambientEnclosedTypes", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 2514, "end": 2524, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2514, "end": 2517, "ctxt": 0 }, "value": "mod", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2518, "end": 2524, "ctxt": 0 }, "value": "symbol", "optional": false } } } ], "typeArguments": null } } }, { "type": "ExpressionStatement", "span": { "start": 2535, "end": 2565, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2535, "end": 2564, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2535, "end": 2550, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2535, "end": 2538, "ctxt": 0 }, "value": "mod", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2539, "end": 2550, "ctxt": 0 }, "value": "memberScope", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 2553, "end": 2564, "ctxt": 0 }, "value": "memberScope", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2574, "end": 2612, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 2574, "end": 2611, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 2574, "end": 2599, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 2574, "end": 2594, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2574, "end": 2581, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2582, "end": 2594, "ctxt": 0 }, "value": "modDeclChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 2595, "end": 2599, "ctxt": 0 }, "value": "push", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2600, "end": 2610, "ctxt": 0 }, "value": "moduleDecl", "optional": false } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 2621, "end": 2674, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2621, "end": 2673, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2621, "end": 2660, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 2621, "end": 2645, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 2621, "end": 2637, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2621, "end": 2628, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2629, "end": 2637, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 2638, "end": 2645, "ctxt": 0 }, "value": "checker", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 2646, "end": 2660, "ctxt": 0 }, "value": "currentModDecl", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 2663, "end": 2673, "ctxt": 0 }, "value": "moduleDecl", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2683, "end": 2731, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2683, "end": 2730, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2683, "end": 2691, "ctxt": 0 }, "value": "aggScope", "optional": false, "typeAnnotation": null }, "right": { "type": "NewExpression", "span": { "start": 2694, "end": 2730, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 2698, "end": 2718, "ctxt": 0 }, "value": "SymbolAggregateScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 2719, "end": 2729, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2719, "end": 2722, "ctxt": 0 }, "value": "mod", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2723, "end": 2729, "ctxt": 0 }, "value": "symbol", "optional": false } } } ], "typeArguments": null } } }, { "type": "ExpressionStatement", "span": { "start": 2740, "end": 2777, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 2740, "end": 2776, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 2740, "end": 2763, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2740, "end": 2748, "ctxt": 0 }, "value": "aggScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2749, "end": 2763, "ctxt": 0 }, "value": "addParentScope", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2764, "end": 2775, "ctxt": 0 }, "value": "memberScope", "optional": false } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 2786, "end": 2836, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 2786, "end": 2835, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 2786, "end": 2809, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2786, "end": 2794, "ctxt": 0 }, "value": "aggScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2795, "end": 2809, "ctxt": 0 }, "value": "addParentScope", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 2810, "end": 2834, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 2810, "end": 2828, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2810, "end": 2817, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2818, "end": 2828, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 2829, "end": 2834, "ctxt": 0 }, "value": "scope", "optional": false } } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 2845, "end": 2898, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 2845, "end": 2897, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 2845, "end": 2860, "ctxt": 0 }, "value": "pushAssignScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2861, "end": 2869, "ctxt": 0 }, "value": "aggScope", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2871, "end": 2878, "ctxt": 0 }, "value": "context", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 2880, "end": 2884, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 2886, "end": 2890, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 2892, "end": 2896, "ctxt": 0 } } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 2907, "end": 2937, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2907, "end": 2936, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2907, "end": 2925, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2907, "end": 2910, "ctxt": 0 }, "value": "mod", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2911, "end": 2925, "ctxt": 0 }, "value": "containedScope", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 2928, "end": 2936, "ctxt": 0 }, "value": "aggScope", "optional": false } } }, { "type": "IfStatement", "span": { "start": 2946, "end": 3105, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 2950, "end": 2960, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2950, "end": 2953, "ctxt": 0 }, "value": "mod", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2954, "end": 2960, "ctxt": 0 }, "value": "symbol", "optional": false } }, "consequent": { "type": "BlockStatement", "span": { "start": 2962, "end": 3105, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 2976, "end": 3095, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 2976, "end": 3094, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 2976, "end": 3011, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 2976, "end": 2992, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2976, "end": 2983, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2984, "end": 2992, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 2993, "end": 3011, "ctxt": 0 }, "value": "addLocalsFromScope", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 3012, "end": 3030, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3012, "end": 3015, "ctxt": 0 }, "value": "mod", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3016, "end": 3030, "ctxt": 0 }, "value": "containedScope", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 3032, "end": 3042, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3032, "end": 3035, "ctxt": 0 }, "value": "mod", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3036, "end": 3042, "ctxt": 0 }, "value": "symbol", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 3044, "end": 3059, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3044, "end": 3054, "ctxt": 0 }, "value": "moduleDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3055, "end": 3059, "ctxt": 0 }, "value": "vars", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 3061, "end": 3087, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 3061, "end": 3072, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3061, "end": 3064, "ctxt": 0 }, "value": "mod", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3065, "end": 3072, "ctxt": 0 }, "value": "members", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 3073, "end": 3087, "ctxt": 0 }, "value": "privateMembers", "optional": false } } }, { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 3089, "end": 3093, "ctxt": 0 }, "value": true } } ], "typeArguments": null } } ] }, "alternate": null } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 3117, "end": 4492, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 3133, "end": 3153, "ctxt": 0 }, "value": "preAssignClassScopes", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 3154, "end": 3162, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 3154, "end": 3162, "ctxt": 0 }, "value": "ast", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3157, "end": 3162, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3159, "end": 3162, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3159, "end": 3162, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 3164, "end": 3191, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 3164, "end": 3191, "ctxt": 0 }, "value": "context", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3171, "end": 3191, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3173, "end": 3191, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3173, "end": 3191, "ctxt": 0 }, "value": "AssignScopeContext", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 3124, "end": 4492, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 3193, "end": 4492, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 3203, "end": 3245, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3207, "end": 3244, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3207, "end": 3216, "ctxt": 0 }, "value": "classDecl", "optional": false, "typeAnnotation": null }, "init": { "type": "TsTypeAssertion", "span": { "start": 3219, "end": 3244, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 3241, "end": 3244, "ctxt": 0 }, "value": "ast", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3220, "end": 3240, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3220, "end": 3240, "ctxt": 0 }, "value": "InterfaceDeclaration", "optional": false }, "typeParams": null } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3254, "end": 3295, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3258, "end": 3294, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3258, "end": 3269, "ctxt": 0 }, "value": "memberScope", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3269, "end": 3287, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3271, "end": 3287, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3271, "end": 3287, "ctxt": 0 }, "value": "SymbolTableScope", "optional": false }, "typeParams": null } } }, "init": { "type": "NullLiteral", "span": { "start": 3290, "end": 3294, "ctxt": 0 } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3304, "end": 3346, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3308, "end": 3345, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3308, "end": 3316, "ctxt": 0 }, "value": "aggScope", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3316, "end": 3338, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3318, "end": 3338, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3318, "end": 3338, "ctxt": 0 }, "value": "SymbolAggregateScope", "optional": false }, "typeParams": null } } }, "init": { "type": "NullLiteral", "span": { "start": 3341, "end": 3345, "ctxt": 0 } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 3356, "end": 3461, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 3360, "end": 3392, "ctxt": 0 }, "operator": "&&", "left": { "type": "MemberExpression", "span": { "start": 3360, "end": 3374, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3360, "end": 3369, "ctxt": 0 }, "value": "classDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3370, "end": 3374, "ctxt": 0 }, "value": "name", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 3378, "end": 3392, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3378, "end": 3387, "ctxt": 0 }, "value": "classDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3388, "end": 3392, "ctxt": 0 }, "value": "type", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 3394, "end": 3461, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 3408, "end": 3451, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3408, "end": 3450, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3408, "end": 3426, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 3408, "end": 3422, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3408, "end": 3417, "ctxt": 0 }, "value": "classDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3418, "end": 3422, "ctxt": 0 }, "value": "name", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 3423, "end": 3426, "ctxt": 0 }, "value": "sym", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 3429, "end": 3450, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 3429, "end": 3443, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3429, "end": 3438, "ctxt": 0 }, "value": "classDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3439, "end": 3443, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 3444, "end": 3450, "ctxt": 0 }, "value": "symbol", "optional": false } } } } ] }, "alternate": null }, { "type": "VariableDeclaration", "span": { "start": 3471, "end": 3496, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3475, "end": 3495, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3475, "end": 3484, "ctxt": 0 }, "value": "classType", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 3487, "end": 3495, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3487, "end": 3490, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3491, "end": 3495, "ctxt": 0 }, "value": "type", "optional": false } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 3506, "end": 4486, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 3510, "end": 3519, "ctxt": 0 }, "value": "classType", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 3521, "end": 4412, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 3535, "end": 3567, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3539, "end": 3566, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3539, "end": 3547, "ctxt": 0 }, "value": "classSym", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 3550, "end": 3566, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3550, "end": 3559, "ctxt": 0 }, "value": "classType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3560, "end": 3566, "ctxt": 0 }, "value": "symbol", "optional": false } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 3580, "end": 3656, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3580, "end": 3655, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 3580, "end": 3591, "ctxt": 0 }, "value": "memberScope", "optional": false, "typeAnnotation": null }, "right": { "type": "TsTypeAssertion", "span": { "start": 3594, "end": 3655, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 3612, "end": 3655, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 3612, "end": 3644, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 3612, "end": 3636, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 3612, "end": 3628, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3612, "end": 3619, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3620, "end": 3628, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 3629, "end": 3636, "ctxt": 0 }, "value": "checker", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 3637, "end": 3644, "ctxt": 0 }, "value": "scopeOf", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3645, "end": 3654, "ctxt": 0 }, "value": "classType", "optional": false } } ], "typeArguments": null }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3595, "end": 3611, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3595, "end": 3611, "ctxt": 0 }, "value": "SymbolTableScope", "optional": false }, "typeParams": null } } } }, { "type": "ExpressionStatement", "span": { "start": 3670, "end": 3724, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3670, "end": 3723, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 3670, "end": 3678, "ctxt": 0 }, "value": "aggScope", "optional": false, "typeAnnotation": null }, "right": { "type": "NewExpression", "span": { "start": 3681, "end": 3723, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 3685, "end": 3705, "ctxt": 0 }, "value": "SymbolAggregateScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 3706, "end": 3722, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3706, "end": 3715, "ctxt": 0 }, "value": "classType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3716, "end": 3722, "ctxt": 0 }, "value": "symbol", "optional": false } } } ], "typeArguments": null } } }, { "type": "ExpressionStatement", "span": { "start": 3737, "end": 3774, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 3737, "end": 3773, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 3737, "end": 3760, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3737, "end": 3745, "ctxt": 0 }, "value": "aggScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3746, "end": 3760, "ctxt": 0 }, "value": "addParentScope", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3761, "end": 3772, "ctxt": 0 }, "value": "memberScope", "optional": false } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 3787, "end": 3837, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 3787, "end": 3836, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 3787, "end": 3810, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3787, "end": 3795, "ctxt": 0 }, "value": "aggScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3796, "end": 3810, "ctxt": 0 }, "value": "addParentScope", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 3811, "end": 3835, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 3811, "end": 3829, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3811, "end": 3818, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3819, "end": 3829, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 3830, "end": 3835, "ctxt": 0 }, "value": "scope", "optional": false } } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 3851, "end": 3887, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3851, "end": 3886, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3851, "end": 3875, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3851, "end": 3860, "ctxt": 0 }, "value": "classType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3861, "end": 3875, "ctxt": 0 }, "value": "containedScope", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 3878, "end": 3886, "ctxt": 0 }, "value": "aggScope", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 3900, "end": 3936, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3900, "end": 3935, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3900, "end": 3921, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3900, "end": 3909, "ctxt": 0 }, "value": "classType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3910, "end": 3921, "ctxt": 0 }, "value": "memberScope", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 3924, "end": 3935, "ctxt": 0 }, "value": "memberScope", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 3950, "end": 3992, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3954, "end": 3991, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3954, "end": 3966, "ctxt": 0 }, "value": "instanceType", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 3969, "end": 3991, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3969, "end": 3978, "ctxt": 0 }, "value": "classType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3979, "end": 3991, "ctxt": 0 }, "value": "instanceType", "optional": false } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 4005, "end": 4084, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 4005, "end": 4083, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 4005, "end": 4016, "ctxt": 0 }, "value": "memberScope", "optional": false, "typeAnnotation": null }, "right": { "type": "TsTypeAssertion", "span": { "start": 4019, "end": 4083, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 4037, "end": 4083, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 4037, "end": 4069, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 4037, "end": 4061, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 4037, "end": 4053, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4037, "end": 4044, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4045, "end": 4053, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 4054, "end": 4061, "ctxt": 0 }, "value": "checker", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 4062, "end": 4069, "ctxt": 0 }, "value": "scopeOf", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 4070, "end": 4082, "ctxt": 0 }, "value": "instanceType", "optional": false } } ], "typeArguments": null }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4020, "end": 4036, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4020, "end": 4036, "ctxt": 0 }, "value": "SymbolTableScope", "optional": false }, "typeParams": null } } } }, { "type": "ExpressionStatement", "span": { "start": 4097, "end": 4136, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 4097, "end": 4135, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 4097, "end": 4121, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4097, "end": 4109, "ctxt": 0 }, "value": "instanceType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4110, "end": 4121, "ctxt": 0 }, "value": "memberScope", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 4124, "end": 4135, "ctxt": 0 }, "value": "memberScope", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 4150, "end": 4207, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 4150, "end": 4206, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 4150, "end": 4158, "ctxt": 0 }, "value": "aggScope", "optional": false, "typeAnnotation": null }, "right": { "type": "NewExpression", "span": { "start": 4161, "end": 4206, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 4165, "end": 4185, "ctxt": 0 }, "value": "SymbolAggregateScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 4186, "end": 4205, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4186, "end": 4198, "ctxt": 0 }, "value": "instanceType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4199, "end": 4205, "ctxt": 0 }, "value": "symbol", "optional": false } } } ], "typeArguments": null } } }, { "type": "ExpressionStatement", "span": { "start": 4220, "end": 4270, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 4220, "end": 4269, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 4220, "end": 4243, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4220, "end": 4228, "ctxt": 0 }, "value": "aggScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4229, "end": 4243, "ctxt": 0 }, "value": "addParentScope", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 4244, "end": 4268, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 4244, "end": 4262, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4244, "end": 4251, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4252, "end": 4262, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 4263, "end": 4268, "ctxt": 0 }, "value": "scope", "optional": false } } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 4284, "end": 4350, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 4284, "end": 4349, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 4284, "end": 4299, "ctxt": 0 }, "value": "pushAssignScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 4300, "end": 4308, "ctxt": 0 }, "value": "aggScope", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 4310, "end": 4317, "ctxt": 0 }, "value": "context", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 4319, "end": 4331, "ctxt": 0 }, "value": "instanceType", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 4333, "end": 4342, "ctxt": 0 }, "value": "classType", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 4344, "end": 4348, "ctxt": 0 } } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 4363, "end": 4402, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 4363, "end": 4401, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 4363, "end": 4390, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4363, "end": 4375, "ctxt": 0 }, "value": "instanceType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4376, "end": 4390, "ctxt": 0 }, "value": "containedScope", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 4393, "end": 4401, "ctxt": 0 }, "value": "aggScope", "optional": false } } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 4426, "end": 4486, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 4440, "end": 4476, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 4440, "end": 4475, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 4440, "end": 4448, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4440, "end": 4443, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4444, "end": 4448, "ctxt": 0 }, "value": "type", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 4451, "end": 4475, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 4451, "end": 4467, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4451, "end": 4458, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4459, "end": 4467, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 4468, "end": 4475, "ctxt": 0 }, "value": "anyType", "optional": false } } } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 4498, "end": 5332, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 4514, "end": 4538, "ctxt": 0 }, "value": "preAssignInterfaceScopes", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 4539, "end": 4547, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 4539, "end": 4547, "ctxt": 0 }, "value": "ast", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4542, "end": 4547, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4544, "end": 4547, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4544, "end": 4547, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 4549, "end": 4576, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 4549, "end": 4576, "ctxt": 0 }, "value": "context", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4556, "end": 4576, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4558, "end": 4576, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4558, "end": 4576, "ctxt": 0 }, "value": "AssignScopeContext", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 4505, "end": 5332, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 4578, "end": 5332, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 4588, "end": 4634, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4592, "end": 4633, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4592, "end": 4605, "ctxt": 0 }, "value": "interfaceDecl", "optional": false, "typeAnnotation": null }, "init": { "type": "TsTypeAssertion", "span": { "start": 4608, "end": 4633, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 4630, "end": 4633, "ctxt": 0 }, "value": "ast", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4609, "end": 4629, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4609, "end": 4629, "ctxt": 0 }, "value": "InterfaceDeclaration", "optional": false }, "typeParams": null } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 4643, "end": 4684, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4647, "end": 4683, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4647, "end": 4658, "ctxt": 0 }, "value": "memberScope", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4658, "end": 4676, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4660, "end": 4676, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4660, "end": 4676, "ctxt": 0 }, "value": "SymbolTableScope", "optional": false }, "typeParams": null } } }, "init": { "type": "NullLiteral", "span": { "start": 4679, "end": 4683, "ctxt": 0 } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 4693, "end": 4735, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4697, "end": 4734, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4697, "end": 4705, "ctxt": 0 }, "value": "aggScope", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4705, "end": 4727, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4707, "end": 4727, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4707, "end": 4727, "ctxt": 0 }, "value": "SymbolAggregateScope", "optional": false }, "typeParams": null } } }, "init": { "type": "NullLiteral", "span": { "start": 4730, "end": 4734, "ctxt": 0 } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 4745, "end": 4866, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 4749, "end": 4789, "ctxt": 0 }, "operator": "&&", "left": { "type": "MemberExpression", "span": { "start": 4749, "end": 4767, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4749, "end": 4762, "ctxt": 0 }, "value": "interfaceDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4763, "end": 4767, "ctxt": 0 }, "value": "name", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 4771, "end": 4789, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4771, "end": 4784, "ctxt": 0 }, "value": "interfaceDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4785, "end": 4789, "ctxt": 0 }, "value": "type", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 4791, "end": 4866, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 4805, "end": 4856, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 4805, "end": 4855, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 4805, "end": 4827, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 4805, "end": 4823, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4805, "end": 4818, "ctxt": 0 }, "value": "interfaceDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4819, "end": 4823, "ctxt": 0 }, "value": "name", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 4824, "end": 4827, "ctxt": 0 }, "value": "sym", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 4830, "end": 4855, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 4830, "end": 4848, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4830, "end": 4843, "ctxt": 0 }, "value": "interfaceDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4844, "end": 4848, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 4849, "end": 4855, "ctxt": 0 }, "value": "symbol", "optional": false } } } } ] }, "alternate": null }, { "type": "VariableDeclaration", "span": { "start": 4876, "end": 4905, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4880, "end": 4904, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4880, "end": 4893, "ctxt": 0 }, "value": "interfaceType", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 4896, "end": 4904, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4896, "end": 4899, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4900, "end": 4904, "ctxt": 0 }, "value": "type", "optional": false } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 4914, "end": 4994, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 4914, "end": 4993, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 4914, "end": 4925, "ctxt": 0 }, "value": "memberScope", "optional": false, "typeAnnotation": null }, "right": { "type": "TsTypeAssertion", "span": { "start": 4928, "end": 4993, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 4946, "end": 4993, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 4946, "end": 4978, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 4946, "end": 4970, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 4946, "end": 4962, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4946, "end": 4953, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4954, "end": 4962, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 4963, "end": 4970, "ctxt": 0 }, "value": "checker", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 4971, "end": 4978, "ctxt": 0 }, "value": "scopeOf", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 4979, "end": 4992, "ctxt": 0 }, "value": "interfaceType", "optional": false } } ], "typeArguments": null }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4929, "end": 4945, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4929, "end": 4945, "ctxt": 0 }, "value": "SymbolTableScope", "optional": false }, "typeParams": null } } } }, { "type": "ExpressionStatement", "span": { "start": 5003, "end": 5043, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 5003, "end": 5042, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 5003, "end": 5028, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5003, "end": 5016, "ctxt": 0 }, "value": "interfaceType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5017, "end": 5028, "ctxt": 0 }, "value": "memberScope", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 5031, "end": 5042, "ctxt": 0 }, "value": "memberScope", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 5052, "end": 5110, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 5052, "end": 5109, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 5052, "end": 5060, "ctxt": 0 }, "value": "aggScope", "optional": false, "typeAnnotation": null }, "right": { "type": "NewExpression", "span": { "start": 5063, "end": 5109, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 5067, "end": 5087, "ctxt": 0 }, "value": "SymbolAggregateScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 5088, "end": 5108, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5088, "end": 5101, "ctxt": 0 }, "value": "interfaceType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5102, "end": 5108, "ctxt": 0 }, "value": "symbol", "optional": false } } } ], "typeArguments": null } } }, { "type": "ExpressionStatement", "span": { "start": 5119, "end": 5156, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 5119, "end": 5155, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 5119, "end": 5142, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5119, "end": 5127, "ctxt": 0 }, "value": "aggScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5128, "end": 5142, "ctxt": 0 }, "value": "addParentScope", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 5143, "end": 5154, "ctxt": 0 }, "value": "memberScope", "optional": false } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 5165, "end": 5215, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 5165, "end": 5214, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 5165, "end": 5188, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5165, "end": 5173, "ctxt": 0 }, "value": "aggScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5174, "end": 5188, "ctxt": 0 }, "value": "addParentScope", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 5189, "end": 5213, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 5189, "end": 5207, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5189, "end": 5196, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5197, "end": 5207, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 5208, "end": 5213, "ctxt": 0 }, "value": "scope", "optional": false } } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 5224, "end": 5277, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 5224, "end": 5276, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 5224, "end": 5239, "ctxt": 0 }, "value": "pushAssignScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 5240, "end": 5248, "ctxt": 0 }, "value": "aggScope", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 5250, "end": 5257, "ctxt": 0 }, "value": "context", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 5259, "end": 5263, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 5265, "end": 5269, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 5271, "end": 5275, "ctxt": 0 } } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 5286, "end": 5326, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 5286, "end": 5325, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 5286, "end": 5314, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5286, "end": 5299, "ctxt": 0 }, "value": "interfaceType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5300, "end": 5314, "ctxt": 0 }, "value": "containedScope", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 5317, "end": 5325, "ctxt": 0 }, "value": "aggScope", "optional": false } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 5338, "end": 6353, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 5354, "end": 5373, "ctxt": 0 }, "value": "preAssignWithScopes", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 5374, "end": 5382, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 5374, "end": 5382, "ctxt": 0 }, "value": "ast", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5377, "end": 5382, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 5379, "end": 5382, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 5379, "end": 5382, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 5384, "end": 5411, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 5384, "end": 5411, "ctxt": 0 }, "value": "context", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5391, "end": 5411, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 5393, "end": 5411, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 5393, "end": 5411, "ctxt": 0 }, "value": "AssignScopeContext", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 5345, "end": 6353, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 5413, "end": 6353, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 5423, "end": 5457, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 5427, "end": 5456, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5427, "end": 5435, "ctxt": 0 }, "value": "withStmt", "optional": false, "typeAnnotation": null }, "init": { "type": "TsTypeAssertion", "span": { "start": 5438, "end": 5456, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 5453, "end": 5456, "ctxt": 0 }, "value": "ast", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 5439, "end": 5452, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 5439, "end": 5452, "ctxt": 0 }, "value": "WithStatement", "optional": false }, "typeParams": null } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 5466, "end": 5495, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 5470, "end": 5494, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5470, "end": 5478, "ctxt": 0 }, "value": "withType", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 5481, "end": 5494, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5481, "end": 5489, "ctxt": 0 }, "value": "withStmt", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5490, "end": 5494, "ctxt": 0 }, "value": "type", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 5505, "end": 5608, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 5509, "end": 5607, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5509, "end": 5516, "ctxt": 0 }, "value": "members", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 5519, "end": 5607, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 5523, "end": 5536, "ctxt": 0 }, "value": "ScopedMembers", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 5537, "end": 5606, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 5541, "end": 5560, "ctxt": 0 }, "value": "DualStringHashTable", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 5561, "end": 5582, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 5565, "end": 5580, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null } }, { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 5584, "end": 5605, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 5588, "end": 5603, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null } } ], "typeArguments": null } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 5617, "end": 5727, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 5621, "end": 5726, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5621, "end": 5635, "ctxt": 0 }, "value": "ambientMembers", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 5638, "end": 5726, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 5642, "end": 5655, "ctxt": 0 }, "value": "ScopedMembers", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 5656, "end": 5725, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 5660, "end": 5679, "ctxt": 0 }, "value": "DualStringHashTable", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 5680, "end": 5701, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 5684, "end": 5699, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null } }, { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 5703, "end": 5724, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 5707, "end": 5722, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null } } ], "typeArguments": null } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 5737, "end": 5763, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 5741, "end": 5762, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5741, "end": 5749, "ctxt": 0 }, "value": "withType", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 5752, "end": 5762, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 5756, "end": 5760, "ctxt": 0 }, "value": "Type", "optional": false }, "arguments": [], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 5772, "end": 5881, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 5776, "end": 5880, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5776, "end": 5786, "ctxt": 0 }, "value": "withSymbol", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 5789, "end": 5880, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 5793, "end": 5803, "ctxt": 0 }, "value": "WithSymbol", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 5804, "end": 5820, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5804, "end": 5812, "ctxt": 0 }, "value": "withStmt", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5813, "end": 5820, "ctxt": 0 }, "value": "minChar", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 5822, "end": 5869, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 5822, "end": 5859, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 5822, "end": 5846, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 5822, "end": 5838, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5822, "end": 5829, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5830, "end": 5838, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 5839, "end": 5846, "ctxt": 0 }, "value": "checker", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 5847, "end": 5859, "ctxt": 0 }, "value": "locationInfo", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 5860, "end": 5869, "ctxt": 0 }, "value": "unitIndex", "optional": false } } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 5871, "end": 5879, "ctxt": 0 }, "value": "withType", "optional": false } } ], "typeArguments": null }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 5890, "end": 5917, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 5890, "end": 5916, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 5890, "end": 5906, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5890, "end": 5898, "ctxt": 0 }, "value": "withType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5899, "end": 5906, "ctxt": 0 }, "value": "members", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 5909, "end": 5916, "ctxt": 0 }, "value": "members", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 5926, "end": 5967, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 5926, "end": 5966, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 5926, "end": 5949, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5926, "end": 5934, "ctxt": 0 }, "value": "withType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5935, "end": 5949, "ctxt": 0 }, "value": "ambientMembers", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 5952, "end": 5966, "ctxt": 0 }, "value": "ambientMembers", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 5976, "end": 6005, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 5976, "end": 6004, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 5976, "end": 5991, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5976, "end": 5984, "ctxt": 0 }, "value": "withType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5985, "end": 5991, "ctxt": 0 }, "value": "symbol", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 5994, "end": 6004, "ctxt": 0 }, "value": "withSymbol", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 6014, "end": 6046, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 6014, "end": 6045, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 6014, "end": 6043, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6014, "end": 6022, "ctxt": 0 }, "value": "withType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6023, "end": 6043, "ctxt": 0 }, "value": "setHasImplementation", "optional": false } }, "arguments": [], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 6055, "end": 6080, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 6055, "end": 6079, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 6055, "end": 6068, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6055, "end": 6063, "ctxt": 0 }, "value": "withStmt", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6064, "end": 6068, "ctxt": 0 }, "value": "type", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 6071, "end": 6079, "ctxt": 0 }, "value": "withType", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 6090, "end": 6238, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 6094, "end": 6237, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 6094, "end": 6103, "ctxt": 0 }, "value": "withScope", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 6106, "end": 6237, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 6110, "end": 6139, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6110, "end": 6120, "ctxt": 0 }, "value": "TypeScript", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6121, "end": 6139, "ctxt": 0 }, "value": "SymbolScopeBuilder", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 6140, "end": 6156, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6140, "end": 6148, "ctxt": 0 }, "value": "withType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6149, "end": 6156, "ctxt": 0 }, "value": "members", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 6158, "end": 6181, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6158, "end": 6166, "ctxt": 0 }, "value": "withType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6167, "end": 6181, "ctxt": 0 }, "value": "ambientMembers", "optional": false } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 6183, "end": 6187, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 6189, "end": 6193, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 6195, "end": 6219, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 6195, "end": 6213, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6195, "end": 6202, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6203, "end": 6213, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 6214, "end": 6219, "ctxt": 0 }, "value": "scope", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 6221, "end": 6236, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6221, "end": 6229, "ctxt": 0 }, "value": "withType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6230, "end": 6236, "ctxt": 0 }, "value": "symbol", "optional": false } } } ], "typeArguments": null }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 6248, "end": 6302, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 6248, "end": 6301, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 6248, "end": 6263, "ctxt": 0 }, "value": "pushAssignScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 6264, "end": 6273, "ctxt": 0 }, "value": "withScope", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 6275, "end": 6282, "ctxt": 0 }, "value": "context", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 6284, "end": 6288, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 6290, "end": 6294, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 6296, "end": 6300, "ctxt": 0 } } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 6311, "end": 6347, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 6311, "end": 6346, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 6311, "end": 6334, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6311, "end": 6319, "ctxt": 0 }, "value": "withType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6320, "end": 6334, "ctxt": 0 }, "value": "containedScope", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 6337, "end": 6346, "ctxt": 0 }, "value": "withScope", "optional": false } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 6359, "end": 16823, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 6375, "end": 6398, "ctxt": 0 }, "value": "preAssignFuncDeclScopes", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 6399, "end": 6407, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 6399, "end": 6407, "ctxt": 0 }, "value": "ast", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 6402, "end": 6407, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 6404, "end": 6407, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 6404, "end": 6407, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 6409, "end": 6436, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 6409, "end": 6436, "ctxt": 0 }, "value": "context", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 6416, "end": 6436, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 6418, "end": 6436, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 6418, "end": 6436, "ctxt": 0 }, "value": "AssignScopeContext", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 6366, "end": 16823, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 6438, "end": 16823, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 6448, "end": 6477, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 6452, "end": 6476, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 6452, "end": 6460, "ctxt": 0 }, "value": "funcDecl", "optional": false, "typeAnnotation": null }, "init": { "type": "TsTypeAssertion", "span": { "start": 6463, "end": 6476, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 6473, "end": 6476, "ctxt": 0 }, "value": "ast", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 6464, "end": 6472, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 6464, "end": 6472, "ctxt": 0 }, "value": "FuncDecl", "optional": false }, "typeParams": null } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 6487, "end": 6516, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 6491, "end": 6515, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 6491, "end": 6500, "ctxt": 0 }, "value": "container", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 6500, "end": 6508, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 6502, "end": 6508, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 6502, "end": 6508, "ctxt": 0 }, "value": "Symbol", "optional": false }, "typeParams": null } } }, "init": { "type": "NullLiteral", "span": { "start": 6511, "end": 6515, "ctxt": 0 } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 6525, "end": 6559, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 6529, "end": 6558, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 6529, "end": 6543, "ctxt": 0 }, "value": "localContainer", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 6543, "end": 6551, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 6545, "end": 6551, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 6545, "end": 6551, "ctxt": 0 }, "value": "Symbol", "optional": false }, "typeParams": null } } }, "init": { "type": "NullLiteral", "span": { "start": 6554, "end": 6558, "ctxt": 0 } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 6568, "end": 6644, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 6572, "end": 6585, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6572, "end": 6580, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6581, "end": 6585, "ctxt": 0 }, "value": "type", "optional": false } }, "consequent": { "type": "BlockStatement", "span": { "start": 6587, "end": 6644, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 6601, "end": 6634, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 6601, "end": 6633, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 6601, "end": 6615, "ctxt": 0 }, "value": "localContainer", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 6618, "end": 6633, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 6618, "end": 6626, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6618, "end": 6621, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6622, "end": 6626, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 6627, "end": 6633, "ctxt": 0 }, "value": "symbol", "optional": false } } } } ] }, "alternate": null }, { "type": "VariableDeclaration", "span": { "start": 6654, "end": 6713, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 6658, "end": 6712, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 6658, "end": 6666, "ctxt": 0 }, "value": "isStatic", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 6669, "end": 6712, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 6669, "end": 6676, "ctxt": 0 }, "value": "hasFlag", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 6677, "end": 6694, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6677, "end": 6685, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6686, "end": 6694, "ctxt": 0 }, "value": "fncFlags", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 6696, "end": 6711, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6696, "end": 6704, "ctxt": 0 }, "value": "FncFlags", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6705, "end": 6711, "ctxt": 0 }, "value": "Static", "optional": false } } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 6722, "end": 6785, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 6726, "end": 6784, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 6726, "end": 6739, "ctxt": 0 }, "value": "isInnerStatic", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 6742, "end": 6784, "ctxt": 0 }, "operator": "&&", "left": { "type": "Identifier", "span": { "start": 6742, "end": 6750, "ctxt": 0 }, "value": "isStatic", "optional": false }, "right": { "type": "BinaryExpression", "span": { "start": 6754, "end": 6784, "ctxt": 0 }, "operator": "!=", "left": { "type": "MemberExpression", "span": { "start": 6754, "end": 6776, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 6754, "end": 6772, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6754, "end": 6761, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6762, "end": 6772, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 6773, "end": 6776, "ctxt": 0 }, "value": "fnc", "optional": false } }, "right": { "type": "NullLiteral", "span": { "start": 6780, "end": 6784, "ctxt": 0 } } } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 6897, "end": 6998, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 6901, "end": 6997, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 6901, "end": 6912, "ctxt": 0 }, "value": "parentScope", "optional": false, "typeAnnotation": null }, "init": { "type": "ConditionalExpression", "span": { "start": 6915, "end": 6997, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 6915, "end": 6928, "ctxt": 0 }, "value": "isInnerStatic", "optional": false }, "consequent": { "type": "MemberExpression", "span": { "start": 6931, "end": 6970, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 6931, "end": 6958, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 6931, "end": 6953, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 6931, "end": 6949, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6931, "end": 6938, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6939, "end": 6949, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 6950, "end": 6953, "ctxt": 0 }, "value": "fnc", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 6954, "end": 6958, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 6959, "end": 6970, "ctxt": 0 }, "value": "memberScope", "optional": false } }, "alternate": { "type": "MemberExpression", "span": { "start": 6973, "end": 6997, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 6973, "end": 6991, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6973, "end": 6980, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6981, "end": 6991, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 6992, "end": 6997, "ctxt": 0 }, "value": "scope", "optional": false } } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 7334, "end": 9114, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 7338, "end": 7458, "ctxt": 0 }, "operator": "&&", "left": { "type": "MemberExpression", "span": { "start": 7338, "end": 7365, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 7338, "end": 7356, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7338, "end": 7345, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7346, "end": 7356, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 7357, "end": 7365, "ctxt": 0 }, "value": "thisType", "optional": false } }, "right": { "type": "ParenthesisExpression", "span": { "start": 7381, "end": 7458, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 7382, "end": 7457, "ctxt": 0 }, "operator": "||", "left": { "type": "UnaryExpression", "span": { "start": 7382, "end": 7405, "ctxt": 0 }, "operator": "!", "argument": { "type": "MemberExpression", "span": { "start": 7383, "end": 7405, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7383, "end": 7391, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7392, "end": 7405, "ctxt": 0 }, "value": "isConstructor", "optional": false } } }, "right": { "type": "CallExpression", "span": { "start": 7409, "end": 7457, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 7409, "end": 7416, "ctxt": 0 }, "value": "hasFlag", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 7417, "end": 7434, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7417, "end": 7425, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7426, "end": 7434, "ctxt": 0 }, "value": "fncFlags", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 7436, "end": 7456, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7436, "end": 7444, "ctxt": 0 }, "value": "FncFlags", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7445, "end": 7456, "ctxt": 0 }, "value": "ClassMethod", "optional": false } } } ], "typeArguments": null } } } }, "consequent": { "type": "BlockStatement", "span": { "start": 7460, "end": 8870, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 7474, "end": 7517, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 7478, "end": 7516, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 7478, "end": 7486, "ctxt": 0 }, "value": "instType", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 7489, "end": 7516, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 7489, "end": 7507, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7489, "end": 7496, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7497, "end": 7507, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 7508, "end": 7516, "ctxt": 0 }, "value": "thisType", "optional": false } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 7531, "end": 8819, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 7535, "end": 7629, "ctxt": 0 }, "operator": "&&", "left": { "type": "UnaryExpression", "span": { "start": 7535, "end": 7576, "ctxt": 0 }, "operator": "!", "argument": { "type": "ParenthesisExpression", "span": { "start": 7536, "end": 7576, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 7537, "end": 7575, "ctxt": 0 }, "operator": "&", "left": { "type": "MemberExpression", "span": { "start": 7537, "end": 7555, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7537, "end": 7545, "ctxt": 0 }, "value": "instType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7546, "end": 7555, "ctxt": 0 }, "value": "typeFlags", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 7558, "end": 7575, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7558, "end": 7567, "ctxt": 0 }, "value": "TypeFlags", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7568, "end": 7575, "ctxt": 0 }, "value": "IsClass", "optional": false } } } } }, "right": { "type": "UnaryExpression", "span": { "start": 7580, "end": 7629, "ctxt": 0 }, "operator": "!", "argument": { "type": "CallExpression", "span": { "start": 7581, "end": 7629, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 7581, "end": 7588, "ctxt": 0 }, "value": "hasFlag", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 7589, "end": 7606, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7589, "end": 7597, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7598, "end": 7606, "ctxt": 0 }, "value": "fncFlags", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 7608, "end": 7628, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7608, "end": 7616, "ctxt": 0 }, "value": "FncFlags", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7617, "end": 7628, "ctxt": 0 }, "value": "ClassMethod", "optional": false } } } ], "typeArguments": null } } }, "consequent": { "type": "BlockStatement", "span": { "start": 7631, "end": 7946, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 7649, "end": 7932, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 7653, "end": 7685, "ctxt": 0 }, "operator": "||", "left": { "type": "UnaryExpression", "span": { "start": 7653, "end": 7673, "ctxt": 0 }, "operator": "!", "argument": { "type": "CallExpression", "span": { "start": 7654, "end": 7673, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 7654, "end": 7671, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7654, "end": 7662, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7663, "end": 7671, "ctxt": 0 }, "value": "isMethod", "optional": false } }, "arguments": [], "typeArguments": null } }, "right": { "type": "Identifier", "span": { "start": 7677, "end": 7685, "ctxt": 0 }, "value": "isStatic", "optional": false } }, "consequent": { "type": "BlockStatement", "span": { "start": 7687, "end": 7767, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 7709, "end": 7749, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 7709, "end": 7748, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 7709, "end": 7720, "ctxt": 0 }, "value": "parentScope", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 7723, "end": 7748, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7723, "end": 7731, "ctxt": 0 }, "value": "instType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7732, "end": 7748, "ctxt": 0 }, "value": "constructorScope", "optional": false } } } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 7789, "end": 7932, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 7876, "end": 7914, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 7876, "end": 7913, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 7876, "end": 7887, "ctxt": 0 }, "value": "parentScope", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 7890, "end": 7913, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7890, "end": 7898, "ctxt": 0 }, "value": "instType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7899, "end": 7913, "ctxt": 0 }, "value": "containedScope", "optional": false } } } } ] } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 7964, "end": 8819, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 7982, "end": 8805, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 7986, "end": 8310, "ctxt": 0 }, "operator": "&&", "left": { "type": "BinaryExpression", "span": { "start": 7986, "end": 8209, "ctxt": 0 }, "operator": "&&", "left": { "type": "BinaryExpression", "span": { "start": 7986, "end": 8104, "ctxt": 0 }, "operator": "&&", "left": { "type": "MemberExpression", "span": { "start": 7986, "end": 8029, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 7986, "end": 8019, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 7986, "end": 8013, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 7986, "end": 8004, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7986, "end": 7993, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7994, "end": 8004, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8005, "end": 8013, "ctxt": 0 }, "value": "previous", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8014, "end": 8019, "ctxt": 0 }, "value": "scope", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8020, "end": 8029, "ctxt": 0 }, "value": "container", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 8053, "end": 8104, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8053, "end": 8096, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8053, "end": 8086, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8053, "end": 8080, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8053, "end": 8071, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 8053, "end": 8060, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 8061, "end": 8071, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8072, "end": 8080, "ctxt": 0 }, "value": "previous", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8081, "end": 8086, "ctxt": 0 }, "value": "scope", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8087, "end": 8096, "ctxt": 0 }, "value": "container", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8097, "end": 8104, "ctxt": 0 }, "value": "declAST", "optional": false } } }, "right": { "type": "BinaryExpression", "span": { "start": 8128, "end": 8209, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 8128, "end": 8188, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8128, "end": 8179, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8128, "end": 8171, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8128, "end": 8161, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8128, "end": 8155, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8128, "end": 8146, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 8128, "end": 8135, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 8136, "end": 8146, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8147, "end": 8155, "ctxt": 0 }, "value": "previous", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8156, "end": 8161, "ctxt": 0 }, "value": "scope", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8162, "end": 8171, "ctxt": 0 }, "value": "container", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8172, "end": 8179, "ctxt": 0 }, "value": "declAST", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8180, "end": 8188, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 8192, "end": 8209, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 8192, "end": 8200, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 8201, "end": 8209, "ctxt": 0 }, "value": "FuncDecl", "optional": false } } } }, "right": { "type": "MemberExpression", "span": { "start": 8233, "end": 8310, "ctxt": 0 }, "object": { "type": "ParenthesisExpression", "span": { "start": 8233, "end": 8296, "ctxt": 0 }, "expression": { "type": "TsTypeAssertion", "span": { "start": 8234, "end": 8295, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 8244, "end": 8295, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8244, "end": 8287, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8244, "end": 8277, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8244, "end": 8271, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8244, "end": 8262, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 8244, "end": 8251, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 8252, "end": 8262, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8263, "end": 8271, "ctxt": 0 }, "value": "previous", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8272, "end": 8277, "ctxt": 0 }, "value": "scope", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8278, "end": 8287, "ctxt": 0 }, "value": "container", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8288, "end": 8295, "ctxt": 0 }, "value": "declAST", "optional": false } }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 8235, "end": 8243, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 8235, "end": 8243, "ctxt": 0 }, "value": "FuncDecl", "optional": false }, "typeParams": null } } }, "property": { "type": "Identifier", "span": { "start": 8297, "end": 8310, "ctxt": 0 }, "value": "isConstructor", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 8312, "end": 8486, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 8428, "end": 8468, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 8428, "end": 8467, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 8428, "end": 8439, "ctxt": 0 }, "value": "parentScope", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 8442, "end": 8467, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 8442, "end": 8450, "ctxt": 0 }, "value": "instType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 8451, "end": 8467, "ctxt": 0 }, "value": "constructorScope", "optional": false } } } } ] }, "alternate": { "type": "IfStatement", "span": { "start": 8508, "end": 8805, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 8512, "end": 8552, "ctxt": 0 }, "operator": "&&", "left": { "type": "Identifier", "span": { "start": 8512, "end": 8520, "ctxt": 0 }, "value": "isStatic", "optional": false }, "right": { "type": "MemberExpression", "span": { "start": 8524, "end": 8552, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8524, "end": 8542, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 8524, "end": 8531, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 8532, "end": 8542, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8543, "end": 8552, "ctxt": 0 }, "value": "classType", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 8554, "end": 8652, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 8576, "end": 8634, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 8576, "end": 8633, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 8576, "end": 8587, "ctxt": 0 }, "value": "parentScope", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 8590, "end": 8633, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8590, "end": 8618, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8590, "end": 8608, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 8590, "end": 8597, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 8598, "end": 8608, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8609, "end": 8618, "ctxt": 0 }, "value": "classType", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8619, "end": 8633, "ctxt": 0 }, "value": "containedScope", "optional": false } } } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 8674, "end": 8805, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 8749, "end": 8787, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 8749, "end": 8786, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 8749, "end": 8760, "ctxt": 0 }, "value": "parentScope", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 8763, "end": 8786, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 8763, "end": 8771, "ctxt": 0 }, "value": "instType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 8772, "end": 8786, "ctxt": 0 }, "value": "containedScope", "optional": false } } } } ] } } } ] } }, { "type": "ExpressionStatement", "span": { "start": 8832, "end": 8860, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 8832, "end": 8859, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 8832, "end": 8841, "ctxt": 0 }, "value": "container", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 8844, "end": 8859, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 8844, "end": 8852, "ctxt": 0 }, "value": "instType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 8853, "end": 8859, "ctxt": 0 }, "value": "symbol", "optional": false } } } } ] }, "alternate": { "type": "IfStatement", "span": { "start": 8884, "end": 9114, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 8888, "end": 8941, "ctxt": 0 }, "operator": "&&", "left": { "type": "MemberExpression", "span": { "start": 8888, "end": 8910, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 8888, "end": 8896, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 8897, "end": 8910, "ctxt": 0 }, "value": "isConstructor", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 8914, "end": 8941, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8914, "end": 8932, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 8914, "end": 8921, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 8922, "end": 8932, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8933, "end": 8941, "ctxt": 0 }, "value": "thisType", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 8943, "end": 9114, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 9057, "end": 9104, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 9057, "end": 9103, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 9057, "end": 9066, "ctxt": 0 }, "value": "container", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 9069, "end": 9103, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 9069, "end": 9096, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 9069, "end": 9087, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 9069, "end": 9076, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 9077, "end": 9087, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 9088, "end": 9096, "ctxt": 0 }, "value": "thisType", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 9097, "end": 9103, "ctxt": 0 }, "value": "symbol", "optional": false } } } } ] }, "alternate": null } }, { "type": "IfStatement", "span": { "start": 9124, "end": 12425, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 9128, "end": 9230, "ctxt": 0 }, "operator": "||", "left": { "type": "BinaryExpression", "span": { "start": 9128, "end": 9149, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 9128, "end": 9141, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 9128, "end": 9136, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 9137, "end": 9141, "ctxt": 0 }, "value": "type", "optional": false } }, "right": { "type": "NullLiteral", "span": { "start": 9145, "end": 9149, "ctxt": 0 } } }, "right": { "type": "CallExpression", "span": { "start": 9153, "end": 9230, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 9153, "end": 9160, "ctxt": 0 }, "value": "hasFlag", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 9161, "end": 9187, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 9161, "end": 9181, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 9161, "end": 9174, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 9161, "end": 9169, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 9170, "end": 9174, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 9175, "end": 9181, "ctxt": 0 }, "value": "symbol", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 9182, "end": 9187, "ctxt": 0 }, "value": "flags", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 9189, "end": 9229, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 9189, "end": 9200, "ctxt": 0 }, "value": "SymbolFlags", "optional": false }, "property": { "type": "Identifier", "span": { "start": 9201, "end": 9229, "ctxt": 0 }, "value": "TypeSetDuringScopeAssignment", "optional": false } } } ], "typeArguments": null } }, "consequent": { "type": "BlockStatement", "span": { "start": 9232, "end": 12425, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 9246, "end": 9384, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 9250, "end": 9303, "ctxt": 0 }, "operator": "&&", "left": { "type": "MemberExpression", "span": { "start": 9250, "end": 9272, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 9250, "end": 9268, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 9250, "end": 9257, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 9258, "end": 9268, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 9269, "end": 9272, "ctxt": 0 }, "value": "fnc", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 9276, "end": 9303, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 9276, "end": 9298, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 9276, "end": 9294, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 9276, "end": 9283, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 9284, "end": 9294, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 9295, "end": 9298, "ctxt": 0 }, "value": "fnc", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 9299, "end": 9303, "ctxt": 0 }, "value": "type", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 9305, "end": 9384, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 9323, "end": 9370, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 9323, "end": 9369, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 9323, "end": 9332, "ctxt": 0 }, "value": "container", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 9335, "end": 9369, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 9335, "end": 9362, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 9335, "end": 9357, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 9335, "end": 9353, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 9335, "end": 9342, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 9343, "end": 9353, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 9354, "end": 9357, "ctxt": 0 }, "value": "fnc", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 9358, "end": 9362, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 9363, "end": 9369, "ctxt": 0 }, "value": "symbol", "optional": false } } } } ] }, "alternate": null }, { "type": "VariableDeclaration", "span": { "start": 9398, "end": 9419, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 9402, "end": 9418, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 9402, "end": 9411, "ctxt": 0 }, "value": "funcScope", "optional": false, "typeAnnotation": null }, "init": { "type": "NullLiteral", "span": { "start": 9414, "end": 9418, "ctxt": 0 } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 9432, "end": 9480, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 9436, "end": 9479, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 9436, "end": 9444, "ctxt": 0 }, "value": "outerFnc", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 9444, "end": 9454, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 9446, "end": 9454, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 9446, "end": 9454, "ctxt": 0 }, "value": "FuncDecl", "optional": false }, "typeParams": null } } }, "init": { "type": "MemberExpression", "span": { "start": 9457, "end": 9479, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 9457, "end": 9475, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 9457, "end": 9464, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 9465, "end": 9475, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 9476, "end": 9479, "ctxt": 0 }, "value": "fnc", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 9493, "end": 9556, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 9497, "end": 9555, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 9497, "end": 9505, "ctxt": 0 }, "value": "nameText", "optional": false, "typeAnnotation": null }, "init": { "type": "ConditionalExpression", "span": { "start": 9508, "end": 9555, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 9508, "end": 9521, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 9508, "end": 9516, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 9517, "end": 9521, "ctxt": 0 }, "value": "name", "optional": false } }, "consequent": { "type": "MemberExpression", "span": { "start": 9524, "end": 9548, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 9524, "end": 9537, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 9524, "end": 9532, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 9533, "end": 9537, "ctxt": 0 }, "value": "name", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 9538, "end": 9548, "ctxt": 0 }, "value": "actualText", "optional": false } }, "alternate": { "type": "NullLiteral", "span": { "start": 9551, "end": 9555, "ctxt": 0 } } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 9569, "end": 9598, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 9573, "end": 9597, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 9573, "end": 9578, "ctxt": 0 }, "value": "fgSym", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 9578, "end": 9590, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 9580, "end": 9590, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 9580, "end": 9590, "ctxt": 0 }, "value": "TypeSymbol", "optional": false }, "typeParams": null } } }, "init": { "type": "NullLiteral", "span": { "start": 9593, "end": 9597, "ctxt": 0 } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 9612, "end": 10864, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 9616, "end": 9624, "ctxt": 0 }, "value": "isStatic", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 9626, "end": 10323, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 9942, "end": 10152, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 9946, "end": 10010, "ctxt": 0 }, "operator": "&&", "left": { "type": "BinaryExpression", "span": { "start": 9946, "end": 9975, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 9946, "end": 9967, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 9946, "end": 9959, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 9946, "end": 9954, "ctxt": 0 }, "value": "outerFnc", "optional": false }, "property": { "type": "Identifier", "span": { "start": 9955, "end": 9959, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 9960, "end": 9967, "ctxt": 0 }, "value": "members", "optional": false } }, "right": { "type": "NullLiteral", "span": { "start": 9971, "end": 9975, "ctxt": 0 } } }, "right": { "type": "MemberExpression", "span": { "start": 9979, "end": 10010, "ctxt": 0 }, "object": { "type": "CallExpression", "span": { "start": 9979, "end": 9998, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 9979, "end": 9996, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 9979, "end": 9988, "ctxt": 0 }, "value": "container", "optional": false }, "property": { "type": "Identifier", "span": { "start": 9989, "end": 9996, "ctxt": 0 }, "value": "getType", "optional": false } }, "arguments": [], "typeArguments": null }, "property": { "type": "Identifier", "span": { "start": 9999, "end": 10010, "ctxt": 0 }, "value": "memberScope", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 10012, "end": 10152, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 10034, "end": 10134, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 10034, "end": 10133, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 10034, "end": 10055, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 10034, "end": 10047, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 10034, "end": 10042, "ctxt": 0 }, "value": "outerFnc", "optional": false }, "property": { "type": "Identifier", "span": { "start": 10043, "end": 10047, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 10048, "end": 10055, "ctxt": 0 }, "value": "members", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 10058, "end": 10133, "ctxt": 0 }, "object": { "type": "ParenthesisExpression", "span": { "start": 10058, "end": 10120, "ctxt": 0 }, "expression": { "type": "TsTypeAssertion", "span": { "start": 10059, "end": 10119, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 10079, "end": 10119, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 10079, "end": 10107, "ctxt": 0 }, "object": { "type": "ParenthesisExpression", "span": { "start": 10079, "end": 10102, "ctxt": 0 }, "expression": { "type": "TsTypeAssertion", "span": { "start": 10080, "end": 10101, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 10092, "end": 10101, "ctxt": 0 }, "value": "container", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 10081, "end": 10091, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 10081, "end": 10091, "ctxt": 0 }, "value": "TypeSymbol", "optional": false }, "typeParams": null } } }, "property": { "type": "Identifier", "span": { "start": 10103, "end": 10107, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 10108, "end": 10119, "ctxt": 0 }, "value": "memberScope", "optional": false } }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 10060, "end": 10078, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 10060, "end": 10078, "ctxt": 0 }, "value": "SymbolScopeBuilder", "optional": false }, "typeParams": null } } }, "property": { "type": "Identifier", "span": { "start": 10121, "end": 10133, "ctxt": 0 }, "value": "valueMembers", "optional": false } } } } ] }, "alternate": null }, { "type": "ExpressionStatement", "span": { "start": 10169, "end": 10221, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 10169, "end": 10220, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 10169, "end": 10178, "ctxt": 0 }, "value": "funcScope", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 10181, "end": 10220, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 10181, "end": 10208, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 10181, "end": 10203, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 10181, "end": 10199, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 10181, "end": 10188, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 10189, "end": 10199, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 10200, "end": 10203, "ctxt": 0 }, "value": "fnc", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 10204, "end": 10208, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 10209, "end": 10220, "ctxt": 0 }, "value": "memberScope", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 10238, "end": 10309, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 10238, "end": 10308, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 10238, "end": 10297, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 10238, "end": 10263, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 10238, "end": 10246, "ctxt": 0 }, "value": "outerFnc", "optional": false }, "property": { "type": "Identifier", "span": { "start": 10247, "end": 10263, "ctxt": 0 }, "value": "innerStaticFuncs", "optional": false } }, "property": { "type": "Computed", "span": { "start": 10263, "end": 10297, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 10264, "end": 10296, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 10264, "end": 10289, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 10264, "end": 10272, "ctxt": 0 }, "value": "outerFnc", "optional": false }, "property": { "type": "Identifier", "span": { "start": 10273, "end": 10289, "ctxt": 0 }, "value": "innerStaticFuncs", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 10290, "end": 10296, "ctxt": 0 }, "value": "length", "optional": false } } } }, "right": { "type": "Identifier", "span": { "start": 10300, "end": 10308, "ctxt": 0 }, "value": "funcDecl", "optional": false } } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 10341, "end": 10864, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 10360, "end": 10850, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 10364, "end": 10643, "ctxt": 0 }, "operator": "&&", "left": { "type": "BinaryExpression", "span": { "start": 10364, "end": 10599, "ctxt": 0 }, "operator": "&&", "left": { "type": "BinaryExpression", "span": { "start": 10364, "end": 10532, "ctxt": 0 }, "operator": "&&", "left": { "type": "BinaryExpression", "span": { "start": 10364, "end": 10461, "ctxt": 0 }, "operator": "&&", "left": { "type": "BinaryExpression", "span": { "start": 10364, "end": 10420, "ctxt": 0 }, "operator": "&&", "left": { "type": "UnaryExpression", "span": { "start": 10364, "end": 10387, "ctxt": 0 }, "operator": "!", "argument": { "type": "MemberExpression", "span": { "start": 10365, "end": 10387, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 10365, "end": 10373, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 10374, "end": 10387, "ctxt": 0 }, "value": "isConstructor", "optional": false } } }, "right": { "type": "Identifier", "span": { "start": 10411, "end": 10420, "ctxt": 0 }, "value": "container", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 10444, "end": 10461, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 10444, "end": 10453, "ctxt": 0 }, "value": "container", "optional": false }, "property": { "type": "Identifier", "span": { "start": 10454, "end": 10461, "ctxt": 0 }, "value": "declAST", "optional": false } } }, "right": { "type": "BinaryExpression", "span": { "start": 10485, "end": 10532, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 10485, "end": 10511, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 10485, "end": 10502, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 10485, "end": 10494, "ctxt": 0 }, "value": "container", "optional": false }, "property": { "type": "Identifier", "span": { "start": 10495, "end": 10502, "ctxt": 0 }, "value": "declAST", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 10503, "end": 10511, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 10515, "end": 10532, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 10515, "end": 10523, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 10524, "end": 10532, "ctxt": 0 }, "value": "FuncDecl", "optional": false } } } }, "right": { "type": "MemberExpression", "span": { "start": 10556, "end": 10599, "ctxt": 0 }, "object": { "type": "ParenthesisExpression", "span": { "start": 10556, "end": 10585, "ctxt": 0 }, "expression": { "type": "TsTypeAssertion", "span": { "start": 10557, "end": 10584, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 10567, "end": 10584, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 10567, "end": 10576, "ctxt": 0 }, "value": "container", "optional": false }, "property": { "type": "Identifier", "span": { "start": 10577, "end": 10584, "ctxt": 0 }, "value": "declAST", "optional": false } }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 10558, "end": 10566, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 10558, "end": 10566, "ctxt": 0 }, "value": "FuncDecl", "optional": false }, "typeParams": null } } }, "property": { "type": "Identifier", "span": { "start": 10586, "end": 10599, "ctxt": 0 }, "value": "isConstructor", "optional": false } } }, "right": { "type": "UnaryExpression", "span": { "start": 10623, "end": 10643, "ctxt": 0 }, "operator": "!", "argument": { "type": "CallExpression", "span": { "start": 10624, "end": 10643, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 10624, "end": 10641, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 10624, "end": 10632, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 10633, "end": 10641, "ctxt": 0 }, "value": "isMethod", "optional": false } }, "arguments": [], "typeArguments": null } } }, "consequent": { "type": "BlockStatement", "span": { "start": 10645, "end": 10751, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 10667, "end": 10724, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 10667, "end": 10723, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 10667, "end": 10676, "ctxt": 0 }, "value": "funcScope", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 10679, "end": 10723, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 10679, "end": 10706, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 10679, "end": 10697, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 10679, "end": 10686, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 10687, "end": 10697, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 10698, "end": 10706, "ctxt": 0 }, "value": "thisType", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 10707, "end": 10723, "ctxt": 0 }, "value": "constructorScope", "optional": false } } } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 10773, "end": 10850, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 10795, "end": 10832, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 10795, "end": 10831, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 10795, "end": 10804, "ctxt": 0 }, "value": "funcScope", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 10807, "end": 10831, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 10807, "end": 10825, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 10807, "end": 10814, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 10815, "end": 10825, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 10826, "end": 10831, "ctxt": 0 }, "value": "scope", "optional": false } } } } ] } } ] } }, { "type": "IfStatement", "span": { "start": 11154, "end": 11561, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 11158, "end": 11219, "ctxt": 0 }, "operator": "&&", "left": { "type": "BinaryExpression", "span": { "start": 11158, "end": 11193, "ctxt": 0 }, "operator": "&&", "left": { "type": "Identifier", "span": { "start": 11158, "end": 11166, "ctxt": 0 }, "value": "nameText", "optional": false }, "right": { "type": "BinaryExpression", "span": { "start": 11170, "end": 11193, "ctxt": 0 }, "operator": "!=", "left": { "type": "Identifier", "span": { "start": 11170, "end": 11178, "ctxt": 0 }, "value": "nameText", "optional": false }, "right": { "type": "StringLiteral", "span": { "start": 11182, "end": 11193, "ctxt": 0 }, "value": "__missing", "raw": "\"__missing\"" } } }, "right": { "type": "UnaryExpression", "span": { "start": 11197, "end": 11219, "ctxt": 0 }, "operator": "!", "argument": { "type": "CallExpression", "span": { "start": 11198, "end": 11219, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 11198, "end": 11217, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 11198, "end": 11206, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 11207, "end": 11217, "ctxt": 0 }, "value": "isAccessor", "optional": false } }, "arguments": [], "typeArguments": null } } }, "consequent": { "type": "BlockStatement", "span": { "start": 11221, "end": 11561, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 11239, "end": 11547, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 11243, "end": 11251, "ctxt": 0 }, "value": "isStatic", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 11253, "end": 11345, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 11275, "end": 11327, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 11275, "end": 11326, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 11275, "end": 11280, "ctxt": 0 }, "value": "fgSym", "optional": false, "typeAnnotation": null }, "right": { "type": "CallExpression", "span": { "start": 11283, "end": 11326, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 11283, "end": 11302, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 11283, "end": 11292, "ctxt": 0 }, "value": "funcScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 11293, "end": 11302, "ctxt": 0 }, "value": "findLocal", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 11303, "end": 11311, "ctxt": 0 }, "value": "nameText", "optional": false } }, { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 11313, "end": 11318, "ctxt": 0 }, "value": false } }, { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 11320, "end": 11325, "ctxt": 0 }, "value": false } } ], "typeArguments": null } } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 11367, "end": 11547, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 11477, "end": 11529, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 11477, "end": 11528, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 11477, "end": 11482, "ctxt": 0 }, "value": "fgSym", "optional": false, "typeAnnotation": null }, "right": { "type": "CallExpression", "span": { "start": 11485, "end": 11528, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 11485, "end": 11504, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 11485, "end": 11494, "ctxt": 0 }, "value": "funcScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 11495, "end": 11504, "ctxt": 0 }, "value": "findLocal", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 11505, "end": 11513, "ctxt": 0 }, "value": "nameText", "optional": false } }, { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 11515, "end": 11520, "ctxt": 0 }, "value": false } }, { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 11522, "end": 11527, "ctxt": 0 }, "value": false } } ], "typeArguments": null } } } ] } } ] }, "alternate": null }, { "type": "ExpressionStatement", "span": { "start": 11575, "end": 11738, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 11575, "end": 11737, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 11575, "end": 11623, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 11575, "end": 11599, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 11575, "end": 11591, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 11575, "end": 11582, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 11583, "end": 11591, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 11592, "end": 11599, "ctxt": 0 }, "value": "checker", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 11600, "end": 11623, "ctxt": 0 }, "value": "createFunctionSignature", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 11624, "end": 11632, "ctxt": 0 }, "value": "funcDecl", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 11634, "end": 11643, "ctxt": 0 }, "value": "container", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 11705, "end": 11714, "ctxt": 0 }, "value": "funcScope", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 11716, "end": 11721, "ctxt": 0 }, "value": "fgSym", "optional": false } }, { "spread": null, "expression": { "type": "BinaryExpression", "span": { "start": 11723, "end": 11736, "ctxt": 0 }, "operator": "==", "left": { "type": "Identifier", "span": { "start": 11723, "end": 11728, "ctxt": 0 }, "value": "fgSym", "optional": false }, "right": { "type": "NullLiteral", "span": { "start": 11732, "end": 11736, "ctxt": 0 } } } } ], "typeArguments": null } }, { "type": "IfStatement", "span": { "start": 11833, "end": 12330, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 11837, "end": 12110, "ctxt": 0 }, "operator": "||", "left": { "type": "BinaryExpression", "span": { "start": 11837, "end": 12056, "ctxt": 0 }, "operator": "&&", "left": { "type": "BinaryExpression", "span": { "start": 11837, "end": 11953, "ctxt": 0 }, "operator": "&&", "left": { "type": "BinaryExpression", "span": { "start": 11837, "end": 11924, "ctxt": 0 }, "operator": "&&", "left": { "type": "UnaryExpression", "span": { "start": 11837, "end": 11861, "ctxt": 0 }, "operator": "!", "argument": { "type": "MemberExpression", "span": { "start": 11838, "end": 11861, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 11838, "end": 11846, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 11847, "end": 11861, "ctxt": 0 }, "value": "accessorSymbol", "optional": false } } }, "right": { "type": "ParenthesisExpression", "span": { "start": 11882, "end": 11924, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 11883, "end": 11923, "ctxt": 0 }, "operator": "&", "left": { "type": "MemberExpression", "span": { "start": 11883, "end": 11900, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 11883, "end": 11891, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 11892, "end": 11900, "ctxt": 0 }, "value": "fncFlags", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 11903, "end": 11923, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 11903, "end": 11911, "ctxt": 0 }, "value": "FncFlags", "optional": false }, "property": { "type": "Identifier", "span": { "start": 11912, "end": 11923, "ctxt": 0 }, "value": "ClassMethod", "optional": false } } } } }, "right": { "type": "Identifier", "span": { "start": 11944, "end": 11953, "ctxt": 0 }, "value": "container", "optional": false } }, "right": { "type": "ParenthesisExpression", "span": { "start": 11974, "end": 12056, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 11975, "end": 12055, "ctxt": 0 }, "operator": "&&", "left": { "type": "ParenthesisExpression", "span": { "start": 11975, "end": 12030, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 11976, "end": 12029, "ctxt": 0 }, "operator": "||", "left": { "type": "UnaryExpression", "span": { "start": 11976, "end": 11982, "ctxt": 0 }, "operator": "!", "argument": { "type": "Identifier", "span": { "start": 11977, "end": 11982, "ctxt": 0 }, "value": "fgSym", "optional": false } }, "right": { "type": "BinaryExpression", "span": { "start": 11986, "end": 12029, "ctxt": 0 }, "operator": "!=", "left": { "type": "MemberExpression", "span": { "start": 11986, "end": 12008, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 11986, "end": 11999, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 11986, "end": 11991, "ctxt": 0 }, "value": "fgSym", "optional": false }, "property": { "type": "Identifier", "span": { "start": 11992, "end": 11999, "ctxt": 0 }, "value": "declAST", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 12000, "end": 12008, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 12012, "end": 12029, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12012, "end": 12020, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12021, "end": 12029, "ctxt": 0 }, "value": "FuncDecl", "optional": false } } } } }, "right": { "type": "CallExpression", "span": { "start": 12034, "end": 12055, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 12034, "end": 12053, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12034, "end": 12042, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12043, "end": 12053, "ctxt": 0 }, "value": "isAccessor", "optional": false } }, "arguments": [], "typeArguments": null } } } }, "right": { "type": "ParenthesisExpression", "span": { "start": 12081, "end": 12110, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 12082, "end": 12109, "ctxt": 0 }, "operator": "&&", "left": { "type": "Identifier", "span": { "start": 12082, "end": 12087, "ctxt": 0 }, "value": "fgSym", "optional": false }, "right": { "type": "CallExpression", "span": { "start": 12091, "end": 12109, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 12091, "end": 12107, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12091, "end": 12096, "ctxt": 0 }, "value": "fgSym", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12097, "end": 12107, "ctxt": 0 }, "value": "isAccessor", "optional": false } }, "arguments": [], "typeArguments": null } } } }, "consequent": { "type": "BlockStatement", "span": { "start": 12125, "end": 12330, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 12143, "end": 12316, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 12143, "end": 12315, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 12143, "end": 12166, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12143, "end": 12151, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12152, "end": 12166, "ctxt": 0 }, "value": "accessorSymbol", "optional": false } }, "right": { "type": "CallExpression", "span": { "start": 12169, "end": 12315, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 12169, "end": 12214, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 12169, "end": 12193, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 12169, "end": 12185, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12169, "end": 12176, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12177, "end": 12185, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 12186, "end": 12193, "ctxt": 0 }, "value": "checker", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 12194, "end": 12214, "ctxt": 0 }, "value": "createAccessorSymbol", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 12215, "end": 12223, "ctxt": 0 }, "value": "funcDecl", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 12225, "end": 12230, "ctxt": 0 }, "value": "fgSym", "optional": false } }, { "spread": null, "expression": { "type": "CallExpression", "span": { "start": 12232, "end": 12251, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 12232, "end": 12249, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12232, "end": 12241, "ctxt": 0 }, "value": "container", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12242, "end": 12249, "ctxt": 0 }, "value": "getType", "optional": false } }, "arguments": [], "typeArguments": null } }, { "spread": null, "expression": { "type": "ParenthesisExpression", "span": { "start": 12253, "end": 12286, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 12254, "end": 12285, "ctxt": 0 }, "operator": "&&", "left": { "type": "CallExpression", "span": { "start": 12254, "end": 12273, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 12254, "end": 12271, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12254, "end": 12262, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12263, "end": 12271, "ctxt": 0 }, "value": "isMethod", "optional": false } }, "arguments": [], "typeArguments": null }, "right": { "type": "Identifier", "span": { "start": 12277, "end": 12285, "ctxt": 0 }, "value": "isStatic", "optional": false } } } }, { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 12288, "end": 12292, "ctxt": 0 }, "value": true } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 12294, "end": 12303, "ctxt": 0 }, "value": "funcScope", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 12305, "end": 12314, "ctxt": 0 }, "value": "container", "optional": false } } ], "typeArguments": null } } } ] }, "alternate": null }, { "type": "ExpressionStatement", "span": { "start": 12344, "end": 12415, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 12344, "end": 12414, "ctxt": 0 }, "operator": "|=", "left": { "type": "MemberExpression", "span": { "start": 12344, "end": 12370, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 12344, "end": 12364, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 12344, "end": 12357, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12344, "end": 12352, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12353, "end": 12357, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 12358, "end": 12364, "ctxt": 0 }, "value": "symbol", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 12365, "end": 12370, "ctxt": 0 }, "value": "flags", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 12374, "end": 12414, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12374, "end": 12385, "ctxt": 0 }, "value": "SymbolFlags", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12386, "end": 12414, "ctxt": 0 }, "value": "TypeSetDuringScopeAssignment", "optional": false } } } } ] }, "alternate": null }, { "type": "IfStatement", "span": { "start": 12495, "end": 12596, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 12499, "end": 12529, "ctxt": 0 }, "operator": "&&", "left": { "type": "MemberExpression", "span": { "start": 12499, "end": 12512, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12499, "end": 12507, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12508, "end": 12512, "ctxt": 0 }, "value": "name", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 12516, "end": 12529, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12516, "end": 12524, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12525, "end": 12529, "ctxt": 0 }, "value": "type", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 12531, "end": 12596, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 12545, "end": 12586, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 12545, "end": 12585, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 12545, "end": 12562, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 12545, "end": 12558, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12545, "end": 12553, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12554, "end": 12558, "ctxt": 0 }, "value": "name", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 12559, "end": 12562, "ctxt": 0 }, "value": "sym", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 12565, "end": 12585, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 12565, "end": 12578, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12565, "end": 12573, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12574, "end": 12578, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 12579, "end": 12585, "ctxt": 0 }, "value": "symbol", "optional": false } } } } ] }, "alternate": null }, { "type": "ExpressionStatement", "span": { "start": 12783, "end": 12818, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 12783, "end": 12817, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 12783, "end": 12801, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12783, "end": 12791, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12792, "end": 12801, "ctxt": 0 }, "value": "scopeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 12804, "end": 12817, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12804, "end": 12812, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12813, "end": 12817, "ctxt": 0 }, "value": "type", "optional": false } } } }, { "type": "IfStatement", "span": { "start": 12877, "end": 12933, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 12881, "end": 12900, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12881, "end": 12889, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12890, "end": 12900, "ctxt": 0 }, "value": "isOverload", "optional": false } }, "consequent": { "type": "BlockStatement", "span": { "start": 12902, "end": 12933, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 12916, "end": 12923, "ctxt": 0 }, "argument": null } ] }, "alternate": null }, { "type": "VariableDeclaration", "span": { "start": 12943, "end": 12981, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 12947, "end": 12980, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 12947, "end": 12956, "ctxt": 0 }, "value": "funcTable", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 12959, "end": 12980, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 12963, "end": 12978, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 12990, "end": 13085, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 12994, "end": 13084, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 12994, "end": 13005, "ctxt": 0 }, "value": "funcMembers", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 13008, "end": 13084, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13012, "end": 13025, "ctxt": 0 }, "value": "ScopedMembers", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 13026, "end": 13083, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13030, "end": 13049, "ctxt": 0 }, "value": "DualStringHashTable", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 13050, "end": 13059, "ctxt": 0 }, "value": "funcTable", "optional": false } }, { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 13061, "end": 13082, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13065, "end": 13080, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null } } ], "typeArguments": null } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 13094, "end": 13139, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 13098, "end": 13138, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 13098, "end": 13114, "ctxt": 0 }, "value": "ambientFuncTable", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 13117, "end": 13138, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13121, "end": 13136, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 13148, "end": 13257, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 13152, "end": 13256, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 13152, "end": 13170, "ctxt": 0 }, "value": "ambientFuncMembers", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 13173, "end": 13256, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13177, "end": 13190, "ctxt": 0 }, "value": "ScopedMembers", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 13191, "end": 13255, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13195, "end": 13214, "ctxt": 0 }, "value": "DualStringHashTable", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 13215, "end": 13231, "ctxt": 0 }, "value": "ambientFuncTable", "optional": false } }, { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 13233, "end": 13254, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13237, "end": 13252, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null } } ], "typeArguments": null } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 13266, "end": 13310, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 13270, "end": 13309, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 13270, "end": 13285, "ctxt": 0 }, "value": "funcStaticTable", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 13288, "end": 13309, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13292, "end": 13307, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 13319, "end": 13426, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 13323, "end": 13425, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 13323, "end": 13340, "ctxt": 0 }, "value": "funcStaticMembers", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 13343, "end": 13425, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13347, "end": 13360, "ctxt": 0 }, "value": "ScopedMembers", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 13361, "end": 13424, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13365, "end": 13384, "ctxt": 0 }, "value": "DualStringHashTable", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 13385, "end": 13400, "ctxt": 0 }, "value": "funcStaticTable", "optional": false } }, { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 13402, "end": 13423, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13406, "end": 13421, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null } } ], "typeArguments": null } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 13435, "end": 13486, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 13439, "end": 13485, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 13439, "end": 13461, "ctxt": 0 }, "value": "ambientFuncStaticTable", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 13464, "end": 13485, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13468, "end": 13483, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 13495, "end": 13616, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 13499, "end": 13615, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 13499, "end": 13523, "ctxt": 0 }, "value": "ambientFuncStaticMembers", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 13526, "end": 13615, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13530, "end": 13543, "ctxt": 0 }, "value": "ScopedMembers", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 13544, "end": 13614, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13548, "end": 13567, "ctxt": 0 }, "value": "DualStringHashTable", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 13568, "end": 13590, "ctxt": 0 }, "value": "ambientFuncStaticTable", "optional": false } }, { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 13592, "end": 13613, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13596, "end": 13611, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null } } ], "typeArguments": null } } ], "typeArguments": null }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 13723, "end": 13792, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 13723, "end": 13791, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 13723, "end": 13741, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 13723, "end": 13731, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 13732, "end": 13741, "ctxt": 0 }, "value": "unitIndex", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 13744, "end": 13791, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 13744, "end": 13781, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 13744, "end": 13768, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 13744, "end": 13760, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 13744, "end": 13751, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 13752, "end": 13760, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 13761, "end": 13768, "ctxt": 0 }, "value": "checker", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 13769, "end": 13781, "ctxt": 0 }, "value": "locationInfo", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 13782, "end": 13791, "ctxt": 0 }, "value": "unitIndex", "optional": false } } } }, { "type": "VariableDeclaration", "span": { "start": 13802, "end": 13912, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 13806, "end": 13911, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 13806, "end": 13812, "ctxt": 0 }, "value": "locals", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 13815, "end": 13911, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13819, "end": 13837, "ctxt": 0 }, "value": "SymbolScopeBuilder", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 13838, "end": 13849, "ctxt": 0 }, "value": "funcMembers", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 13851, "end": 13869, "ctxt": 0 }, "value": "ambientFuncMembers", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 13871, "end": 13875, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 13877, "end": 13881, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 13883, "end": 13894, "ctxt": 0 }, "value": "parentScope", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 13896, "end": 13910, "ctxt": 0 }, "value": "localContainer", "optional": false } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 13921, "end": 14034, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 13925, "end": 14033, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 13925, "end": 13932, "ctxt": 0 }, "value": "statics", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 13935, "end": 14033, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13939, "end": 13957, "ctxt": 0 }, "value": "SymbolScopeBuilder", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 13958, "end": 13975, "ctxt": 0 }, "value": "funcStaticMembers", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 13977, "end": 14001, "ctxt": 0 }, "value": "ambientFuncStaticMembers", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 14003, "end": 14007, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 14009, "end": 14013, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 14015, "end": 14026, "ctxt": 0 }, "value": "parentScope", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 14028, "end": 14032, "ctxt": 0 } } } ], "typeArguments": null }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 14044, "end": 14181, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 14048, "end": 14101, "ctxt": 0 }, "operator": "&&", "left": { "type": "MemberExpression", "span": { "start": 14048, "end": 14070, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 14048, "end": 14056, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 14057, "end": 14070, "ctxt": 0 }, "value": "isConstructor", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 14074, "end": 14101, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 14074, "end": 14092, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 14074, "end": 14081, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 14082, "end": 14092, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 14093, "end": 14101, "ctxt": 0 }, "value": "thisType", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 14103, "end": 14181, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 14117, "end": 14171, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 14117, "end": 14170, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 14117, "end": 14161, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 14117, "end": 14144, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 14117, "end": 14135, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 14117, "end": 14124, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 14125, "end": 14135, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 14136, "end": 14144, "ctxt": 0 }, "value": "thisType", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 14145, "end": 14161, "ctxt": 0 }, "value": "constructorScope", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 14164, "end": 14170, "ctxt": 0 }, "value": "locals", "optional": false } } } ] }, "alternate": null }, { "type": "ExpressionStatement", "span": { "start": 14810, "end": 14839, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 14810, "end": 14838, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 14810, "end": 14826, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 14810, "end": 14818, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 14819, "end": 14826, "ctxt": 0 }, "value": "symbols", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 14829, "end": 14838, "ctxt": 0 }, "value": "funcTable", "optional": false } } }, { "type": "IfStatement", "span": { "start": 14849, "end": 16501, "ctxt": 0 }, "test": { "type": "UnaryExpression", "span": { "start": 14853, "end": 14876, "ctxt": 0 }, "operator": "!", "argument": { "type": "CallExpression", "span": { "start": 14854, "end": 14876, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 14854, "end": 14874, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 14854, "end": 14862, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 14863, "end": 14874, "ctxt": 0 }, "value": "isSpecialFn", "optional": false } }, "arguments": [], "typeArguments": null } }, "consequent": { "type": "BlockStatement", "span": { "start": 14878, "end": 16501, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 14892, "end": 14918, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 14896, "end": 14917, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 14896, "end": 14901, "ctxt": 0 }, "value": "group", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 14904, "end": 14917, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 14904, "end": 14912, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 14913, "end": 14917, "ctxt": 0 }, "value": "type", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 14931, "end": 14966, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 14935, "end": 14965, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 14935, "end": 14944, "ctxt": 0 }, "value": "signature", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 14947, "end": 14965, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 14947, "end": 14955, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 14956, "end": 14965, "ctxt": 0 }, "value": "signature", "optional": false } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 14980, "end": 15216, "ctxt": 0 }, "test": { "type": "UnaryExpression", "span": { "start": 14984, "end": 15007, "ctxt": 0 }, "operator": "!", "argument": { "type": "MemberExpression", "span": { "start": 14985, "end": 15007, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 14985, "end": 14993, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 14994, "end": 15007, "ctxt": 0 }, "value": "isConstructor", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 15009, "end": 15216, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 15027, "end": 15057, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 15027, "end": 15056, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 15027, "end": 15047, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15027, "end": 15032, "ctxt": 0 }, "value": "group", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15033, "end": 15047, "ctxt": 0 }, "value": "containedScope", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 15050, "end": 15056, "ctxt": 0 }, "value": "locals", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 15074, "end": 15106, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 15074, "end": 15105, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 15074, "end": 15090, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15074, "end": 15080, "ctxt": 0 }, "value": "locals", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15081, "end": 15090, "ctxt": 0 }, "value": "container", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 15093, "end": 15105, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15093, "end": 15098, "ctxt": 0 }, "value": "group", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15099, "end": 15105, "ctxt": 0 }, "value": "symbol", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 15124, "end": 15152, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 15124, "end": 15151, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 15124, "end": 15141, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15124, "end": 15129, "ctxt": 0 }, "value": "group", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15130, "end": 15141, "ctxt": 0 }, "value": "memberScope", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 15144, "end": 15151, "ctxt": 0 }, "value": "statics", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 15169, "end": 15202, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 15169, "end": 15201, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 15169, "end": 15186, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15169, "end": 15176, "ctxt": 0 }, "value": "statics", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15177, "end": 15186, "ctxt": 0 }, "value": "container", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 15189, "end": 15201, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15189, "end": 15194, "ctxt": 0 }, "value": "group", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15195, "end": 15201, "ctxt": 0 }, "value": "symbol", "optional": false } } } } ] }, "alternate": null }, { "type": "ExpressionStatement", "span": { "start": 15229, "end": 15276, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 15229, "end": 15275, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 15229, "end": 15250, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15229, "end": 15237, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15238, "end": 15250, "ctxt": 0 }, "value": "enclosingFnc", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 15253, "end": 15275, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 15253, "end": 15271, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15253, "end": 15260, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15261, "end": 15271, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 15272, "end": 15275, "ctxt": 0 }, "value": "fnc", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 15289, "end": 15381, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 15289, "end": 15380, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 15289, "end": 15308, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15289, "end": 15294, "ctxt": 0 }, "value": "group", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15295, "end": 15308, "ctxt": 0 }, "value": "enclosingType", "optional": false } }, "right": { "type": "ConditionalExpression", "span": { "start": 15311, "end": 15380, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 15311, "end": 15319, "ctxt": 0 }, "value": "isStatic", "optional": false }, "consequent": { "type": "MemberExpression", "span": { "start": 15322, "end": 15350, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 15322, "end": 15340, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15322, "end": 15329, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15330, "end": 15340, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 15341, "end": 15350, "ctxt": 0 }, "value": "classType", "optional": false } }, "alternate": { "type": "MemberExpression", "span": { "start": 15353, "end": 15380, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 15353, "end": 15371, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15353, "end": 15360, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15361, "end": 15371, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 15372, "end": 15380, "ctxt": 0 }, "value": "thisType", "optional": false } } } } }, { "type": "VariableDeclaration", "span": { "start": 15440, "end": 15480, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 15444, "end": 15479, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 15444, "end": 15449, "ctxt": 0 }, "value": "fgSym", "optional": false, "typeAnnotation": null }, "init": { "type": "TsTypeAssertion", "span": { "start": 15452, "end": 15479, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 15464, "end": 15479, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 15464, "end": 15472, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15464, "end": 15467, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15468, "end": 15472, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 15473, "end": 15479, "ctxt": 0 }, "value": "symbol", "optional": false } }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 15453, "end": 15463, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 15453, "end": 15463, "ctxt": 0 }, "value": "TypeSymbol", "optional": false }, "typeParams": null } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 15493, "end": 15906, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 15497, "end": 15573, "ctxt": 0 }, "operator": "&&", "left": { "type": "ParenthesisExpression", "span": { "start": 15497, "end": 15556, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 15498, "end": 15555, "ctxt": 0 }, "operator": "==", "left": { "type": "ParenthesisExpression", "span": { "start": 15498, "end": 15538, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 15499, "end": 15537, "ctxt": 0 }, "operator": "&", "left": { "type": "MemberExpression", "span": { "start": 15499, "end": 15516, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15499, "end": 15507, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15508, "end": 15516, "ctxt": 0 }, "value": "fncFlags", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 15519, "end": 15537, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15519, "end": 15527, "ctxt": 0 }, "value": "FncFlags", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15528, "end": 15537, "ctxt": 0 }, "value": "Signature", "optional": false } } } }, "right": { "type": "MemberExpression", "span": { "start": 15542, "end": 15555, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15542, "end": 15550, "ctxt": 0 }, "value": "FncFlags", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15551, "end": 15555, "ctxt": 0 }, "value": "None", "optional": false } } } }, "right": { "type": "MemberExpression", "span": { "start": 15560, "end": 15573, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15560, "end": 15568, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15569, "end": 15573, "ctxt": 0 }, "value": "vars", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 15575, "end": 15906, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 15593, "end": 15729, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 15593, "end": 15728, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 15593, "end": 15628, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 15593, "end": 15609, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15593, "end": 15600, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15601, "end": 15609, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 15610, "end": 15628, "ctxt": 0 }, "value": "addLocalsFromScope", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 15629, "end": 15635, "ctxt": 0 }, "value": "locals", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 15637, "end": 15642, "ctxt": 0 }, "value": "fgSym", "optional": false } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 15644, "end": 15657, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15644, "end": 15652, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15653, "end": 15657, "ctxt": 0 }, "value": "vars", "optional": false } } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 15711, "end": 15720, "ctxt": 0 }, "value": "funcTable", "optional": false } }, { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 15722, "end": 15727, "ctxt": 0 }, "value": false } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 15746, "end": 15892, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 15746, "end": 15891, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 15746, "end": 15781, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 15746, "end": 15762, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15746, "end": 15753, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15754, "end": 15762, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 15763, "end": 15781, "ctxt": 0 }, "value": "addLocalsFromScope", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 15782, "end": 15789, "ctxt": 0 }, "value": "statics", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 15791, "end": 15796, "ctxt": 0 }, "value": "fgSym", "optional": false } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 15798, "end": 15814, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15798, "end": 15806, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15807, "end": 15814, "ctxt": 0 }, "value": "statics", "optional": false } } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 15868, "end": 15883, "ctxt": 0 }, "value": "funcStaticTable", "optional": false } }, { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 15885, "end": 15890, "ctxt": 0 }, "value": false } } ], "typeArguments": null } } ] }, "alternate": null }, { "type": "IfStatement", "span": { "start": 15919, "end": 16327, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 15923, "end": 15943, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15923, "end": 15932, "ctxt": 0 }, "value": "signature", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15933, "end": 15943, "ctxt": 0 }, "value": "parameters", "optional": false } }, "consequent": { "type": "BlockStatement", "span": { "start": 15945, "end": 16327, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 15963, "end": 16001, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 15967, "end": 16000, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 15967, "end": 15970, "ctxt": 0 }, "value": "len", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 15973, "end": 16000, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 15973, "end": 15993, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15973, "end": 15982, "ctxt": 0 }, "value": "signature", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15983, "end": 15993, "ctxt": 0 }, "value": "parameters", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 15994, "end": 16000, "ctxt": 0 }, "value": "length", "optional": false } }, "definite": false } ] }, { "type": "ForStatement", "span": { "start": 16018, "end": 16313, "ctxt": 0 }, "init": { "type": "VariableDeclaration", "span": { "start": 16023, "end": 16032, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 16027, "end": 16032, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 16027, "end": 16028, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "init": { "type": "NumericLiteral", "span": { "start": 16031, "end": 16032, "ctxt": 0 }, "value": 0.0 }, "definite": false } ] }, "test": { "type": "BinaryExpression", "span": { "start": 16034, "end": 16041, "ctxt": 0 }, "operator": "<", "left": { "type": "Identifier", "span": { "start": 16034, "end": 16035, "ctxt": 0 }, "value": "i", "optional": false }, "right": { "type": "Identifier", "span": { "start": 16038, "end": 16041, "ctxt": 0 }, "value": "len", "optional": false } }, "update": { "type": "UpdateExpression", "span": { "start": 16043, "end": 16046, "ctxt": 0 }, "operator": "++", "prefix": false, "argument": { "type": "Identifier", "span": { "start": 16043, "end": 16044, "ctxt": 0 }, "value": "i", "optional": false } }, "body": { "type": "BlockStatement", "span": { "start": 16048, "end": 16313, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 16070, "end": 16126, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 16074, "end": 16125, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 16074, "end": 16082, "ctxt": 0 }, "value": "paramSym", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 16082, "end": 16099, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 16084, "end": 16099, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 16084, "end": 16099, "ctxt": 0 }, "value": "ParameterSymbol", "optional": false }, "typeParams": null } } }, "init": { "type": "MemberExpression", "span": { "start": 16102, "end": 16125, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 16102, "end": 16122, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16102, "end": 16111, "ctxt": 0 }, "value": "signature", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16112, "end": 16122, "ctxt": 0 }, "value": "parameters", "optional": false } }, "property": { "type": "Computed", "span": { "start": 16122, "end": 16125, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 16123, "end": 16124, "ctxt": 0 }, "value": "i", "optional": false } } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 16147, "end": 16295, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 16147, "end": 16294, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 16147, "end": 16187, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 16147, "end": 16171, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 16147, "end": 16163, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16147, "end": 16154, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16155, "end": 16163, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 16164, "end": 16171, "ctxt": 0 }, "value": "checker", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 16172, "end": 16187, "ctxt": 0 }, "value": "resolveTypeLink", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 16188, "end": 16194, "ctxt": 0 }, "value": "locals", "optional": false } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 16260, "end": 16287, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 16260, "end": 16278, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16260, "end": 16268, "ctxt": 0 }, "value": "paramSym", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16269, "end": 16278, "ctxt": 0 }, "value": "parameter", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 16279, "end": 16287, "ctxt": 0 }, "value": "typeLink", "optional": false } } }, { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 16289, "end": 16293, "ctxt": 0 }, "value": true } } ], "typeArguments": null } } ] } } ] }, "alternate": null }, { "type": "ExpressionStatement", "span": { "start": 16340, "end": 16491, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 16340, "end": 16490, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 16340, "end": 16380, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 16340, "end": 16364, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 16340, "end": 16356, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16340, "end": 16347, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16348, "end": 16356, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 16357, "end": 16364, "ctxt": 0 }, "value": "checker", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 16365, "end": 16380, "ctxt": 0 }, "value": "resolveTypeLink", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 16381, "end": 16387, "ctxt": 0 }, "value": "locals", "optional": false } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 16389, "end": 16409, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16389, "end": 16398, "ctxt": 0 }, "value": "signature", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16399, "end": 16409, "ctxt": 0 }, "value": "returnType", "optional": false } } }, { "spread": null, "expression": { "type": "CallExpression", "span": { "start": 16467, "end": 16489, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 16467, "end": 16487, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16467, "end": 16475, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16476, "end": 16487, "ctxt": 0 }, "value": "isSignature", "optional": false } }, "arguments": [], "typeArguments": null } } ], "typeArguments": null } } ] }, "alternate": null }, { "type": "IfStatement", "span": { "start": 16511, "end": 16817, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 16515, "end": 16590, "ctxt": 0 }, "operator": "||", "left": { "type": "UnaryExpression", "span": { "start": 16515, "end": 16538, "ctxt": 0 }, "operator": "!", "argument": { "type": "MemberExpression", "span": { "start": 16516, "end": 16538, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16516, "end": 16524, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16525, "end": 16538, "ctxt": 0 }, "value": "isConstructor", "optional": false } } }, "right": { "type": "CallExpression", "span": { "start": 16542, "end": 16590, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 16542, "end": 16549, "ctxt": 0 }, "value": "hasFlag", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 16550, "end": 16567, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16550, "end": 16558, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16559, "end": 16567, "ctxt": 0 }, "value": "fncFlags", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 16569, "end": 16589, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16569, "end": 16577, "ctxt": 0 }, "value": "FncFlags", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16578, "end": 16589, "ctxt": 0 }, "value": "ClassMethod", "optional": false } } } ], "typeArguments": null } }, "consequent": { "type": "BlockStatement", "span": { "start": 16592, "end": 16817, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 16606, "end": 16735, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 16610, "end": 16734, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 16610, "end": 16618, "ctxt": 0 }, "value": "thisType", "optional": false, "typeAnnotation": null }, "init": { "type": "ConditionalExpression", "span": { "start": 16621, "end": 16734, "ctxt": 0 }, "test": { "type": "ParenthesisExpression", "span": { "start": 16621, "end": 16697, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 16622, "end": 16696, "ctxt": 0 }, "operator": "&&", "left": { "type": "MemberExpression", "span": { "start": 16622, "end": 16644, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16622, "end": 16630, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16631, "end": 16644, "ctxt": 0 }, "value": "isConstructor", "optional": false } }, "right": { "type": "CallExpression", "span": { "start": 16648, "end": 16696, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 16648, "end": 16655, "ctxt": 0 }, "value": "hasFlag", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 16656, "end": 16673, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16656, "end": 16664, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16665, "end": 16673, "ctxt": 0 }, "value": "fncFlags", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 16675, "end": 16695, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16675, "end": 16683, "ctxt": 0 }, "value": "FncFlags", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16684, "end": 16695, "ctxt": 0 }, "value": "ClassMethod", "optional": false } } } ], "typeArguments": null } } }, "consequent": { "type": "MemberExpression", "span": { "start": 16700, "end": 16727, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 16700, "end": 16718, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16700, "end": 16707, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16708, "end": 16718, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 16719, "end": 16727, "ctxt": 0 }, "value": "thisType", "optional": false } }, "alternate": { "type": "NullLiteral", "span": { "start": 16730, "end": 16734, "ctxt": 0 } } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 16748, "end": 16807, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 16748, "end": 16806, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 16748, "end": 16763, "ctxt": 0 }, "value": "pushAssignScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 16764, "end": 16770, "ctxt": 0 }, "value": "locals", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 16772, "end": 16779, "ctxt": 0 }, "value": "context", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 16781, "end": 16789, "ctxt": 0 }, "value": "thisType", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 16791, "end": 16795, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 16797, "end": 16805, "ctxt": 0 }, "value": "funcDecl", "optional": false } } ], "typeArguments": null } } ] }, "alternate": null } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 16829, "end": 17570, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 16845, "end": 16865, "ctxt": 0 }, "value": "preAssignCatchScopes", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 16866, "end": 16874, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 16866, "end": 16874, "ctxt": 0 }, "value": "ast", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 16869, "end": 16874, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 16871, "end": 16874, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 16871, "end": 16874, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 16876, "end": 16903, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 16876, "end": 16903, "ctxt": 0 }, "value": "context", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 16883, "end": 16903, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 16885, "end": 16903, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 16885, "end": 16903, "ctxt": 0 }, "value": "AssignScopeContext", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 16836, "end": 17570, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 16905, "end": 17570, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 16915, "end": 16943, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 16919, "end": 16942, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 16919, "end": 16929, "ctxt": 0 }, "value": "catchBlock", "optional": false, "typeAnnotation": null }, "init": { "type": "TsTypeAssertion", "span": { "start": 16932, "end": 16942, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 16939, "end": 16942, "ctxt": 0 }, "value": "ast", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 16933, "end": 16938, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 16933, "end": 16938, "ctxt": 0 }, "value": "Catch", "optional": false }, "typeParams": null } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 16952, "end": 17564, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 16956, "end": 16972, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16956, "end": 16966, "ctxt": 0 }, "value": "catchBlock", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16967, "end": 16972, "ctxt": 0 }, "value": "param", "optional": false } }, "consequent": { "type": "BlockStatement", "span": { "start": 16974, "end": 17564, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 16988, "end": 17094, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 16992, "end": 17093, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 16992, "end": 17002, "ctxt": 0 }, "value": "catchTable", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 17005, "end": 17093, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 17009, "end": 17022, "ctxt": 0 }, "value": "ScopedMembers", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 17023, "end": 17092, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 17027, "end": 17046, "ctxt": 0 }, "value": "DualStringHashTable", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 17047, "end": 17068, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 17051, "end": 17066, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null } }, { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 17070, "end": 17091, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 17074, "end": 17089, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null } } ], "typeArguments": null } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 17183, "end": 17367, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 17187, "end": 17366, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 17187, "end": 17198, "ctxt": 0 }, "value": "catchLocals", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 17201, "end": 17366, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 17205, "end": 17223, "ctxt": 0 }, "value": "SymbolScopeBuilder", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 17224, "end": 17234, "ctxt": 0 }, "value": "catchTable", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 17236, "end": 17240, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 17242, "end": 17246, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 17248, "end": 17252, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 17254, "end": 17278, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 17254, "end": 17272, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 17254, "end": 17261, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 17262, "end": 17272, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 17273, "end": 17278, "ctxt": 0 }, "value": "scope", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 17331, "end": 17365, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 17331, "end": 17355, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 17331, "end": 17349, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 17331, "end": 17338, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 17339, "end": 17349, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 17350, "end": 17355, "ctxt": 0 }, "value": "scope", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 17356, "end": 17365, "ctxt": 0 }, "value": "container", "optional": false } } } ], "typeArguments": null }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 17380, "end": 17420, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 17380, "end": 17419, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 17380, "end": 17405, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 17380, "end": 17390, "ctxt": 0 }, "value": "catchBlock", "optional": false }, "property": { "type": "Identifier", "span": { "start": 17391, "end": 17405, "ctxt": 0 }, "value": "containedScope", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 17408, "end": 17419, "ctxt": 0 }, "value": "catchLocals", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 17433, "end": 17554, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 17433, "end": 17553, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 17433, "end": 17448, "ctxt": 0 }, "value": "pushAssignScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 17449, "end": 17460, "ctxt": 0 }, "value": "catchLocals", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 17462, "end": 17469, "ctxt": 0 }, "value": "context", "optional": false } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 17471, "end": 17498, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 17471, "end": 17489, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 17471, "end": 17478, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 17479, "end": 17489, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 17490, "end": 17498, "ctxt": 0 }, "value": "thisType", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 17500, "end": 17528, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 17500, "end": 17518, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 17500, "end": 17507, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 17508, "end": 17518, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 17519, "end": 17528, "ctxt": 0 }, "value": "classType", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 17530, "end": 17552, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 17530, "end": 17548, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 17530, "end": 17537, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 17538, "end": 17548, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 17549, "end": 17552, "ctxt": 0 }, "value": "fnc", "optional": false } } } ], "typeArguments": null } } ] }, "alternate": null } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 17576, "end": 18866, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 17592, "end": 17607, "ctxt": 0 }, "value": "preAssignScopes", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 17608, "end": 17616, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 17608, "end": 17616, "ctxt": 0 }, "value": "ast", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 17611, "end": 17616, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 17613, "end": 17616, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 17613, "end": 17616, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 17618, "end": 17629, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 17618, "end": 17629, "ctxt": 0 }, "value": "parent", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 17624, "end": 17629, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 17626, "end": 17629, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 17626, "end": 17629, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 17631, "end": 17649, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 17631, "end": 17649, "ctxt": 0 }, "value": "walker", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 17637, "end": 17649, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 17639, "end": 17649, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 17639, "end": 17649, "ctxt": 0 }, "value": "IAstWalker", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 17583, "end": 18866, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 17651, "end": 18866, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 17661, "end": 17707, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 17665, "end": 17706, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 17665, "end": 17672, "ctxt": 0 }, "value": "context", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 17672, "end": 17691, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 17673, "end": 17691, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 17673, "end": 17691, "ctxt": 0 }, "value": "AssignScopeContext", "optional": false }, "typeParams": null } } }, "init": { "type": "MemberExpression", "span": { "start": 17694, "end": 17706, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 17694, "end": 17700, "ctxt": 0 }, "value": "walker", "optional": false }, "property": { "type": "Identifier", "span": { "start": 17701, "end": 17706, "ctxt": 0 }, "value": "state", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 17716, "end": 17730, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 17720, "end": 17729, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 17720, "end": 17722, "ctxt": 0 }, "value": "go", "optional": false, "typeAnnotation": null }, "init": { "type": "BooleanLiteral", "span": { "start": 17725, "end": 17729, "ctxt": 0 }, "value": true }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 17740, "end": 18800, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 17744, "end": 17747, "ctxt": 0 }, "value": "ast", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 17749, "end": 18800, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 17763, "end": 18790, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 17767, "end": 17796, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 17767, "end": 17779, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 17767, "end": 17770, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 17771, "end": 17779, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 17783, "end": 17796, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 17783, "end": 17791, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 17792, "end": 17796, "ctxt": 0 }, "value": "List", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 17798, "end": 17918, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 17816, "end": 17840, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 17820, "end": 17839, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 17820, "end": 17824, "ctxt": 0 }, "value": "list", "optional": false, "typeAnnotation": null }, "init": { "type": "TsTypeAssertion", "span": { "start": 17827, "end": 17839, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 17836, "end": 17839, "ctxt": 0 }, "value": "ast", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 17828, "end": 17835, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 17828, "end": 17835, "ctxt": 0 }, "value": "ASTList", "optional": false }, "typeParams": null } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 17857, "end": 17904, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 17857, "end": 17903, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 17857, "end": 17876, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 17857, "end": 17861, "ctxt": 0 }, "value": "list", "optional": false }, "property": { "type": "Identifier", "span": { "start": 17862, "end": 17876, "ctxt": 0 }, "value": "enclosingScope", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 17879, "end": 17903, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 17879, "end": 17897, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 17879, "end": 17886, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 17887, "end": 17897, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 17898, "end": 17903, "ctxt": 0 }, "value": "scope", "optional": false } } } } ] }, "alternate": { "type": "IfStatement", "span": { "start": 17936, "end": 18790, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 17940, "end": 17982, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 17940, "end": 17952, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 17940, "end": 17943, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 17944, "end": 17952, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 17956, "end": 17982, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 17956, "end": 17964, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 17965, "end": 17982, "ctxt": 0 }, "value": "ModuleDeclaration", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 17984, "end": 18052, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 18002, "end": 18038, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 18002, "end": 18037, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 18002, "end": 18023, "ctxt": 0 }, "value": "preAssignModuleScopes", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 18024, "end": 18027, "ctxt": 0 }, "value": "ast", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 18029, "end": 18036, "ctxt": 0 }, "value": "context", "optional": false } } ], "typeArguments": null } } ] }, "alternate": { "type": "IfStatement", "span": { "start": 18070, "end": 18790, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 18074, "end": 18115, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 18074, "end": 18086, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18074, "end": 18077, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18078, "end": 18086, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 18090, "end": 18115, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18090, "end": 18098, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18099, "end": 18115, "ctxt": 0 }, "value": "ClassDeclaration", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 18117, "end": 18184, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 18135, "end": 18170, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 18135, "end": 18169, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 18135, "end": 18155, "ctxt": 0 }, "value": "preAssignClassScopes", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 18156, "end": 18159, "ctxt": 0 }, "value": "ast", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 18161, "end": 18168, "ctxt": 0 }, "value": "context", "optional": false } } ], "typeArguments": null } } ] }, "alternate": { "type": "IfStatement", "span": { "start": 18202, "end": 18790, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 18206, "end": 18251, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 18206, "end": 18218, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18206, "end": 18209, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18210, "end": 18218, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 18222, "end": 18251, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18222, "end": 18230, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18231, "end": 18251, "ctxt": 0 }, "value": "InterfaceDeclaration", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 18253, "end": 18324, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 18271, "end": 18310, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 18271, "end": 18309, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 18271, "end": 18295, "ctxt": 0 }, "value": "preAssignInterfaceScopes", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 18296, "end": 18299, "ctxt": 0 }, "value": "ast", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 18301, "end": 18308, "ctxt": 0 }, "value": "context", "optional": false } } ], "typeArguments": null } } ] }, "alternate": { "type": "IfStatement", "span": { "start": 18342, "end": 18790, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 18346, "end": 18375, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 18346, "end": 18358, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18346, "end": 18349, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18350, "end": 18358, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 18362, "end": 18375, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18362, "end": 18370, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18371, "end": 18375, "ctxt": 0 }, "value": "With", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 18377, "end": 18443, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 18395, "end": 18429, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 18395, "end": 18428, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 18395, "end": 18414, "ctxt": 0 }, "value": "preAssignWithScopes", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 18415, "end": 18418, "ctxt": 0 }, "value": "ast", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 18420, "end": 18427, "ctxt": 0 }, "value": "context", "optional": false } } ], "typeArguments": null } } ] }, "alternate": { "type": "IfStatement", "span": { "start": 18461, "end": 18790, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 18465, "end": 18498, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 18465, "end": 18477, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18465, "end": 18468, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18469, "end": 18477, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 18481, "end": 18498, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18481, "end": 18489, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18490, "end": 18498, "ctxt": 0 }, "value": "FuncDecl", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 18500, "end": 18570, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 18518, "end": 18556, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 18518, "end": 18555, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 18518, "end": 18541, "ctxt": 0 }, "value": "preAssignFuncDeclScopes", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 18542, "end": 18545, "ctxt": 0 }, "value": "ast", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 18547, "end": 18554, "ctxt": 0 }, "value": "context", "optional": false } } ], "typeArguments": null } } ] }, "alternate": { "type": "IfStatement", "span": { "start": 18588, "end": 18790, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 18592, "end": 18622, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 18592, "end": 18604, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18592, "end": 18595, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18596, "end": 18604, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 18608, "end": 18622, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18608, "end": 18616, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18617, "end": 18622, "ctxt": 0 }, "value": "Catch", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 18624, "end": 18691, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 18642, "end": 18677, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 18642, "end": 18676, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 18642, "end": 18662, "ctxt": 0 }, "value": "preAssignCatchScopes", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 18663, "end": 18666, "ctxt": 0 }, "value": "ast", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 18668, "end": 18675, "ctxt": 0 }, "value": "context", "optional": false } } ], "typeArguments": null } } ] }, "alternate": { "type": "IfStatement", "span": { "start": 18709, "end": 18790, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 18713, "end": 18745, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 18713, "end": 18725, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18713, "end": 18716, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18717, "end": 18725, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 18729, "end": 18745, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18729, "end": 18737, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18738, "end": 18745, "ctxt": 0 }, "value": "TypeRef", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 18747, "end": 18790, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 18765, "end": 18776, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 18765, "end": 18775, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 18765, "end": 18767, "ctxt": 0 }, "value": "go", "optional": false, "typeAnnotation": null }, "right": { "type": "BooleanLiteral", "span": { "start": 18770, "end": 18775, "ctxt": 0 }, "value": false } } } ] }, "alternate": null } } } } } } } } ] }, "alternate": null }, { "type": "ExpressionStatement", "span": { "start": 18809, "end": 18840, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 18809, "end": 18839, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 18809, "end": 18834, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 18809, "end": 18823, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18809, "end": 18815, "ctxt": 0 }, "value": "walker", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18816, "end": 18823, "ctxt": 0 }, "value": "options", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 18824, "end": 18834, "ctxt": 0 }, "value": "goChildren", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 18837, "end": 18839, "ctxt": 0 }, "value": "go", "optional": false } } }, { "type": "ReturnStatement", "span": { "start": 18849, "end": 18860, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 18856, "end": 18859, "ctxt": 0 }, "value": "ast", "optional": false } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 18872, "end": 20473, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 18888, "end": 18904, "ctxt": 0 }, "value": "postAssignScopes", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 18905, "end": 18913, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 18905, "end": 18913, "ctxt": 0 }, "value": "ast", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 18908, "end": 18913, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 18910, "end": 18913, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 18910, "end": 18913, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 18915, "end": 18926, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 18915, "end": 18926, "ctxt": 0 }, "value": "parent", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 18921, "end": 18926, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 18923, "end": 18926, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 18923, "end": 18926, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 18928, "end": 18946, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 18928, "end": 18946, "ctxt": 0 }, "value": "walker", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 18934, "end": 18946, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 18936, "end": 18946, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 18936, "end": 18946, "ctxt": 0 }, "value": "IAstWalker", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 18879, "end": 20473, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 18948, "end": 20473, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 18958, "end": 19004, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 18962, "end": 19003, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 18962, "end": 18969, "ctxt": 0 }, "value": "context", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 18969, "end": 18988, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 18970, "end": 18988, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 18970, "end": 18988, "ctxt": 0 }, "value": "AssignScopeContext", "optional": false }, "typeParams": null } } }, "init": { "type": "MemberExpression", "span": { "start": 18991, "end": 19003, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18991, "end": 18997, "ctxt": 0 }, "value": "walker", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18998, "end": 19003, "ctxt": 0 }, "value": "state", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 19013, "end": 19027, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 19017, "end": 19026, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 19017, "end": 19019, "ctxt": 0 }, "value": "go", "optional": false, "typeAnnotation": null }, "init": { "type": "BooleanLiteral", "span": { "start": 19022, "end": 19026, "ctxt": 0 }, "value": true }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 19036, "end": 20407, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 19040, "end": 19043, "ctxt": 0 }, "value": "ast", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 19045, "end": 20407, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 19059, "end": 20397, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 19063, "end": 19105, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 19063, "end": 19075, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19063, "end": 19066, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19067, "end": 19075, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 19079, "end": 19105, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19079, "end": 19087, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19088, "end": 19105, "ctxt": 0 }, "value": "ModuleDeclaration", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 19107, "end": 19458, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 19125, "end": 19166, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 19129, "end": 19165, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 19129, "end": 19140, "ctxt": 0 }, "value": "prevModDecl", "optional": false, "typeAnnotation": null }, "init": { "type": "TsTypeAssertion", "span": { "start": 19143, "end": 19165, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 19162, "end": 19165, "ctxt": 0 }, "value": "ast", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 19144, "end": 19161, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 19144, "end": 19161, "ctxt": 0 }, "value": "ModuleDeclaration", "optional": false }, "typeParams": null } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 19184, "end": 19208, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 19184, "end": 19207, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 19184, "end": 19198, "ctxt": 0 }, "value": "popAssignScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 19199, "end": 19206, "ctxt": 0 }, "value": "context", "optional": false } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 19226, "end": 19253, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 19226, "end": 19252, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 19226, "end": 19250, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 19226, "end": 19246, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19226, "end": 19233, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19234, "end": 19246, "ctxt": 0 }, "value": "modDeclChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 19247, "end": 19250, "ctxt": 0 }, "value": "pop", "optional": false } }, "arguments": [], "typeArguments": null } }, { "type": "IfStatement", "span": { "start": 19270, "end": 19444, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 19274, "end": 19306, "ctxt": 0 }, "operator": ">=", "left": { "type": "MemberExpression", "span": { "start": 19274, "end": 19301, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 19274, "end": 19294, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19274, "end": 19281, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19282, "end": 19294, "ctxt": 0 }, "value": "modDeclChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 19295, "end": 19301, "ctxt": 0 }, "value": "length", "optional": false } }, "right": { "type": "NumericLiteral", "span": { "start": 19305, "end": 19306, "ctxt": 0 }, "value": 1.0 } }, "consequent": { "type": "BlockStatement", "span": { "start": 19308, "end": 19444, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 19330, "end": 19426, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 19330, "end": 19425, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 19330, "end": 19369, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 19330, "end": 19354, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 19330, "end": 19346, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19330, "end": 19337, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19338, "end": 19346, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 19347, "end": 19354, "ctxt": 0 }, "value": "checker", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 19355, "end": 19369, "ctxt": 0 }, "value": "currentModDecl", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 19372, "end": 19425, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 19372, "end": 19392, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19372, "end": 19379, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19380, "end": 19392, "ctxt": 0 }, "value": "modDeclChain", "optional": false } }, "property": { "type": "Computed", "span": { "start": 19392, "end": 19425, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 19393, "end": 19424, "ctxt": 0 }, "operator": "-", "left": { "type": "MemberExpression", "span": { "start": 19393, "end": 19420, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 19393, "end": 19413, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19393, "end": 19400, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19401, "end": 19413, "ctxt": 0 }, "value": "modDeclChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 19414, "end": 19420, "ctxt": 0 }, "value": "length", "optional": false } }, "right": { "type": "NumericLiteral", "span": { "start": 19423, "end": 19424, "ctxt": 0 }, "value": 1.0 } } } } } } ] }, "alternate": null } ] }, "alternate": { "type": "IfStatement", "span": { "start": 19476, "end": 20397, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 19480, "end": 19521, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 19480, "end": 19492, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19480, "end": 19483, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19484, "end": 19492, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 19496, "end": 19521, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19496, "end": 19504, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19505, "end": 19521, "ctxt": 0 }, "value": "ClassDeclaration", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 19523, "end": 19579, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 19541, "end": 19565, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 19541, "end": 19564, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 19541, "end": 19555, "ctxt": 0 }, "value": "popAssignScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 19556, "end": 19563, "ctxt": 0 }, "value": "context", "optional": false } } ], "typeArguments": null } } ] }, "alternate": { "type": "IfStatement", "span": { "start": 19597, "end": 20397, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 19601, "end": 19646, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 19601, "end": 19613, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19601, "end": 19604, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19605, "end": 19613, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 19617, "end": 19646, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19617, "end": 19625, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19626, "end": 19646, "ctxt": 0 }, "value": "InterfaceDeclaration", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 19648, "end": 19704, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 19666, "end": 19690, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 19666, "end": 19689, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 19666, "end": 19680, "ctxt": 0 }, "value": "popAssignScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 19681, "end": 19688, "ctxt": 0 }, "value": "context", "optional": false } } ], "typeArguments": null } } ] }, "alternate": { "type": "IfStatement", "span": { "start": 19722, "end": 20397, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 19726, "end": 19755, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 19726, "end": 19738, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19726, "end": 19729, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19730, "end": 19738, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 19742, "end": 19755, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19742, "end": 19750, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19751, "end": 19755, "ctxt": 0 }, "value": "With", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 19757, "end": 19813, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 19775, "end": 19799, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 19775, "end": 19798, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 19775, "end": 19789, "ctxt": 0 }, "value": "popAssignScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 19790, "end": 19797, "ctxt": 0 }, "value": "context", "optional": false } } ], "typeArguments": null } } ] }, "alternate": { "type": "IfStatement", "span": { "start": 19831, "end": 20397, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 19835, "end": 19868, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 19835, "end": 19847, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19835, "end": 19838, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19839, "end": 19847, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 19851, "end": 19868, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19851, "end": 19859, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19860, "end": 19868, "ctxt": 0 }, "value": "FuncDecl", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 19870, "end": 20119, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 19888, "end": 19917, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 19892, "end": 19916, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 19892, "end": 19900, "ctxt": 0 }, "value": "funcDecl", "optional": false, "typeAnnotation": null }, "init": { "type": "TsTypeAssertion", "span": { "start": 19903, "end": 19916, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 19913, "end": 19916, "ctxt": 0 }, "value": "ast", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 19904, "end": 19912, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 19904, "end": 19912, "ctxt": 0 }, "value": "FuncDecl", "optional": false }, "typeParams": null } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 19934, "end": 20105, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 19938, "end": 20039, "ctxt": 0 }, "operator": "&&", "left": { "type": "ParenthesisExpression", "span": { "start": 19938, "end": 20015, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 19939, "end": 20014, "ctxt": 0 }, "operator": "||", "left": { "type": "UnaryExpression", "span": { "start": 19939, "end": 19962, "ctxt": 0 }, "operator": "!", "argument": { "type": "MemberExpression", "span": { "start": 19940, "end": 19962, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19940, "end": 19948, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19949, "end": 19962, "ctxt": 0 }, "value": "isConstructor", "optional": false } } }, "right": { "type": "CallExpression", "span": { "start": 19966, "end": 20014, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 19966, "end": 19973, "ctxt": 0 }, "value": "hasFlag", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 19974, "end": 19991, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19974, "end": 19982, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19983, "end": 19991, "ctxt": 0 }, "value": "fncFlags", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 19993, "end": 20013, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19993, "end": 20001, "ctxt": 0 }, "value": "FncFlags", "optional": false }, "property": { "type": "Identifier", "span": { "start": 20002, "end": 20013, "ctxt": 0 }, "value": "ClassMethod", "optional": false } } } ], "typeArguments": null } } }, "right": { "type": "UnaryExpression", "span": { "start": 20019, "end": 20039, "ctxt": 0 }, "operator": "!", "argument": { "type": "MemberExpression", "span": { "start": 20020, "end": 20039, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 20020, "end": 20028, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 20029, "end": 20039, "ctxt": 0 }, "value": "isOverload", "optional": false } } } }, "consequent": { "type": "BlockStatement", "span": { "start": 20041, "end": 20105, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 20063, "end": 20087, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 20063, "end": 20086, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 20063, "end": 20077, "ctxt": 0 }, "value": "popAssignScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 20078, "end": 20085, "ctxt": 0 }, "value": "context", "optional": false } } ], "typeArguments": null } } ] }, "alternate": null } ] }, "alternate": { "type": "IfStatement", "span": { "start": 20137, "end": 20397, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 20141, "end": 20171, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 20141, "end": 20153, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 20141, "end": 20144, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 20145, "end": 20153, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 20157, "end": 20171, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 20157, "end": 20165, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 20166, "end": 20171, "ctxt": 0 }, "value": "Catch", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 20173, "end": 20336, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 20191, "end": 20219, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 20195, "end": 20218, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 20195, "end": 20205, "ctxt": 0 }, "value": "catchBlock", "optional": false, "typeAnnotation": null }, "init": { "type": "TsTypeAssertion", "span": { "start": 20208, "end": 20218, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 20215, "end": 20218, "ctxt": 0 }, "value": "ast", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 20209, "end": 20214, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 20209, "end": 20214, "ctxt": 0 }, "value": "Catch", "optional": false }, "typeParams": null } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 20236, "end": 20322, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 20240, "end": 20256, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 20240, "end": 20250, "ctxt": 0 }, "value": "catchBlock", "optional": false }, "property": { "type": "Identifier", "span": { "start": 20251, "end": 20256, "ctxt": 0 }, "value": "param", "optional": false } }, "consequent": { "type": "BlockStatement", "span": { "start": 20258, "end": 20322, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 20280, "end": 20304, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 20280, "end": 20303, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 20280, "end": 20294, "ctxt": 0 }, "value": "popAssignScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 20295, "end": 20302, "ctxt": 0 }, "value": "context", "optional": false } } ], "typeArguments": null } } ] }, "alternate": null } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 20354, "end": 20397, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 20372, "end": 20383, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 20372, "end": 20382, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 20372, "end": 20374, "ctxt": 0 }, "value": "go", "optional": false, "typeAnnotation": null }, "right": { "type": "BooleanLiteral", "span": { "start": 20377, "end": 20382, "ctxt": 0 }, "value": false } } } ] } } } } } } } ] }, "alternate": null }, { "type": "ExpressionStatement", "span": { "start": 20416, "end": 20447, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 20416, "end": 20446, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 20416, "end": 20441, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 20416, "end": 20430, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 20416, "end": 20422, "ctxt": 0 }, "value": "walker", "optional": false }, "property": { "type": "Identifier", "span": { "start": 20423, "end": 20430, "ctxt": 0 }, "value": "options", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 20431, "end": 20441, "ctxt": 0 }, "value": "goChildren", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 20444, "end": 20446, "ctxt": 0 }, "value": "go", "optional": false } } }, { "type": "ReturnStatement", "span": { "start": 20456, "end": 20467, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 20463, "end": 20466, "ctxt": 0 }, "value": "ast", "optional": false } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } } ] } } ], "interpreter": null }