{ "type": "Script", "span": { "start": 212, "end": 20476, "ctxt": 0 }, "body": [ { "type": "TsModuleDeclaration", "span": { "start": 212, "end": 20476, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 219, "end": 229, "ctxt": 0 }, "value": "TypeScript", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 230, "end": 20476, "ctxt": 0 }, "body": [ { "type": "ExportDeclaration", "span": { "start": 237, "end": 451, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 250, "end": 268, "ctxt": 0 }, "value": "AssignScopeContext", "optional": false }, "declare": false, "span": { "start": 244, "end": 451, "ctxt": 0 }, "decorators": [], "body": [ { "type": "Constructor", "span": { "start": 279, "end": 445, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 279, "end": 290, "ctxt": 0 }, "value": "constructor", "optional": false }, "params": [ { "type": "TsParameterProperty", "span": { "start": 292, "end": 321, "ctxt": 0 }, "decorators": [], "accessibility": "public", "override": false, "readonly": false, "param": { "type": "Identifier", "span": { "start": 299, "end": 321, "ctxt": 0 }, "value": "scopeChain", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 309, "end": 321, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 311, "end": 321, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 311, "end": 321, "ctxt": 0 }, "value": "ScopeChain", "optional": false }, "typeParams": null } } } }, { "type": "TsParameterProperty", "span": { "start": 344, "end": 369, "ctxt": 0 }, "decorators": [], "accessibility": "public", "override": false, "readonly": false, "param": { "type": "Identifier", "span": { "start": 351, "end": 369, "ctxt": 0 }, "value": "typeFlow", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 359, "end": 369, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 361, "end": 369, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 361, "end": 369, "ctxt": 0 }, "value": "TypeFlow", "optional": false }, "typeParams": null } } } }, { "type": "TsParameterProperty", "span": { "start": 392, "end": 432, "ctxt": 0 }, "decorators": [], "accessibility": "public", "override": false, "readonly": false, "param": { "type": "Identifier", "span": { "start": 399, "end": 432, "ctxt": 0 }, "value": "modDeclChain", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 411, "end": 432, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 413, "end": 432, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 413, "end": 430, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 413, "end": 430, "ctxt": 0 }, "value": "ModuleDeclaration", "optional": false }, "typeParams": null } } } } } ], "body": { "type": "BlockStatement", "span": { "start": 434, "end": 445, "ctxt": 0 }, "stmts": [] }, "accessibility": null, "isOptional": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } }, { "type": "ExportDeclaration", "span": { "start": 457, "end": 820, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 473, "end": 488, "ctxt": 0 }, "value": "pushAssignScope", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 489, "end": 507, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 489, "end": 507, "ctxt": 0 }, "value": "scope", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 494, "end": 507, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 496, "end": 507, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 496, "end": 507, "ctxt": 0 }, "value": "SymbolScope", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 517, "end": 544, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 517, "end": 544, "ctxt": 0 }, "value": "context", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 524, "end": 544, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 526, "end": 544, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 526, "end": 544, "ctxt": 0 }, "value": "AssignScopeContext", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 554, "end": 564, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 554, "end": 564, "ctxt": 0 }, "value": "type", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 558, "end": 564, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 560, "end": 564, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 560, "end": 564, "ctxt": 0 }, "value": "Type", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 574, "end": 589, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 574, "end": 589, "ctxt": 0 }, "value": "classType", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 583, "end": 589, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 585, "end": 589, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 585, "end": 589, "ctxt": 0 }, "value": "Type", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 599, "end": 612, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 599, "end": 612, "ctxt": 0 }, "value": "fnc", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 602, "end": 612, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 604, "end": 612, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 604, "end": 612, "ctxt": 0 }, "value": "FuncDecl", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 464, "end": 820, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 614, "end": 820, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 625, "end": 685, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 629, "end": 684, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 629, "end": 634, "ctxt": 0 }, "value": "chain", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 637, "end": 684, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 641, "end": 651, "ctxt": 0 }, "value": "ScopeChain", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 652, "end": 656, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 658, "end": 676, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 658, "end": 665, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 666, "end": 676, "ctxt": 0 }, "value": "scopeChain", "optional": false } } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 678, "end": 683, "ctxt": 0 }, "value": "scope", "optional": false } } ], "typeArguments": null }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 694, "end": 716, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 694, "end": 715, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 694, "end": 708, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 694, "end": 699, "ctxt": 0 }, "value": "chain", "optional": false }, "property": { "type": "Identifier", "span": { "start": 700, "end": 708, "ctxt": 0 }, "value": "thisType", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 711, "end": 715, "ctxt": 0 }, "value": "type", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 725, "end": 753, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 725, "end": 752, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 725, "end": 740, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 725, "end": 730, "ctxt": 0 }, "value": "chain", "optional": false }, "property": { "type": "Identifier", "span": { "start": 731, "end": 740, "ctxt": 0 }, "value": "classType", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 743, "end": 752, "ctxt": 0 }, "value": "classType", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 762, "end": 778, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 762, "end": 777, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 762, "end": 771, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 762, "end": 767, "ctxt": 0 }, "value": "chain", "optional": false }, "property": { "type": "Identifier", "span": { "start": 768, "end": 771, "ctxt": 0 }, "value": "fnc", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 774, "end": 777, "ctxt": 0 }, "value": "fnc", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 787, "end": 814, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 787, "end": 813, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 787, "end": 805, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 787, "end": 794, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 795, "end": 805, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 808, "end": 813, "ctxt": 0 }, "value": "chain", "optional": false } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 826, "end": 951, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 842, "end": 856, "ctxt": 0 }, "value": "popAssignScope", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 857, "end": 884, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 857, "end": 884, "ctxt": 0 }, "value": "context", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 864, "end": 884, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 866, "end": 884, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 866, "end": 884, "ctxt": 0 }, "value": "AssignScopeContext", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 833, "end": 951, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 886, "end": 951, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 896, "end": 945, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 896, "end": 944, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 896, "end": 914, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 896, "end": 903, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 904, "end": 914, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 917, "end": 944, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 917, "end": 935, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 917, "end": 924, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 925, "end": 935, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 936, "end": 944, "ctxt": 0 }, "value": "previous", "optional": false } } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 957, "end": 1155, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 973, "end": 988, "ctxt": 0 }, "value": "instanceCompare", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 989, "end": 998, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 989, "end": 998, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 990, "end": 998, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 992, "end": 998, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 992, "end": 998, "ctxt": 0 }, "value": "Symbol", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 1000, "end": 1009, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1000, "end": 1009, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1001, "end": 1009, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1003, "end": 1009, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1003, "end": 1009, "ctxt": 0 }, "value": "Symbol", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 964, "end": 1155, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1011, "end": 1155, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 1021, "end": 1149, "ctxt": 0 }, "test": { "type": "ParenthesisExpression", "span": { "start": 1025, "end": 1067, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 1026, "end": 1066, "ctxt": 0 }, "operator": "||", "left": { "type": "ParenthesisExpression", "span": { "start": 1026, "end": 1037, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 1027, "end": 1036, "ctxt": 0 }, "operator": "==", "left": { "type": "Identifier", "span": { "start": 1027, "end": 1028, "ctxt": 0 }, "value": "a", "optional": false }, "right": { "type": "NullLiteral", "span": { "start": 1032, "end": 1036, "ctxt": 0 } } } }, "right": { "type": "ParenthesisExpression", "span": { "start": 1041, "end": 1066, "ctxt": 0 }, "expression": { "type": "UnaryExpression", "span": { "start": 1042, "end": 1065, "ctxt": 0 }, "operator": "!", "argument": { "type": "CallExpression", "span": { "start": 1043, "end": 1065, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 1043, "end": 1063, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1043, "end": 1044, "ctxt": 0 }, "value": "a", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1045, "end": 1063, "ctxt": 0 }, "value": "isInstanceProperty", "optional": false } }, "arguments": [], "typeArguments": null } } } } }, "consequent": { "type": "BlockStatement", "span": { "start": 1069, "end": 1102, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 1083, "end": 1092, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 1090, "end": 1091, "ctxt": 0 }, "value": "b", "optional": false } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 1116, "end": 1149, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 1130, "end": 1139, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 1137, "end": 1138, "ctxt": 0 }, "value": "a", "optional": false } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 1161, "end": 1253, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1177, "end": 1195, "ctxt": 0 }, "value": "instanceFilterStop", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 1196, "end": 1205, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1196, "end": 1205, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1197, "end": 1205, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1199, "end": 1205, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1199, "end": 1205, "ctxt": 0 }, "value": "Symbol", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 1168, "end": 1253, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1207, "end": 1253, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 1217, "end": 1247, "ctxt": 0 }, "argument": { "type": "CallExpression", "span": { "start": 1224, "end": 1246, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 1224, "end": 1244, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1224, "end": 1225, "ctxt": 0 }, "value": "s", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1226, "end": 1244, "ctxt": 0 }, "value": "isInstanceProperty", "optional": false } }, "arguments": [], "typeArguments": null } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 1259, "end": 1807, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1272, "end": 1289, "ctxt": 0 }, "value": "ScopeSearchFilter", "optional": false }, "declare": false, "span": { "start": 1266, "end": 1807, "ctxt": 0 }, "decorators": [], "body": [ { "type": "Constructor", "span": { "start": 1301, "end": 1429, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1301, "end": 1312, "ctxt": 0 }, "value": "constructor", "optional": false }, "params": [ { "type": "TsParameterProperty", "span": { "start": 1314, "end": 1360, "ctxt": 0 }, "decorators": [], "accessibility": "public", "override": false, "readonly": false, "param": { "type": "Identifier", "span": { "start": 1321, "end": 1360, "ctxt": 0 }, "value": "select", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1327, "end": 1360, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1329, "end": 1360, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1330, "end": 1339, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1331, "end": 1339, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1333, "end": 1339, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1333, "end": 1339, "ctxt": 0 }, "value": "Symbol", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1341, "end": 1350, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1342, "end": 1350, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1344, "end": 1350, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1344, "end": 1350, "ctxt": 0 }, "value": "Symbol", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1352, "end": 1360, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1354, "end": 1360, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1354, "end": 1360, "ctxt": 0 }, "value": "Symbol", "optional": false }, "typeParams": null } } } } } }, { "type": "TsParameterProperty", "span": { "start": 1390, "end": 1424, "ctxt": 0 }, "decorators": [], "accessibility": "public", "override": false, "readonly": false, "param": { "type": "Identifier", "span": { "start": 1397, "end": 1424, "ctxt": 0 }, "value": "stop", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1401, "end": 1424, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1403, "end": 1424, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1404, "end": 1413, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1405, "end": 1413, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1407, "end": 1413, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1407, "end": 1413, "ctxt": 0 }, "value": "Symbol", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1415, "end": 1424, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1417, "end": 1424, "ctxt": 0 }, "kind": "boolean" } } } } } } ], "body": { "type": "BlockStatement", "span": { "start": 1426, "end": 1429, "ctxt": 0 }, "stmts": [] }, "accessibility": null, "isOptional": false }, { "type": "ClassProperty", "span": { "start": 1439, "end": 1468, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1446, "end": 1452, "ctxt": 0 }, "value": "result", "optional": false }, "value": { "type": "NullLiteral", "span": { "start": 1463, "end": 1467, "ctxt": 0 } }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1452, "end": 1460, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1454, "end": 1460, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1454, "end": 1460, "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": 1478, "end": 1536, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1485, "end": 1490, "ctxt": 0 }, "value": "reset", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 1478, "end": 1536, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1493, "end": 1536, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 1507, "end": 1526, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1507, "end": 1525, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1507, "end": 1518, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1507, "end": 1511, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1512, "end": 1518, "ctxt": 0 }, "value": "result", "optional": false } }, "right": { "type": "NullLiteral", "span": { "start": 1521, "end": 1525, "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": 1546, "end": 1801, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1553, "end": 1559, "ctxt": 0 }, "value": "update", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 1560, "end": 1569, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1560, "end": 1569, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1561, "end": 1569, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1563, "end": 1569, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1563, "end": 1569, "ctxt": 0 }, "value": "Symbol", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 1546, "end": 1801, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1580, "end": 1801, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 1594, "end": 1636, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1594, "end": 1635, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1594, "end": 1605, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1594, "end": 1598, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1599, "end": 1605, "ctxt": 0 }, "value": "result", "optional": false } }, "right": { "type": "CallExpression", "span": { "start": 1608, "end": 1635, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 1608, "end": 1619, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1608, "end": 1612, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1613, "end": 1619, "ctxt": 0 }, "value": "select", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 1620, "end": 1631, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1620, "end": 1624, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1625, "end": 1631, "ctxt": 0 }, "value": "result", "optional": false } } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1633, "end": 1634, "ctxt": 0 }, "value": "b", "optional": false } } ], "typeArguments": null } } }, { "type": "IfStatement", "span": { "start": 1649, "end": 1791, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 1653, "end": 1664, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1653, "end": 1657, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1658, "end": 1664, "ctxt": 0 }, "value": "result", "optional": false } }, "consequent": { "type": "BlockStatement", "span": { "start": 1666, "end": 1728, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 1684, "end": 1714, "ctxt": 0 }, "argument": { "type": "CallExpression", "span": { "start": 1691, "end": 1713, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 1691, "end": 1700, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1691, "end": 1695, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1696, "end": 1700, "ctxt": 0 }, "value": "stop", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 1701, "end": 1712, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1701, "end": 1705, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1706, "end": 1712, "ctxt": 0 }, "value": "result", "optional": false } } } ], "typeArguments": null } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 1746, "end": 1791, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 1764, "end": 1777, "ctxt": 0 }, "argument": { "type": "BooleanLiteral", "span": { "start": 1771, "end": 1776, "ctxt": 0 }, "value": false } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 1570, "end": 1579, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1572, "end": 1579, "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": 1813, "end": 1900, "ctxt": 0 }, "declaration": { "type": "VariableDeclaration", "span": { "start": 1820, "end": 1900, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1824, "end": 1899, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1824, "end": 1838, "ctxt": 0 }, "value": "instanceFilter", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 1841, "end": 1899, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1845, "end": 1862, "ctxt": 0 }, "value": "ScopeSearchFilter", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1863, "end": 1878, "ctxt": 0 }, "value": "instanceCompare", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1880, "end": 1898, "ctxt": 0 }, "value": "instanceFilterStop", "optional": false } } ], "typeArguments": null }, "definite": false } ] } }, { "type": "ExportDeclaration", "span": { "start": 1906, "end": 3112, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1922, "end": 1943, "ctxt": 0 }, "value": "preAssignModuleScopes", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 1944, "end": 1952, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1944, "end": 1952, "ctxt": 0 }, "value": "ast", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1947, "end": 1952, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1949, "end": 1952, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1949, "end": 1952, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 1954, "end": 1981, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1954, "end": 1981, "ctxt": 0 }, "value": "context", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1961, "end": 1981, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1963, "end": 1981, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1963, "end": 1981, "ctxt": 0 }, "value": "AssignScopeContext", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 1913, "end": 3112, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1983, "end": 3112, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 1993, "end": 2033, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1997, "end": 2032, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1997, "end": 2007, "ctxt": 0 }, "value": "moduleDecl", "optional": false, "typeAnnotation": null }, "init": { "type": "TsTypeAssertion", "span": { "start": 2010, "end": 2032, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 2029, "end": 2032, "ctxt": 0 }, "value": "ast", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2011, "end": 2028, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2011, "end": 2028, "ctxt": 0 }, "value": "ModuleDeclaration", "optional": false }, "typeParams": null } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2042, "end": 2083, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2046, "end": 2082, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2046, "end": 2057, "ctxt": 0 }, "value": "memberScope", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2057, "end": 2075, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2059, "end": 2075, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2059, "end": 2075, "ctxt": 0 }, "value": "SymbolTableScope", "optional": false }, "typeParams": null } } }, "init": { "type": "NullLiteral", "span": { "start": 2078, "end": 2082, "ctxt": 0 } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2092, "end": 2134, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2096, "end": 2133, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2096, "end": 2104, "ctxt": 0 }, "value": "aggScope", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2104, "end": 2126, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2106, "end": 2126, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2106, "end": 2126, "ctxt": 0 }, "value": "SymbolAggregateScope", "optional": false }, "typeParams": null } } }, "init": { "type": "NullLiteral", "span": { "start": 2129, "end": 2133, "ctxt": 0 } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 2144, "end": 2251, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 2148, "end": 2181, "ctxt": 0 }, "operator": "&&", "left": { "type": "MemberExpression", "span": { "start": 2148, "end": 2163, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2148, "end": 2158, "ctxt": 0 }, "value": "moduleDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2159, "end": 2163, "ctxt": 0 }, "value": "name", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2167, "end": 2181, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2167, "end": 2177, "ctxt": 0 }, "value": "moduleDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2178, "end": 2181, "ctxt": 0 }, "value": "mod", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 2183, "end": 2251, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 2197, "end": 2241, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2197, "end": 2240, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2197, "end": 2216, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 2197, "end": 2212, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2197, "end": 2207, "ctxt": 0 }, "value": "moduleDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2208, "end": 2212, "ctxt": 0 }, "value": "name", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 2213, "end": 2216, "ctxt": 0 }, "value": "sym", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2219, "end": 2240, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 2219, "end": 2233, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2219, "end": 2229, "ctxt": 0 }, "value": "moduleDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2230, "end": 2233, "ctxt": 0 }, "value": "mod", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 2234, "end": 2240, "ctxt": 0 }, "value": "symbol", "optional": false } } } } ] }, "alternate": null }, { "type": "VariableDeclaration", "span": { "start": 2261, "end": 2286, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2265, "end": 2285, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2265, "end": 2268, "ctxt": 0 }, "value": "mod", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 2271, "end": 2285, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2271, "end": 2281, "ctxt": 0 }, "value": "moduleDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2282, "end": 2285, "ctxt": 0 }, "value": "mod", "optional": false } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 2351, "end": 2392, "ctxt": 0 }, "test": { "type": "UnaryExpression", "span": { "start": 2355, "end": 2359, "ctxt": 0 }, "operator": "!", "argument": { "type": "Identifier", "span": { "start": 2356, "end": 2359, "ctxt": 0 }, "value": "mod", "optional": false } }, "consequent": { "type": "BlockStatement", "span": { "start": 2361, "end": 2392, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 2375, "end": 2382, "ctxt": 0 }, "argument": null } ] }, "alternate": null }, { "type": "ExpressionStatement", "span": { "start": 2402, "end": 2527, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2402, "end": 2526, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2402, "end": 2413, "ctxt": 0 }, "value": "memberScope", "optional": false, "typeAnnotation": null }, "right": { "type": "NewExpression", "span": { "start": 2416, "end": 2526, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 2420, "end": 2436, "ctxt": 0 }, "value": "SymbolTableScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 2437, "end": 2448, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2437, "end": 2440, "ctxt": 0 }, "value": "mod", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2441, "end": 2448, "ctxt": 0 }, "value": "members", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 2450, "end": 2468, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2450, "end": 2453, "ctxt": 0 }, "value": "mod", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2454, "end": 2468, "ctxt": 0 }, "value": "ambientMembers", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 2470, "end": 2487, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2470, "end": 2473, "ctxt": 0 }, "value": "mod", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2474, "end": 2487, "ctxt": 0 }, "value": "enclosedTypes", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 2489, "end": 2513, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2489, "end": 2492, "ctxt": 0 }, "value": "mod", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2493, "end": 2513, "ctxt": 0 }, "value": "ambientEnclosedTypes", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 2515, "end": 2525, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2515, "end": 2518, "ctxt": 0 }, "value": "mod", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2519, "end": 2525, "ctxt": 0 }, "value": "symbol", "optional": false } } } ], "typeArguments": null } } }, { "type": "ExpressionStatement", "span": { "start": 2536, "end": 2566, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2536, "end": 2565, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2536, "end": 2551, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2536, "end": 2539, "ctxt": 0 }, "value": "mod", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2540, "end": 2551, "ctxt": 0 }, "value": "memberScope", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 2554, "end": 2565, "ctxt": 0 }, "value": "memberScope", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2575, "end": 2613, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 2575, "end": 2612, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 2575, "end": 2600, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 2575, "end": 2595, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2575, "end": 2582, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2583, "end": 2595, "ctxt": 0 }, "value": "modDeclChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 2596, "end": 2600, "ctxt": 0 }, "value": "push", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2601, "end": 2611, "ctxt": 0 }, "value": "moduleDecl", "optional": false } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 2622, "end": 2675, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2622, "end": 2674, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2622, "end": 2661, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 2622, "end": 2646, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 2622, "end": 2638, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2622, "end": 2629, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2630, "end": 2638, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 2639, "end": 2646, "ctxt": 0 }, "value": "checker", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 2647, "end": 2661, "ctxt": 0 }, "value": "currentModDecl", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 2664, "end": 2674, "ctxt": 0 }, "value": "moduleDecl", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2684, "end": 2732, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2684, "end": 2731, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2684, "end": 2692, "ctxt": 0 }, "value": "aggScope", "optional": false, "typeAnnotation": null }, "right": { "type": "NewExpression", "span": { "start": 2695, "end": 2731, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 2699, "end": 2719, "ctxt": 0 }, "value": "SymbolAggregateScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 2720, "end": 2730, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2720, "end": 2723, "ctxt": 0 }, "value": "mod", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2724, "end": 2730, "ctxt": 0 }, "value": "symbol", "optional": false } } } ], "typeArguments": null } } }, { "type": "ExpressionStatement", "span": { "start": 2741, "end": 2778, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 2741, "end": 2777, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 2741, "end": 2764, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2741, "end": 2749, "ctxt": 0 }, "value": "aggScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2750, "end": 2764, "ctxt": 0 }, "value": "addParentScope", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2765, "end": 2776, "ctxt": 0 }, "value": "memberScope", "optional": false } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 2787, "end": 2837, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 2787, "end": 2836, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 2787, "end": 2810, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2787, "end": 2795, "ctxt": 0 }, "value": "aggScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2796, "end": 2810, "ctxt": 0 }, "value": "addParentScope", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 2811, "end": 2835, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 2811, "end": 2829, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2811, "end": 2818, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2819, "end": 2829, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 2830, "end": 2835, "ctxt": 0 }, "value": "scope", "optional": false } } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 2846, "end": 2899, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 2846, "end": 2898, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 2846, "end": 2861, "ctxt": 0 }, "value": "pushAssignScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2862, "end": 2870, "ctxt": 0 }, "value": "aggScope", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2872, "end": 2879, "ctxt": 0 }, "value": "context", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 2881, "end": 2885, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 2887, "end": 2891, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 2893, "end": 2897, "ctxt": 0 } } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 2908, "end": 2938, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2908, "end": 2937, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2908, "end": 2926, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2908, "end": 2911, "ctxt": 0 }, "value": "mod", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2912, "end": 2926, "ctxt": 0 }, "value": "containedScope", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 2929, "end": 2937, "ctxt": 0 }, "value": "aggScope", "optional": false } } }, { "type": "IfStatement", "span": { "start": 2947, "end": 3106, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 2951, "end": 2961, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2951, "end": 2954, "ctxt": 0 }, "value": "mod", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2955, "end": 2961, "ctxt": 0 }, "value": "symbol", "optional": false } }, "consequent": { "type": "BlockStatement", "span": { "start": 2963, "end": 3106, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 2977, "end": 3096, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 2977, "end": 3095, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 2977, "end": 3012, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 2977, "end": 2993, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2977, "end": 2984, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2985, "end": 2993, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 2994, "end": 3012, "ctxt": 0 }, "value": "addLocalsFromScope", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 3013, "end": 3031, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3013, "end": 3016, "ctxt": 0 }, "value": "mod", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3017, "end": 3031, "ctxt": 0 }, "value": "containedScope", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 3033, "end": 3043, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3033, "end": 3036, "ctxt": 0 }, "value": "mod", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3037, "end": 3043, "ctxt": 0 }, "value": "symbol", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 3045, "end": 3060, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3045, "end": 3055, "ctxt": 0 }, "value": "moduleDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3056, "end": 3060, "ctxt": 0 }, "value": "vars", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 3062, "end": 3088, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 3062, "end": 3073, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3062, "end": 3065, "ctxt": 0 }, "value": "mod", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3066, "end": 3073, "ctxt": 0 }, "value": "members", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 3074, "end": 3088, "ctxt": 0 }, "value": "privateMembers", "optional": false } } }, { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 3090, "end": 3094, "ctxt": 0 }, "value": true } } ], "typeArguments": null } } ] }, "alternate": null } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 3118, "end": 4493, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 3134, "end": 3154, "ctxt": 0 }, "value": "preAssignClassScopes", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 3155, "end": 3163, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 3155, "end": 3163, "ctxt": 0 }, "value": "ast", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3158, "end": 3163, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3160, "end": 3163, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3160, "end": 3163, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 3165, "end": 3192, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 3165, "end": 3192, "ctxt": 0 }, "value": "context", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3172, "end": 3192, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3174, "end": 3192, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3174, "end": 3192, "ctxt": 0 }, "value": "AssignScopeContext", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 3125, "end": 4493, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 3194, "end": 4493, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 3204, "end": 3246, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3208, "end": 3245, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3208, "end": 3217, "ctxt": 0 }, "value": "classDecl", "optional": false, "typeAnnotation": null }, "init": { "type": "TsTypeAssertion", "span": { "start": 3220, "end": 3245, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 3242, "end": 3245, "ctxt": 0 }, "value": "ast", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3221, "end": 3241, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3221, "end": 3241, "ctxt": 0 }, "value": "InterfaceDeclaration", "optional": false }, "typeParams": null } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3255, "end": 3296, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3259, "end": 3295, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3259, "end": 3270, "ctxt": 0 }, "value": "memberScope", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3270, "end": 3288, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3272, "end": 3288, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3272, "end": 3288, "ctxt": 0 }, "value": "SymbolTableScope", "optional": false }, "typeParams": null } } }, "init": { "type": "NullLiteral", "span": { "start": 3291, "end": 3295, "ctxt": 0 } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3305, "end": 3347, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3309, "end": 3346, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3309, "end": 3317, "ctxt": 0 }, "value": "aggScope", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3317, "end": 3339, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3319, "end": 3339, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3319, "end": 3339, "ctxt": 0 }, "value": "SymbolAggregateScope", "optional": false }, "typeParams": null } } }, "init": { "type": "NullLiteral", "span": { "start": 3342, "end": 3346, "ctxt": 0 } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 3357, "end": 3462, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 3361, "end": 3393, "ctxt": 0 }, "operator": "&&", "left": { "type": "MemberExpression", "span": { "start": 3361, "end": 3375, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3361, "end": 3370, "ctxt": 0 }, "value": "classDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3371, "end": 3375, "ctxt": 0 }, "value": "name", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 3379, "end": 3393, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3379, "end": 3388, "ctxt": 0 }, "value": "classDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3389, "end": 3393, "ctxt": 0 }, "value": "type", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 3395, "end": 3462, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 3409, "end": 3452, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3409, "end": 3451, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3409, "end": 3427, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 3409, "end": 3423, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3409, "end": 3418, "ctxt": 0 }, "value": "classDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3419, "end": 3423, "ctxt": 0 }, "value": "name", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 3424, "end": 3427, "ctxt": 0 }, "value": "sym", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 3430, "end": 3451, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 3430, "end": 3444, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3430, "end": 3439, "ctxt": 0 }, "value": "classDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3440, "end": 3444, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 3445, "end": 3451, "ctxt": 0 }, "value": "symbol", "optional": false } } } } ] }, "alternate": null }, { "type": "VariableDeclaration", "span": { "start": 3472, "end": 3497, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3476, "end": 3496, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3476, "end": 3485, "ctxt": 0 }, "value": "classType", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 3488, "end": 3496, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3488, "end": 3491, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3492, "end": 3496, "ctxt": 0 }, "value": "type", "optional": false } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 3507, "end": 4487, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 3511, "end": 3520, "ctxt": 0 }, "value": "classType", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 3522, "end": 4413, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 3536, "end": 3568, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3540, "end": 3567, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3540, "end": 3548, "ctxt": 0 }, "value": "classSym", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 3551, "end": 3567, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3551, "end": 3560, "ctxt": 0 }, "value": "classType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3561, "end": 3567, "ctxt": 0 }, "value": "symbol", "optional": false } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 3581, "end": 3657, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3581, "end": 3656, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 3581, "end": 3592, "ctxt": 0 }, "value": "memberScope", "optional": false, "typeAnnotation": null }, "right": { "type": "TsTypeAssertion", "span": { "start": 3595, "end": 3656, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 3613, "end": 3656, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 3613, "end": 3645, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 3613, "end": 3637, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 3613, "end": 3629, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3613, "end": 3620, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3621, "end": 3629, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 3630, "end": 3637, "ctxt": 0 }, "value": "checker", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 3638, "end": 3645, "ctxt": 0 }, "value": "scopeOf", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3646, "end": 3655, "ctxt": 0 }, "value": "classType", "optional": false } } ], "typeArguments": null }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3596, "end": 3612, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3596, "end": 3612, "ctxt": 0 }, "value": "SymbolTableScope", "optional": false }, "typeParams": null } } } }, { "type": "ExpressionStatement", "span": { "start": 3671, "end": 3725, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3671, "end": 3724, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 3671, "end": 3679, "ctxt": 0 }, "value": "aggScope", "optional": false, "typeAnnotation": null }, "right": { "type": "NewExpression", "span": { "start": 3682, "end": 3724, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 3686, "end": 3706, "ctxt": 0 }, "value": "SymbolAggregateScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 3707, "end": 3723, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3707, "end": 3716, "ctxt": 0 }, "value": "classType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3717, "end": 3723, "ctxt": 0 }, "value": "symbol", "optional": false } } } ], "typeArguments": null } } }, { "type": "ExpressionStatement", "span": { "start": 3738, "end": 3775, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 3738, "end": 3774, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 3738, "end": 3761, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3738, "end": 3746, "ctxt": 0 }, "value": "aggScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3747, "end": 3761, "ctxt": 0 }, "value": "addParentScope", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3762, "end": 3773, "ctxt": 0 }, "value": "memberScope", "optional": false } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 3788, "end": 3838, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 3788, "end": 3837, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 3788, "end": 3811, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3788, "end": 3796, "ctxt": 0 }, "value": "aggScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3797, "end": 3811, "ctxt": 0 }, "value": "addParentScope", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 3812, "end": 3836, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 3812, "end": 3830, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3812, "end": 3819, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3820, "end": 3830, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 3831, "end": 3836, "ctxt": 0 }, "value": "scope", "optional": false } } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 3852, "end": 3888, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3852, "end": 3887, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3852, "end": 3876, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3852, "end": 3861, "ctxt": 0 }, "value": "classType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3862, "end": 3876, "ctxt": 0 }, "value": "containedScope", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 3879, "end": 3887, "ctxt": 0 }, "value": "aggScope", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 3901, "end": 3937, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3901, "end": 3936, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3901, "end": 3922, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3901, "end": 3910, "ctxt": 0 }, "value": "classType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3911, "end": 3922, "ctxt": 0 }, "value": "memberScope", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 3925, "end": 3936, "ctxt": 0 }, "value": "memberScope", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 3951, "end": 3993, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3955, "end": 3992, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3955, "end": 3967, "ctxt": 0 }, "value": "instanceType", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 3970, "end": 3992, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3970, "end": 3979, "ctxt": 0 }, "value": "classType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3980, "end": 3992, "ctxt": 0 }, "value": "instanceType", "optional": false } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 4006, "end": 4085, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 4006, "end": 4084, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 4006, "end": 4017, "ctxt": 0 }, "value": "memberScope", "optional": false, "typeAnnotation": null }, "right": { "type": "TsTypeAssertion", "span": { "start": 4020, "end": 4084, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 4038, "end": 4084, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 4038, "end": 4070, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 4038, "end": 4062, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 4038, "end": 4054, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4038, "end": 4045, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4046, "end": 4054, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 4055, "end": 4062, "ctxt": 0 }, "value": "checker", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 4063, "end": 4070, "ctxt": 0 }, "value": "scopeOf", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 4071, "end": 4083, "ctxt": 0 }, "value": "instanceType", "optional": false } } ], "typeArguments": null }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4021, "end": 4037, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4021, "end": 4037, "ctxt": 0 }, "value": "SymbolTableScope", "optional": false }, "typeParams": null } } } }, { "type": "ExpressionStatement", "span": { "start": 4098, "end": 4137, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 4098, "end": 4136, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 4098, "end": 4122, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4098, "end": 4110, "ctxt": 0 }, "value": "instanceType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4111, "end": 4122, "ctxt": 0 }, "value": "memberScope", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 4125, "end": 4136, "ctxt": 0 }, "value": "memberScope", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 4151, "end": 4208, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 4151, "end": 4207, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 4151, "end": 4159, "ctxt": 0 }, "value": "aggScope", "optional": false, "typeAnnotation": null }, "right": { "type": "NewExpression", "span": { "start": 4162, "end": 4207, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 4166, "end": 4186, "ctxt": 0 }, "value": "SymbolAggregateScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 4187, "end": 4206, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4187, "end": 4199, "ctxt": 0 }, "value": "instanceType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4200, "end": 4206, "ctxt": 0 }, "value": "symbol", "optional": false } } } ], "typeArguments": null } } }, { "type": "ExpressionStatement", "span": { "start": 4221, "end": 4271, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 4221, "end": 4270, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 4221, "end": 4244, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4221, "end": 4229, "ctxt": 0 }, "value": "aggScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4230, "end": 4244, "ctxt": 0 }, "value": "addParentScope", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 4245, "end": 4269, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 4245, "end": 4263, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4245, "end": 4252, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4253, "end": 4263, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 4264, "end": 4269, "ctxt": 0 }, "value": "scope", "optional": false } } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 4285, "end": 4351, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 4285, "end": 4350, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 4285, "end": 4300, "ctxt": 0 }, "value": "pushAssignScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 4301, "end": 4309, "ctxt": 0 }, "value": "aggScope", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 4311, "end": 4318, "ctxt": 0 }, "value": "context", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 4320, "end": 4332, "ctxt": 0 }, "value": "instanceType", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 4334, "end": 4343, "ctxt": 0 }, "value": "classType", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 4345, "end": 4349, "ctxt": 0 } } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 4364, "end": 4403, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 4364, "end": 4402, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 4364, "end": 4391, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4364, "end": 4376, "ctxt": 0 }, "value": "instanceType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4377, "end": 4391, "ctxt": 0 }, "value": "containedScope", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 4394, "end": 4402, "ctxt": 0 }, "value": "aggScope", "optional": false } } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 4427, "end": 4487, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 4441, "end": 4477, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 4441, "end": 4476, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 4441, "end": 4449, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4441, "end": 4444, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4445, "end": 4449, "ctxt": 0 }, "value": "type", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 4452, "end": 4476, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 4452, "end": 4468, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4452, "end": 4459, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4460, "end": 4468, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 4469, "end": 4476, "ctxt": 0 }, "value": "anyType", "optional": false } } } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 4499, "end": 5333, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 4515, "end": 4539, "ctxt": 0 }, "value": "preAssignInterfaceScopes", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 4540, "end": 4548, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 4540, "end": 4548, "ctxt": 0 }, "value": "ast", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4543, "end": 4548, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4545, "end": 4548, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4545, "end": 4548, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 4550, "end": 4577, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 4550, "end": 4577, "ctxt": 0 }, "value": "context", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4557, "end": 4577, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4559, "end": 4577, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4559, "end": 4577, "ctxt": 0 }, "value": "AssignScopeContext", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 4506, "end": 5333, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 4579, "end": 5333, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 4589, "end": 4635, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4593, "end": 4634, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4593, "end": 4606, "ctxt": 0 }, "value": "interfaceDecl", "optional": false, "typeAnnotation": null }, "init": { "type": "TsTypeAssertion", "span": { "start": 4609, "end": 4634, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 4631, "end": 4634, "ctxt": 0 }, "value": "ast", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4610, "end": 4630, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4610, "end": 4630, "ctxt": 0 }, "value": "InterfaceDeclaration", "optional": false }, "typeParams": null } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 4644, "end": 4685, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4648, "end": 4684, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4648, "end": 4659, "ctxt": 0 }, "value": "memberScope", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4659, "end": 4677, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4661, "end": 4677, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4661, "end": 4677, "ctxt": 0 }, "value": "SymbolTableScope", "optional": false }, "typeParams": null } } }, "init": { "type": "NullLiteral", "span": { "start": 4680, "end": 4684, "ctxt": 0 } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 4694, "end": 4736, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4698, "end": 4735, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4698, "end": 4706, "ctxt": 0 }, "value": "aggScope", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4706, "end": 4728, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4708, "end": 4728, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4708, "end": 4728, "ctxt": 0 }, "value": "SymbolAggregateScope", "optional": false }, "typeParams": null } } }, "init": { "type": "NullLiteral", "span": { "start": 4731, "end": 4735, "ctxt": 0 } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 4746, "end": 4867, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 4750, "end": 4790, "ctxt": 0 }, "operator": "&&", "left": { "type": "MemberExpression", "span": { "start": 4750, "end": 4768, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4750, "end": 4763, "ctxt": 0 }, "value": "interfaceDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4764, "end": 4768, "ctxt": 0 }, "value": "name", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 4772, "end": 4790, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4772, "end": 4785, "ctxt": 0 }, "value": "interfaceDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4786, "end": 4790, "ctxt": 0 }, "value": "type", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 4792, "end": 4867, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 4806, "end": 4857, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 4806, "end": 4856, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 4806, "end": 4828, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 4806, "end": 4824, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4806, "end": 4819, "ctxt": 0 }, "value": "interfaceDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4820, "end": 4824, "ctxt": 0 }, "value": "name", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 4825, "end": 4828, "ctxt": 0 }, "value": "sym", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 4831, "end": 4856, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 4831, "end": 4849, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4831, "end": 4844, "ctxt": 0 }, "value": "interfaceDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4845, "end": 4849, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 4850, "end": 4856, "ctxt": 0 }, "value": "symbol", "optional": false } } } } ] }, "alternate": null }, { "type": "VariableDeclaration", "span": { "start": 4877, "end": 4906, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4881, "end": 4905, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4881, "end": 4894, "ctxt": 0 }, "value": "interfaceType", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 4897, "end": 4905, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4897, "end": 4900, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4901, "end": 4905, "ctxt": 0 }, "value": "type", "optional": false } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 4915, "end": 4995, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 4915, "end": 4994, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 4915, "end": 4926, "ctxt": 0 }, "value": "memberScope", "optional": false, "typeAnnotation": null }, "right": { "type": "TsTypeAssertion", "span": { "start": 4929, "end": 4994, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 4947, "end": 4994, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 4947, "end": 4979, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 4947, "end": 4971, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 4947, "end": 4963, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4947, "end": 4954, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4955, "end": 4963, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 4964, "end": 4971, "ctxt": 0 }, "value": "checker", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 4972, "end": 4979, "ctxt": 0 }, "value": "scopeOf", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 4980, "end": 4993, "ctxt": 0 }, "value": "interfaceType", "optional": false } } ], "typeArguments": null }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4930, "end": 4946, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4930, "end": 4946, "ctxt": 0 }, "value": "SymbolTableScope", "optional": false }, "typeParams": null } } } }, { "type": "ExpressionStatement", "span": { "start": 5004, "end": 5044, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 5004, "end": 5043, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 5004, "end": 5029, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5004, "end": 5017, "ctxt": 0 }, "value": "interfaceType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5018, "end": 5029, "ctxt": 0 }, "value": "memberScope", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 5032, "end": 5043, "ctxt": 0 }, "value": "memberScope", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 5053, "end": 5111, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 5053, "end": 5110, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 5053, "end": 5061, "ctxt": 0 }, "value": "aggScope", "optional": false, "typeAnnotation": null }, "right": { "type": "NewExpression", "span": { "start": 5064, "end": 5110, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 5068, "end": 5088, "ctxt": 0 }, "value": "SymbolAggregateScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 5089, "end": 5109, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5089, "end": 5102, "ctxt": 0 }, "value": "interfaceType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5103, "end": 5109, "ctxt": 0 }, "value": "symbol", "optional": false } } } ], "typeArguments": null } } }, { "type": "ExpressionStatement", "span": { "start": 5120, "end": 5157, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 5120, "end": 5156, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 5120, "end": 5143, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5120, "end": 5128, "ctxt": 0 }, "value": "aggScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5129, "end": 5143, "ctxt": 0 }, "value": "addParentScope", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 5144, "end": 5155, "ctxt": 0 }, "value": "memberScope", "optional": false } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 5166, "end": 5216, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 5166, "end": 5215, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 5166, "end": 5189, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5166, "end": 5174, "ctxt": 0 }, "value": "aggScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5175, "end": 5189, "ctxt": 0 }, "value": "addParentScope", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 5190, "end": 5214, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 5190, "end": 5208, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5190, "end": 5197, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5198, "end": 5208, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 5209, "end": 5214, "ctxt": 0 }, "value": "scope", "optional": false } } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 5225, "end": 5278, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 5225, "end": 5277, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 5225, "end": 5240, "ctxt": 0 }, "value": "pushAssignScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 5241, "end": 5249, "ctxt": 0 }, "value": "aggScope", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 5251, "end": 5258, "ctxt": 0 }, "value": "context", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 5260, "end": 5264, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 5266, "end": 5270, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 5272, "end": 5276, "ctxt": 0 } } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 5287, "end": 5327, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 5287, "end": 5326, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 5287, "end": 5315, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5287, "end": 5300, "ctxt": 0 }, "value": "interfaceType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5301, "end": 5315, "ctxt": 0 }, "value": "containedScope", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 5318, "end": 5326, "ctxt": 0 }, "value": "aggScope", "optional": false } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 5339, "end": 6354, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 5355, "end": 5374, "ctxt": 0 }, "value": "preAssignWithScopes", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 5375, "end": 5383, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 5375, "end": 5383, "ctxt": 0 }, "value": "ast", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5378, "end": 5383, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 5380, "end": 5383, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 5380, "end": 5383, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 5385, "end": 5412, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 5385, "end": 5412, "ctxt": 0 }, "value": "context", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5392, "end": 5412, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 5394, "end": 5412, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 5394, "end": 5412, "ctxt": 0 }, "value": "AssignScopeContext", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 5346, "end": 6354, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 5414, "end": 6354, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 5424, "end": 5458, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 5428, "end": 5457, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5428, "end": 5436, "ctxt": 0 }, "value": "withStmt", "optional": false, "typeAnnotation": null }, "init": { "type": "TsTypeAssertion", "span": { "start": 5439, "end": 5457, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 5454, "end": 5457, "ctxt": 0 }, "value": "ast", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 5440, "end": 5453, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 5440, "end": 5453, "ctxt": 0 }, "value": "WithStatement", "optional": false }, "typeParams": null } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 5467, "end": 5496, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 5471, "end": 5495, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5471, "end": 5479, "ctxt": 0 }, "value": "withType", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 5482, "end": 5495, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5482, "end": 5490, "ctxt": 0 }, "value": "withStmt", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5491, "end": 5495, "ctxt": 0 }, "value": "type", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 5506, "end": 5609, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 5510, "end": 5608, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5510, "end": 5517, "ctxt": 0 }, "value": "members", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 5520, "end": 5608, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 5524, "end": 5537, "ctxt": 0 }, "value": "ScopedMembers", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 5538, "end": 5607, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 5542, "end": 5561, "ctxt": 0 }, "value": "DualStringHashTable", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 5562, "end": 5583, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 5566, "end": 5581, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null } }, { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 5585, "end": 5606, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 5589, "end": 5604, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null } } ], "typeArguments": null } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 5618, "end": 5728, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 5622, "end": 5727, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5622, "end": 5636, "ctxt": 0 }, "value": "ambientMembers", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 5639, "end": 5727, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 5643, "end": 5656, "ctxt": 0 }, "value": "ScopedMembers", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 5657, "end": 5726, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 5661, "end": 5680, "ctxt": 0 }, "value": "DualStringHashTable", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 5681, "end": 5702, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 5685, "end": 5700, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null } }, { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 5704, "end": 5725, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 5708, "end": 5723, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null } } ], "typeArguments": null } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 5738, "end": 5764, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 5742, "end": 5763, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5742, "end": 5750, "ctxt": 0 }, "value": "withType", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 5753, "end": 5763, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 5757, "end": 5761, "ctxt": 0 }, "value": "Type", "optional": false }, "arguments": [], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 5773, "end": 5882, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 5777, "end": 5881, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5777, "end": 5787, "ctxt": 0 }, "value": "withSymbol", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 5790, "end": 5881, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 5794, "end": 5804, "ctxt": 0 }, "value": "WithSymbol", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 5805, "end": 5821, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5805, "end": 5813, "ctxt": 0 }, "value": "withStmt", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5814, "end": 5821, "ctxt": 0 }, "value": "minChar", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 5823, "end": 5870, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 5823, "end": 5860, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 5823, "end": 5847, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 5823, "end": 5839, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5823, "end": 5830, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5831, "end": 5839, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 5840, "end": 5847, "ctxt": 0 }, "value": "checker", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 5848, "end": 5860, "ctxt": 0 }, "value": "locationInfo", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 5861, "end": 5870, "ctxt": 0 }, "value": "unitIndex", "optional": false } } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 5872, "end": 5880, "ctxt": 0 }, "value": "withType", "optional": false } } ], "typeArguments": null }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 5891, "end": 5918, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 5891, "end": 5917, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 5891, "end": 5907, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5891, "end": 5899, "ctxt": 0 }, "value": "withType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5900, "end": 5907, "ctxt": 0 }, "value": "members", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 5910, "end": 5917, "ctxt": 0 }, "value": "members", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 5927, "end": 5968, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 5927, "end": 5967, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 5927, "end": 5950, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5927, "end": 5935, "ctxt": 0 }, "value": "withType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5936, "end": 5950, "ctxt": 0 }, "value": "ambientMembers", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 5953, "end": 5967, "ctxt": 0 }, "value": "ambientMembers", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 5977, "end": 6006, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 5977, "end": 6005, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 5977, "end": 5992, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5977, "end": 5985, "ctxt": 0 }, "value": "withType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5986, "end": 5992, "ctxt": 0 }, "value": "symbol", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 5995, "end": 6005, "ctxt": 0 }, "value": "withSymbol", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 6015, "end": 6047, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 6015, "end": 6046, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 6015, "end": 6044, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6015, "end": 6023, "ctxt": 0 }, "value": "withType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6024, "end": 6044, "ctxt": 0 }, "value": "setHasImplementation", "optional": false } }, "arguments": [], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 6056, "end": 6081, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 6056, "end": 6080, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 6056, "end": 6069, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6056, "end": 6064, "ctxt": 0 }, "value": "withStmt", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6065, "end": 6069, "ctxt": 0 }, "value": "type", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 6072, "end": 6080, "ctxt": 0 }, "value": "withType", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 6091, "end": 6239, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 6095, "end": 6238, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 6095, "end": 6104, "ctxt": 0 }, "value": "withScope", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 6107, "end": 6238, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 6111, "end": 6140, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6111, "end": 6121, "ctxt": 0 }, "value": "TypeScript", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6122, "end": 6140, "ctxt": 0 }, "value": "SymbolScopeBuilder", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 6141, "end": 6157, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6141, "end": 6149, "ctxt": 0 }, "value": "withType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6150, "end": 6157, "ctxt": 0 }, "value": "members", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 6159, "end": 6182, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6159, "end": 6167, "ctxt": 0 }, "value": "withType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6168, "end": 6182, "ctxt": 0 }, "value": "ambientMembers", "optional": false } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 6184, "end": 6188, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 6190, "end": 6194, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 6196, "end": 6220, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 6196, "end": 6214, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6196, "end": 6203, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6204, "end": 6214, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 6215, "end": 6220, "ctxt": 0 }, "value": "scope", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 6222, "end": 6237, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6222, "end": 6230, "ctxt": 0 }, "value": "withType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6231, "end": 6237, "ctxt": 0 }, "value": "symbol", "optional": false } } } ], "typeArguments": null }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 6249, "end": 6303, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 6249, "end": 6302, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 6249, "end": 6264, "ctxt": 0 }, "value": "pushAssignScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 6265, "end": 6274, "ctxt": 0 }, "value": "withScope", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 6276, "end": 6283, "ctxt": 0 }, "value": "context", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 6285, "end": 6289, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 6291, "end": 6295, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 6297, "end": 6301, "ctxt": 0 } } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 6312, "end": 6348, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 6312, "end": 6347, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 6312, "end": 6335, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6312, "end": 6320, "ctxt": 0 }, "value": "withType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6321, "end": 6335, "ctxt": 0 }, "value": "containedScope", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 6338, "end": 6347, "ctxt": 0 }, "value": "withScope", "optional": false } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 6360, "end": 16824, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 6376, "end": 6399, "ctxt": 0 }, "value": "preAssignFuncDeclScopes", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 6400, "end": 6408, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 6400, "end": 6408, "ctxt": 0 }, "value": "ast", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 6403, "end": 6408, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 6405, "end": 6408, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 6405, "end": 6408, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 6410, "end": 6437, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 6410, "end": 6437, "ctxt": 0 }, "value": "context", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 6417, "end": 6437, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 6419, "end": 6437, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 6419, "end": 6437, "ctxt": 0 }, "value": "AssignScopeContext", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 6367, "end": 16824, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 6439, "end": 16824, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 6449, "end": 6478, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 6453, "end": 6477, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 6453, "end": 6461, "ctxt": 0 }, "value": "funcDecl", "optional": false, "typeAnnotation": null }, "init": { "type": "TsTypeAssertion", "span": { "start": 6464, "end": 6477, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 6474, "end": 6477, "ctxt": 0 }, "value": "ast", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 6465, "end": 6473, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 6465, "end": 6473, "ctxt": 0 }, "value": "FuncDecl", "optional": false }, "typeParams": null } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 6488, "end": 6517, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 6492, "end": 6516, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 6492, "end": 6501, "ctxt": 0 }, "value": "container", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 6501, "end": 6509, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 6503, "end": 6509, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 6503, "end": 6509, "ctxt": 0 }, "value": "Symbol", "optional": false }, "typeParams": null } } }, "init": { "type": "NullLiteral", "span": { "start": 6512, "end": 6516, "ctxt": 0 } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 6526, "end": 6560, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 6530, "end": 6559, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 6530, "end": 6544, "ctxt": 0 }, "value": "localContainer", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 6544, "end": 6552, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 6546, "end": 6552, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 6546, "end": 6552, "ctxt": 0 }, "value": "Symbol", "optional": false }, "typeParams": null } } }, "init": { "type": "NullLiteral", "span": { "start": 6555, "end": 6559, "ctxt": 0 } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 6569, "end": 6645, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 6573, "end": 6586, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6573, "end": 6581, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6582, "end": 6586, "ctxt": 0 }, "value": "type", "optional": false } }, "consequent": { "type": "BlockStatement", "span": { "start": 6588, "end": 6645, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 6602, "end": 6635, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 6602, "end": 6634, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 6602, "end": 6616, "ctxt": 0 }, "value": "localContainer", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 6619, "end": 6634, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 6619, "end": 6627, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6619, "end": 6622, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6623, "end": 6627, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 6628, "end": 6634, "ctxt": 0 }, "value": "symbol", "optional": false } } } } ] }, "alternate": null }, { "type": "VariableDeclaration", "span": { "start": 6655, "end": 6714, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 6659, "end": 6713, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 6659, "end": 6667, "ctxt": 0 }, "value": "isStatic", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 6670, "end": 6713, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 6670, "end": 6677, "ctxt": 0 }, "value": "hasFlag", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 6678, "end": 6695, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6678, "end": 6686, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6687, "end": 6695, "ctxt": 0 }, "value": "fncFlags", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 6697, "end": 6712, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6697, "end": 6705, "ctxt": 0 }, "value": "FncFlags", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6706, "end": 6712, "ctxt": 0 }, "value": "Static", "optional": false } } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 6723, "end": 6786, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 6727, "end": 6785, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 6727, "end": 6740, "ctxt": 0 }, "value": "isInnerStatic", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 6743, "end": 6785, "ctxt": 0 }, "operator": "&&", "left": { "type": "Identifier", "span": { "start": 6743, "end": 6751, "ctxt": 0 }, "value": "isStatic", "optional": false }, "right": { "type": "BinaryExpression", "span": { "start": 6755, "end": 6785, "ctxt": 0 }, "operator": "!=", "left": { "type": "MemberExpression", "span": { "start": 6755, "end": 6777, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 6755, "end": 6773, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6755, "end": 6762, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6763, "end": 6773, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 6774, "end": 6777, "ctxt": 0 }, "value": "fnc", "optional": false } }, "right": { "type": "NullLiteral", "span": { "start": 6781, "end": 6785, "ctxt": 0 } } } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 6898, "end": 6999, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 6902, "end": 6998, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 6902, "end": 6913, "ctxt": 0 }, "value": "parentScope", "optional": false, "typeAnnotation": null }, "init": { "type": "ConditionalExpression", "span": { "start": 6916, "end": 6998, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 6916, "end": 6929, "ctxt": 0 }, "value": "isInnerStatic", "optional": false }, "consequent": { "type": "MemberExpression", "span": { "start": 6932, "end": 6971, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 6932, "end": 6959, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 6932, "end": 6954, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 6932, "end": 6950, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6932, "end": 6939, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6940, "end": 6950, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 6951, "end": 6954, "ctxt": 0 }, "value": "fnc", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 6955, "end": 6959, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 6960, "end": 6971, "ctxt": 0 }, "value": "memberScope", "optional": false } }, "alternate": { "type": "MemberExpression", "span": { "start": 6974, "end": 6998, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 6974, "end": 6992, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6974, "end": 6981, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6982, "end": 6992, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 6993, "end": 6998, "ctxt": 0 }, "value": "scope", "optional": false } } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 7335, "end": 9115, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 7339, "end": 7459, "ctxt": 0 }, "operator": "&&", "left": { "type": "MemberExpression", "span": { "start": 7339, "end": 7366, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 7339, "end": 7357, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7339, "end": 7346, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7347, "end": 7357, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 7358, "end": 7366, "ctxt": 0 }, "value": "thisType", "optional": false } }, "right": { "type": "ParenthesisExpression", "span": { "start": 7382, "end": 7459, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 7383, "end": 7458, "ctxt": 0 }, "operator": "||", "left": { "type": "UnaryExpression", "span": { "start": 7383, "end": 7406, "ctxt": 0 }, "operator": "!", "argument": { "type": "MemberExpression", "span": { "start": 7384, "end": 7406, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7384, "end": 7392, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7393, "end": 7406, "ctxt": 0 }, "value": "isConstructor", "optional": false } } }, "right": { "type": "CallExpression", "span": { "start": 7410, "end": 7458, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 7410, "end": 7417, "ctxt": 0 }, "value": "hasFlag", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 7418, "end": 7435, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7418, "end": 7426, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7427, "end": 7435, "ctxt": 0 }, "value": "fncFlags", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 7437, "end": 7457, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7437, "end": 7445, "ctxt": 0 }, "value": "FncFlags", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7446, "end": 7457, "ctxt": 0 }, "value": "ClassMethod", "optional": false } } } ], "typeArguments": null } } } }, "consequent": { "type": "BlockStatement", "span": { "start": 7461, "end": 8871, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 7475, "end": 7518, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 7479, "end": 7517, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 7479, "end": 7487, "ctxt": 0 }, "value": "instType", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 7490, "end": 7517, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 7490, "end": 7508, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7490, "end": 7497, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7498, "end": 7508, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 7509, "end": 7517, "ctxt": 0 }, "value": "thisType", "optional": false } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 7532, "end": 8820, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 7536, "end": 7630, "ctxt": 0 }, "operator": "&&", "left": { "type": "UnaryExpression", "span": { "start": 7536, "end": 7577, "ctxt": 0 }, "operator": "!", "argument": { "type": "ParenthesisExpression", "span": { "start": 7537, "end": 7577, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 7538, "end": 7576, "ctxt": 0 }, "operator": "&", "left": { "type": "MemberExpression", "span": { "start": 7538, "end": 7556, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7538, "end": 7546, "ctxt": 0 }, "value": "instType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7547, "end": 7556, "ctxt": 0 }, "value": "typeFlags", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 7559, "end": 7576, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7559, "end": 7568, "ctxt": 0 }, "value": "TypeFlags", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7569, "end": 7576, "ctxt": 0 }, "value": "IsClass", "optional": false } } } } }, "right": { "type": "UnaryExpression", "span": { "start": 7581, "end": 7630, "ctxt": 0 }, "operator": "!", "argument": { "type": "CallExpression", "span": { "start": 7582, "end": 7630, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 7582, "end": 7589, "ctxt": 0 }, "value": "hasFlag", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 7590, "end": 7607, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7590, "end": 7598, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7599, "end": 7607, "ctxt": 0 }, "value": "fncFlags", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 7609, "end": 7629, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7609, "end": 7617, "ctxt": 0 }, "value": "FncFlags", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7618, "end": 7629, "ctxt": 0 }, "value": "ClassMethod", "optional": false } } } ], "typeArguments": null } } }, "consequent": { "type": "BlockStatement", "span": { "start": 7632, "end": 7947, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 7650, "end": 7933, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 7654, "end": 7686, "ctxt": 0 }, "operator": "||", "left": { "type": "UnaryExpression", "span": { "start": 7654, "end": 7674, "ctxt": 0 }, "operator": "!", "argument": { "type": "CallExpression", "span": { "start": 7655, "end": 7674, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 7655, "end": 7672, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7655, "end": 7663, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7664, "end": 7672, "ctxt": 0 }, "value": "isMethod", "optional": false } }, "arguments": [], "typeArguments": null } }, "right": { "type": "Identifier", "span": { "start": 7678, "end": 7686, "ctxt": 0 }, "value": "isStatic", "optional": false } }, "consequent": { "type": "BlockStatement", "span": { "start": 7688, "end": 7768, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 7710, "end": 7750, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 7710, "end": 7749, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 7710, "end": 7721, "ctxt": 0 }, "value": "parentScope", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 7724, "end": 7749, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7724, "end": 7732, "ctxt": 0 }, "value": "instType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7733, "end": 7749, "ctxt": 0 }, "value": "constructorScope", "optional": false } } } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 7790, "end": 7933, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 7877, "end": 7915, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 7877, "end": 7914, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 7877, "end": 7888, "ctxt": 0 }, "value": "parentScope", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 7891, "end": 7914, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7891, "end": 7899, "ctxt": 0 }, "value": "instType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7900, "end": 7914, "ctxt": 0 }, "value": "containedScope", "optional": false } } } } ] } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 7965, "end": 8820, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 7983, "end": 8806, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 7987, "end": 8311, "ctxt": 0 }, "operator": "&&", "left": { "type": "BinaryExpression", "span": { "start": 7987, "end": 8210, "ctxt": 0 }, "operator": "&&", "left": { "type": "BinaryExpression", "span": { "start": 7987, "end": 8105, "ctxt": 0 }, "operator": "&&", "left": { "type": "MemberExpression", "span": { "start": 7987, "end": 8030, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 7987, "end": 8020, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 7987, "end": 8014, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 7987, "end": 8005, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7987, "end": 7994, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7995, "end": 8005, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8006, "end": 8014, "ctxt": 0 }, "value": "previous", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8015, "end": 8020, "ctxt": 0 }, "value": "scope", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8021, "end": 8030, "ctxt": 0 }, "value": "container", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 8054, "end": 8105, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8054, "end": 8097, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8054, "end": 8087, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8054, "end": 8081, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8054, "end": 8072, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 8054, "end": 8061, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 8062, "end": 8072, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8073, "end": 8081, "ctxt": 0 }, "value": "previous", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8082, "end": 8087, "ctxt": 0 }, "value": "scope", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8088, "end": 8097, "ctxt": 0 }, "value": "container", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8098, "end": 8105, "ctxt": 0 }, "value": "declAST", "optional": false } } }, "right": { "type": "BinaryExpression", "span": { "start": 8129, "end": 8210, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 8129, "end": 8189, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8129, "end": 8180, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8129, "end": 8172, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8129, "end": 8162, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8129, "end": 8156, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8129, "end": 8147, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 8129, "end": 8136, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 8137, "end": 8147, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8148, "end": 8156, "ctxt": 0 }, "value": "previous", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8157, "end": 8162, "ctxt": 0 }, "value": "scope", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8163, "end": 8172, "ctxt": 0 }, "value": "container", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8173, "end": 8180, "ctxt": 0 }, "value": "declAST", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8181, "end": 8189, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 8193, "end": 8210, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 8193, "end": 8201, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 8202, "end": 8210, "ctxt": 0 }, "value": "FuncDecl", "optional": false } } } }, "right": { "type": "MemberExpression", "span": { "start": 8234, "end": 8311, "ctxt": 0 }, "object": { "type": "ParenthesisExpression", "span": { "start": 8234, "end": 8297, "ctxt": 0 }, "expression": { "type": "TsTypeAssertion", "span": { "start": 8235, "end": 8296, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 8245, "end": 8296, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8245, "end": 8288, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8245, "end": 8278, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8245, "end": 8272, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8245, "end": 8263, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 8245, "end": 8252, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 8253, "end": 8263, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8264, "end": 8272, "ctxt": 0 }, "value": "previous", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8273, "end": 8278, "ctxt": 0 }, "value": "scope", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8279, "end": 8288, "ctxt": 0 }, "value": "container", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8289, "end": 8296, "ctxt": 0 }, "value": "declAST", "optional": false } }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 8236, "end": 8244, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 8236, "end": 8244, "ctxt": 0 }, "value": "FuncDecl", "optional": false }, "typeParams": null } } }, "property": { "type": "Identifier", "span": { "start": 8298, "end": 8311, "ctxt": 0 }, "value": "isConstructor", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 8313, "end": 8487, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 8429, "end": 8469, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 8429, "end": 8468, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 8429, "end": 8440, "ctxt": 0 }, "value": "parentScope", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 8443, "end": 8468, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 8443, "end": 8451, "ctxt": 0 }, "value": "instType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 8452, "end": 8468, "ctxt": 0 }, "value": "constructorScope", "optional": false } } } } ] }, "alternate": { "type": "IfStatement", "span": { "start": 8509, "end": 8806, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 8513, "end": 8553, "ctxt": 0 }, "operator": "&&", "left": { "type": "Identifier", "span": { "start": 8513, "end": 8521, "ctxt": 0 }, "value": "isStatic", "optional": false }, "right": { "type": "MemberExpression", "span": { "start": 8525, "end": 8553, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8525, "end": 8543, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 8525, "end": 8532, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 8533, "end": 8543, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8544, "end": 8553, "ctxt": 0 }, "value": "classType", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 8555, "end": 8653, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 8577, "end": 8635, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 8577, "end": 8634, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 8577, "end": 8588, "ctxt": 0 }, "value": "parentScope", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 8591, "end": 8634, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8591, "end": 8619, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8591, "end": 8609, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 8591, "end": 8598, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 8599, "end": 8609, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8610, "end": 8619, "ctxt": 0 }, "value": "classType", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8620, "end": 8634, "ctxt": 0 }, "value": "containedScope", "optional": false } } } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 8675, "end": 8806, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 8750, "end": 8788, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 8750, "end": 8787, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 8750, "end": 8761, "ctxt": 0 }, "value": "parentScope", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 8764, "end": 8787, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 8764, "end": 8772, "ctxt": 0 }, "value": "instType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 8773, "end": 8787, "ctxt": 0 }, "value": "containedScope", "optional": false } } } } ] } } } ] } }, { "type": "ExpressionStatement", "span": { "start": 8833, "end": 8861, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 8833, "end": 8860, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 8833, "end": 8842, "ctxt": 0 }, "value": "container", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 8845, "end": 8860, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 8845, "end": 8853, "ctxt": 0 }, "value": "instType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 8854, "end": 8860, "ctxt": 0 }, "value": "symbol", "optional": false } } } } ] }, "alternate": { "type": "IfStatement", "span": { "start": 8885, "end": 9115, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 8889, "end": 8942, "ctxt": 0 }, "operator": "&&", "left": { "type": "MemberExpression", "span": { "start": 8889, "end": 8911, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 8889, "end": 8897, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 8898, "end": 8911, "ctxt": 0 }, "value": "isConstructor", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 8915, "end": 8942, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8915, "end": 8933, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 8915, "end": 8922, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 8923, "end": 8933, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8934, "end": 8942, "ctxt": 0 }, "value": "thisType", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 8944, "end": 9115, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 9058, "end": 9105, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 9058, "end": 9104, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 9058, "end": 9067, "ctxt": 0 }, "value": "container", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 9070, "end": 9104, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 9070, "end": 9097, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 9070, "end": 9088, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 9070, "end": 9077, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 9078, "end": 9088, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 9089, "end": 9097, "ctxt": 0 }, "value": "thisType", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 9098, "end": 9104, "ctxt": 0 }, "value": "symbol", "optional": false } } } } ] }, "alternate": null } }, { "type": "IfStatement", "span": { "start": 9125, "end": 12426, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 9129, "end": 9231, "ctxt": 0 }, "operator": "||", "left": { "type": "BinaryExpression", "span": { "start": 9129, "end": 9150, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 9129, "end": 9142, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 9129, "end": 9137, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 9138, "end": 9142, "ctxt": 0 }, "value": "type", "optional": false } }, "right": { "type": "NullLiteral", "span": { "start": 9146, "end": 9150, "ctxt": 0 } } }, "right": { "type": "CallExpression", "span": { "start": 9154, "end": 9231, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 9154, "end": 9161, "ctxt": 0 }, "value": "hasFlag", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 9162, "end": 9188, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 9162, "end": 9182, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 9162, "end": 9175, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 9162, "end": 9170, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 9171, "end": 9175, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 9176, "end": 9182, "ctxt": 0 }, "value": "symbol", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 9183, "end": 9188, "ctxt": 0 }, "value": "flags", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 9190, "end": 9230, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 9190, "end": 9201, "ctxt": 0 }, "value": "SymbolFlags", "optional": false }, "property": { "type": "Identifier", "span": { "start": 9202, "end": 9230, "ctxt": 0 }, "value": "TypeSetDuringScopeAssignment", "optional": false } } } ], "typeArguments": null } }, "consequent": { "type": "BlockStatement", "span": { "start": 9233, "end": 12426, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 9247, "end": 9385, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 9251, "end": 9304, "ctxt": 0 }, "operator": "&&", "left": { "type": "MemberExpression", "span": { "start": 9251, "end": 9273, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 9251, "end": 9269, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 9251, "end": 9258, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 9259, "end": 9269, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 9270, "end": 9273, "ctxt": 0 }, "value": "fnc", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 9277, "end": 9304, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 9277, "end": 9299, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 9277, "end": 9295, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 9277, "end": 9284, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 9285, "end": 9295, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 9296, "end": 9299, "ctxt": 0 }, "value": "fnc", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 9300, "end": 9304, "ctxt": 0 }, "value": "type", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 9306, "end": 9385, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 9324, "end": 9371, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 9324, "end": 9370, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 9324, "end": 9333, "ctxt": 0 }, "value": "container", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 9336, "end": 9370, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 9336, "end": 9363, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 9336, "end": 9358, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 9336, "end": 9354, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 9336, "end": 9343, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 9344, "end": 9354, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 9355, "end": 9358, "ctxt": 0 }, "value": "fnc", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 9359, "end": 9363, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 9364, "end": 9370, "ctxt": 0 }, "value": "symbol", "optional": false } } } } ] }, "alternate": null }, { "type": "VariableDeclaration", "span": { "start": 9399, "end": 9420, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 9403, "end": 9419, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 9403, "end": 9412, "ctxt": 0 }, "value": "funcScope", "optional": false, "typeAnnotation": null }, "init": { "type": "NullLiteral", "span": { "start": 9415, "end": 9419, "ctxt": 0 } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 9433, "end": 9481, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 9437, "end": 9480, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 9437, "end": 9445, "ctxt": 0 }, "value": "outerFnc", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 9445, "end": 9455, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 9447, "end": 9455, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 9447, "end": 9455, "ctxt": 0 }, "value": "FuncDecl", "optional": false }, "typeParams": null } } }, "init": { "type": "MemberExpression", "span": { "start": 9458, "end": 9480, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 9458, "end": 9476, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 9458, "end": 9465, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 9466, "end": 9476, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 9477, "end": 9480, "ctxt": 0 }, "value": "fnc", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 9494, "end": 9557, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 9498, "end": 9556, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 9498, "end": 9506, "ctxt": 0 }, "value": "nameText", "optional": false, "typeAnnotation": null }, "init": { "type": "ConditionalExpression", "span": { "start": 9509, "end": 9556, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 9509, "end": 9522, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 9509, "end": 9517, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 9518, "end": 9522, "ctxt": 0 }, "value": "name", "optional": false } }, "consequent": { "type": "MemberExpression", "span": { "start": 9525, "end": 9549, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 9525, "end": 9538, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 9525, "end": 9533, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 9534, "end": 9538, "ctxt": 0 }, "value": "name", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 9539, "end": 9549, "ctxt": 0 }, "value": "actualText", "optional": false } }, "alternate": { "type": "NullLiteral", "span": { "start": 9552, "end": 9556, "ctxt": 0 } } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 9570, "end": 9599, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 9574, "end": 9598, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 9574, "end": 9579, "ctxt": 0 }, "value": "fgSym", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 9579, "end": 9591, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 9581, "end": 9591, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 9581, "end": 9591, "ctxt": 0 }, "value": "TypeSymbol", "optional": false }, "typeParams": null } } }, "init": { "type": "NullLiteral", "span": { "start": 9594, "end": 9598, "ctxt": 0 } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 9613, "end": 10865, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 9617, "end": 9625, "ctxt": 0 }, "value": "isStatic", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 9627, "end": 10324, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 9943, "end": 10153, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 9947, "end": 10011, "ctxt": 0 }, "operator": "&&", "left": { "type": "BinaryExpression", "span": { "start": 9947, "end": 9976, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 9947, "end": 9968, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 9947, "end": 9960, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 9947, "end": 9955, "ctxt": 0 }, "value": "outerFnc", "optional": false }, "property": { "type": "Identifier", "span": { "start": 9956, "end": 9960, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 9961, "end": 9968, "ctxt": 0 }, "value": "members", "optional": false } }, "right": { "type": "NullLiteral", "span": { "start": 9972, "end": 9976, "ctxt": 0 } } }, "right": { "type": "MemberExpression", "span": { "start": 9980, "end": 10011, "ctxt": 0 }, "object": { "type": "CallExpression", "span": { "start": 9980, "end": 9999, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 9980, "end": 9997, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 9980, "end": 9989, "ctxt": 0 }, "value": "container", "optional": false }, "property": { "type": "Identifier", "span": { "start": 9990, "end": 9997, "ctxt": 0 }, "value": "getType", "optional": false } }, "arguments": [], "typeArguments": null }, "property": { "type": "Identifier", "span": { "start": 10000, "end": 10011, "ctxt": 0 }, "value": "memberScope", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 10013, "end": 10153, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 10035, "end": 10135, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 10035, "end": 10134, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 10035, "end": 10056, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 10035, "end": 10048, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 10035, "end": 10043, "ctxt": 0 }, "value": "outerFnc", "optional": false }, "property": { "type": "Identifier", "span": { "start": 10044, "end": 10048, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 10049, "end": 10056, "ctxt": 0 }, "value": "members", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 10059, "end": 10134, "ctxt": 0 }, "object": { "type": "ParenthesisExpression", "span": { "start": 10059, "end": 10121, "ctxt": 0 }, "expression": { "type": "TsTypeAssertion", "span": { "start": 10060, "end": 10120, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 10080, "end": 10120, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 10080, "end": 10108, "ctxt": 0 }, "object": { "type": "ParenthesisExpression", "span": { "start": 10080, "end": 10103, "ctxt": 0 }, "expression": { "type": "TsTypeAssertion", "span": { "start": 10081, "end": 10102, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 10093, "end": 10102, "ctxt": 0 }, "value": "container", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 10082, "end": 10092, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 10082, "end": 10092, "ctxt": 0 }, "value": "TypeSymbol", "optional": false }, "typeParams": null } } }, "property": { "type": "Identifier", "span": { "start": 10104, "end": 10108, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 10109, "end": 10120, "ctxt": 0 }, "value": "memberScope", "optional": false } }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 10061, "end": 10079, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 10061, "end": 10079, "ctxt": 0 }, "value": "SymbolScopeBuilder", "optional": false }, "typeParams": null } } }, "property": { "type": "Identifier", "span": { "start": 10122, "end": 10134, "ctxt": 0 }, "value": "valueMembers", "optional": false } } } } ] }, "alternate": null }, { "type": "ExpressionStatement", "span": { "start": 10170, "end": 10222, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 10170, "end": 10221, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 10170, "end": 10179, "ctxt": 0 }, "value": "funcScope", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 10182, "end": 10221, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 10182, "end": 10209, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 10182, "end": 10204, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 10182, "end": 10200, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 10182, "end": 10189, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 10190, "end": 10200, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 10201, "end": 10204, "ctxt": 0 }, "value": "fnc", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 10205, "end": 10209, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 10210, "end": 10221, "ctxt": 0 }, "value": "memberScope", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 10239, "end": 10310, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 10239, "end": 10309, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 10239, "end": 10298, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 10239, "end": 10264, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 10239, "end": 10247, "ctxt": 0 }, "value": "outerFnc", "optional": false }, "property": { "type": "Identifier", "span": { "start": 10248, "end": 10264, "ctxt": 0 }, "value": "innerStaticFuncs", "optional": false } }, "property": { "type": "Computed", "span": { "start": 10264, "end": 10298, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 10265, "end": 10297, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 10265, "end": 10290, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 10265, "end": 10273, "ctxt": 0 }, "value": "outerFnc", "optional": false }, "property": { "type": "Identifier", "span": { "start": 10274, "end": 10290, "ctxt": 0 }, "value": "innerStaticFuncs", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 10291, "end": 10297, "ctxt": 0 }, "value": "length", "optional": false } } } }, "right": { "type": "Identifier", "span": { "start": 10301, "end": 10309, "ctxt": 0 }, "value": "funcDecl", "optional": false } } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 10342, "end": 10865, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 10361, "end": 10851, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 10365, "end": 10644, "ctxt": 0 }, "operator": "&&", "left": { "type": "BinaryExpression", "span": { "start": 10365, "end": 10600, "ctxt": 0 }, "operator": "&&", "left": { "type": "BinaryExpression", "span": { "start": 10365, "end": 10533, "ctxt": 0 }, "operator": "&&", "left": { "type": "BinaryExpression", "span": { "start": 10365, "end": 10462, "ctxt": 0 }, "operator": "&&", "left": { "type": "BinaryExpression", "span": { "start": 10365, "end": 10421, "ctxt": 0 }, "operator": "&&", "left": { "type": "UnaryExpression", "span": { "start": 10365, "end": 10388, "ctxt": 0 }, "operator": "!", "argument": { "type": "MemberExpression", "span": { "start": 10366, "end": 10388, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 10366, "end": 10374, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 10375, "end": 10388, "ctxt": 0 }, "value": "isConstructor", "optional": false } } }, "right": { "type": "Identifier", "span": { "start": 10412, "end": 10421, "ctxt": 0 }, "value": "container", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 10445, "end": 10462, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 10445, "end": 10454, "ctxt": 0 }, "value": "container", "optional": false }, "property": { "type": "Identifier", "span": { "start": 10455, "end": 10462, "ctxt": 0 }, "value": "declAST", "optional": false } } }, "right": { "type": "BinaryExpression", "span": { "start": 10486, "end": 10533, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 10486, "end": 10512, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 10486, "end": 10503, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 10486, "end": 10495, "ctxt": 0 }, "value": "container", "optional": false }, "property": { "type": "Identifier", "span": { "start": 10496, "end": 10503, "ctxt": 0 }, "value": "declAST", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 10504, "end": 10512, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 10516, "end": 10533, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 10516, "end": 10524, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 10525, "end": 10533, "ctxt": 0 }, "value": "FuncDecl", "optional": false } } } }, "right": { "type": "MemberExpression", "span": { "start": 10557, "end": 10600, "ctxt": 0 }, "object": { "type": "ParenthesisExpression", "span": { "start": 10557, "end": 10586, "ctxt": 0 }, "expression": { "type": "TsTypeAssertion", "span": { "start": 10558, "end": 10585, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 10568, "end": 10585, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 10568, "end": 10577, "ctxt": 0 }, "value": "container", "optional": false }, "property": { "type": "Identifier", "span": { "start": 10578, "end": 10585, "ctxt": 0 }, "value": "declAST", "optional": false } }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 10559, "end": 10567, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 10559, "end": 10567, "ctxt": 0 }, "value": "FuncDecl", "optional": false }, "typeParams": null } } }, "property": { "type": "Identifier", "span": { "start": 10587, "end": 10600, "ctxt": 0 }, "value": "isConstructor", "optional": false } } }, "right": { "type": "UnaryExpression", "span": { "start": 10624, "end": 10644, "ctxt": 0 }, "operator": "!", "argument": { "type": "CallExpression", "span": { "start": 10625, "end": 10644, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 10625, "end": 10642, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 10625, "end": 10633, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 10634, "end": 10642, "ctxt": 0 }, "value": "isMethod", "optional": false } }, "arguments": [], "typeArguments": null } } }, "consequent": { "type": "BlockStatement", "span": { "start": 10646, "end": 10752, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 10668, "end": 10725, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 10668, "end": 10724, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 10668, "end": 10677, "ctxt": 0 }, "value": "funcScope", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 10680, "end": 10724, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 10680, "end": 10707, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 10680, "end": 10698, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 10680, "end": 10687, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 10688, "end": 10698, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 10699, "end": 10707, "ctxt": 0 }, "value": "thisType", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 10708, "end": 10724, "ctxt": 0 }, "value": "constructorScope", "optional": false } } } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 10774, "end": 10851, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 10796, "end": 10833, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 10796, "end": 10832, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 10796, "end": 10805, "ctxt": 0 }, "value": "funcScope", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 10808, "end": 10832, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 10808, "end": 10826, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 10808, "end": 10815, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 10816, "end": 10826, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 10827, "end": 10832, "ctxt": 0 }, "value": "scope", "optional": false } } } } ] } } ] } }, { "type": "IfStatement", "span": { "start": 11155, "end": 11562, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 11159, "end": 11220, "ctxt": 0 }, "operator": "&&", "left": { "type": "BinaryExpression", "span": { "start": 11159, "end": 11194, "ctxt": 0 }, "operator": "&&", "left": { "type": "Identifier", "span": { "start": 11159, "end": 11167, "ctxt": 0 }, "value": "nameText", "optional": false }, "right": { "type": "BinaryExpression", "span": { "start": 11171, "end": 11194, "ctxt": 0 }, "operator": "!=", "left": { "type": "Identifier", "span": { "start": 11171, "end": 11179, "ctxt": 0 }, "value": "nameText", "optional": false }, "right": { "type": "StringLiteral", "span": { "start": 11183, "end": 11194, "ctxt": 0 }, "value": "__missing", "raw": "\"__missing\"" } } }, "right": { "type": "UnaryExpression", "span": { "start": 11198, "end": 11220, "ctxt": 0 }, "operator": "!", "argument": { "type": "CallExpression", "span": { "start": 11199, "end": 11220, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 11199, "end": 11218, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 11199, "end": 11207, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 11208, "end": 11218, "ctxt": 0 }, "value": "isAccessor", "optional": false } }, "arguments": [], "typeArguments": null } } }, "consequent": { "type": "BlockStatement", "span": { "start": 11222, "end": 11562, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 11240, "end": 11548, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 11244, "end": 11252, "ctxt": 0 }, "value": "isStatic", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 11254, "end": 11346, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 11276, "end": 11328, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 11276, "end": 11327, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 11276, "end": 11281, "ctxt": 0 }, "value": "fgSym", "optional": false, "typeAnnotation": null }, "right": { "type": "CallExpression", "span": { "start": 11284, "end": 11327, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 11284, "end": 11303, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 11284, "end": 11293, "ctxt": 0 }, "value": "funcScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 11294, "end": 11303, "ctxt": 0 }, "value": "findLocal", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 11304, "end": 11312, "ctxt": 0 }, "value": "nameText", "optional": false } }, { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 11314, "end": 11319, "ctxt": 0 }, "value": false } }, { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 11321, "end": 11326, "ctxt": 0 }, "value": false } } ], "typeArguments": null } } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 11368, "end": 11548, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 11478, "end": 11530, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 11478, "end": 11529, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 11478, "end": 11483, "ctxt": 0 }, "value": "fgSym", "optional": false, "typeAnnotation": null }, "right": { "type": "CallExpression", "span": { "start": 11486, "end": 11529, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 11486, "end": 11505, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 11486, "end": 11495, "ctxt": 0 }, "value": "funcScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 11496, "end": 11505, "ctxt": 0 }, "value": "findLocal", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 11506, "end": 11514, "ctxt": 0 }, "value": "nameText", "optional": false } }, { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 11516, "end": 11521, "ctxt": 0 }, "value": false } }, { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 11523, "end": 11528, "ctxt": 0 }, "value": false } } ], "typeArguments": null } } } ] } } ] }, "alternate": null }, { "type": "ExpressionStatement", "span": { "start": 11576, "end": 11739, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 11576, "end": 11738, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 11576, "end": 11624, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 11576, "end": 11600, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 11576, "end": 11592, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 11576, "end": 11583, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 11584, "end": 11592, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 11593, "end": 11600, "ctxt": 0 }, "value": "checker", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 11601, "end": 11624, "ctxt": 0 }, "value": "createFunctionSignature", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 11625, "end": 11633, "ctxt": 0 }, "value": "funcDecl", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 11635, "end": 11644, "ctxt": 0 }, "value": "container", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 11706, "end": 11715, "ctxt": 0 }, "value": "funcScope", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 11717, "end": 11722, "ctxt": 0 }, "value": "fgSym", "optional": false } }, { "spread": null, "expression": { "type": "BinaryExpression", "span": { "start": 11724, "end": 11737, "ctxt": 0 }, "operator": "==", "left": { "type": "Identifier", "span": { "start": 11724, "end": 11729, "ctxt": 0 }, "value": "fgSym", "optional": false }, "right": { "type": "NullLiteral", "span": { "start": 11733, "end": 11737, "ctxt": 0 } } } } ], "typeArguments": null } }, { "type": "IfStatement", "span": { "start": 11834, "end": 12331, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 11838, "end": 12111, "ctxt": 0 }, "operator": "||", "left": { "type": "BinaryExpression", "span": { "start": 11838, "end": 12057, "ctxt": 0 }, "operator": "&&", "left": { "type": "BinaryExpression", "span": { "start": 11838, "end": 11954, "ctxt": 0 }, "operator": "&&", "left": { "type": "BinaryExpression", "span": { "start": 11838, "end": 11925, "ctxt": 0 }, "operator": "&&", "left": { "type": "UnaryExpression", "span": { "start": 11838, "end": 11862, "ctxt": 0 }, "operator": "!", "argument": { "type": "MemberExpression", "span": { "start": 11839, "end": 11862, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 11839, "end": 11847, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 11848, "end": 11862, "ctxt": 0 }, "value": "accessorSymbol", "optional": false } } }, "right": { "type": "ParenthesisExpression", "span": { "start": 11883, "end": 11925, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 11884, "end": 11924, "ctxt": 0 }, "operator": "&", "left": { "type": "MemberExpression", "span": { "start": 11884, "end": 11901, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 11884, "end": 11892, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 11893, "end": 11901, "ctxt": 0 }, "value": "fncFlags", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 11904, "end": 11924, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 11904, "end": 11912, "ctxt": 0 }, "value": "FncFlags", "optional": false }, "property": { "type": "Identifier", "span": { "start": 11913, "end": 11924, "ctxt": 0 }, "value": "ClassMethod", "optional": false } } } } }, "right": { "type": "Identifier", "span": { "start": 11945, "end": 11954, "ctxt": 0 }, "value": "container", "optional": false } }, "right": { "type": "ParenthesisExpression", "span": { "start": 11975, "end": 12057, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 11976, "end": 12056, "ctxt": 0 }, "operator": "&&", "left": { "type": "ParenthesisExpression", "span": { "start": 11976, "end": 12031, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 11977, "end": 12030, "ctxt": 0 }, "operator": "||", "left": { "type": "UnaryExpression", "span": { "start": 11977, "end": 11983, "ctxt": 0 }, "operator": "!", "argument": { "type": "Identifier", "span": { "start": 11978, "end": 11983, "ctxt": 0 }, "value": "fgSym", "optional": false } }, "right": { "type": "BinaryExpression", "span": { "start": 11987, "end": 12030, "ctxt": 0 }, "operator": "!=", "left": { "type": "MemberExpression", "span": { "start": 11987, "end": 12009, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 11987, "end": 12000, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 11987, "end": 11992, "ctxt": 0 }, "value": "fgSym", "optional": false }, "property": { "type": "Identifier", "span": { "start": 11993, "end": 12000, "ctxt": 0 }, "value": "declAST", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 12001, "end": 12009, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 12013, "end": 12030, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12013, "end": 12021, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12022, "end": 12030, "ctxt": 0 }, "value": "FuncDecl", "optional": false } } } } }, "right": { "type": "CallExpression", "span": { "start": 12035, "end": 12056, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 12035, "end": 12054, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12035, "end": 12043, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12044, "end": 12054, "ctxt": 0 }, "value": "isAccessor", "optional": false } }, "arguments": [], "typeArguments": null } } } }, "right": { "type": "ParenthesisExpression", "span": { "start": 12082, "end": 12111, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 12083, "end": 12110, "ctxt": 0 }, "operator": "&&", "left": { "type": "Identifier", "span": { "start": 12083, "end": 12088, "ctxt": 0 }, "value": "fgSym", "optional": false }, "right": { "type": "CallExpression", "span": { "start": 12092, "end": 12110, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 12092, "end": 12108, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12092, "end": 12097, "ctxt": 0 }, "value": "fgSym", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12098, "end": 12108, "ctxt": 0 }, "value": "isAccessor", "optional": false } }, "arguments": [], "typeArguments": null } } } }, "consequent": { "type": "BlockStatement", "span": { "start": 12126, "end": 12331, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 12144, "end": 12317, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 12144, "end": 12316, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 12144, "end": 12167, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12144, "end": 12152, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12153, "end": 12167, "ctxt": 0 }, "value": "accessorSymbol", "optional": false } }, "right": { "type": "CallExpression", "span": { "start": 12170, "end": 12316, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 12170, "end": 12215, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 12170, "end": 12194, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 12170, "end": 12186, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12170, "end": 12177, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12178, "end": 12186, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 12187, "end": 12194, "ctxt": 0 }, "value": "checker", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 12195, "end": 12215, "ctxt": 0 }, "value": "createAccessorSymbol", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 12216, "end": 12224, "ctxt": 0 }, "value": "funcDecl", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 12226, "end": 12231, "ctxt": 0 }, "value": "fgSym", "optional": false } }, { "spread": null, "expression": { "type": "CallExpression", "span": { "start": 12233, "end": 12252, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 12233, "end": 12250, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12233, "end": 12242, "ctxt": 0 }, "value": "container", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12243, "end": 12250, "ctxt": 0 }, "value": "getType", "optional": false } }, "arguments": [], "typeArguments": null } }, { "spread": null, "expression": { "type": "ParenthesisExpression", "span": { "start": 12254, "end": 12287, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 12255, "end": 12286, "ctxt": 0 }, "operator": "&&", "left": { "type": "CallExpression", "span": { "start": 12255, "end": 12274, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 12255, "end": 12272, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12255, "end": 12263, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12264, "end": 12272, "ctxt": 0 }, "value": "isMethod", "optional": false } }, "arguments": [], "typeArguments": null }, "right": { "type": "Identifier", "span": { "start": 12278, "end": 12286, "ctxt": 0 }, "value": "isStatic", "optional": false } } } }, { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 12289, "end": 12293, "ctxt": 0 }, "value": true } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 12295, "end": 12304, "ctxt": 0 }, "value": "funcScope", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 12306, "end": 12315, "ctxt": 0 }, "value": "container", "optional": false } } ], "typeArguments": null } } } ] }, "alternate": null }, { "type": "ExpressionStatement", "span": { "start": 12345, "end": 12416, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 12345, "end": 12415, "ctxt": 0 }, "operator": "|=", "left": { "type": "MemberExpression", "span": { "start": 12345, "end": 12371, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 12345, "end": 12365, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 12345, "end": 12358, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12345, "end": 12353, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12354, "end": 12358, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 12359, "end": 12365, "ctxt": 0 }, "value": "symbol", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 12366, "end": 12371, "ctxt": 0 }, "value": "flags", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 12375, "end": 12415, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12375, "end": 12386, "ctxt": 0 }, "value": "SymbolFlags", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12387, "end": 12415, "ctxt": 0 }, "value": "TypeSetDuringScopeAssignment", "optional": false } } } } ] }, "alternate": null }, { "type": "IfStatement", "span": { "start": 12496, "end": 12597, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 12500, "end": 12530, "ctxt": 0 }, "operator": "&&", "left": { "type": "MemberExpression", "span": { "start": 12500, "end": 12513, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12500, "end": 12508, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12509, "end": 12513, "ctxt": 0 }, "value": "name", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 12517, "end": 12530, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12517, "end": 12525, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12526, "end": 12530, "ctxt": 0 }, "value": "type", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 12532, "end": 12597, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 12546, "end": 12587, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 12546, "end": 12586, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 12546, "end": 12563, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 12546, "end": 12559, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12546, "end": 12554, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12555, "end": 12559, "ctxt": 0 }, "value": "name", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 12560, "end": 12563, "ctxt": 0 }, "value": "sym", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 12566, "end": 12586, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 12566, "end": 12579, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12566, "end": 12574, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12575, "end": 12579, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 12580, "end": 12586, "ctxt": 0 }, "value": "symbol", "optional": false } } } } ] }, "alternate": null }, { "type": "ExpressionStatement", "span": { "start": 12784, "end": 12819, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 12784, "end": 12818, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 12784, "end": 12802, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12784, "end": 12792, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12793, "end": 12802, "ctxt": 0 }, "value": "scopeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 12805, "end": 12818, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12805, "end": 12813, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12814, "end": 12818, "ctxt": 0 }, "value": "type", "optional": false } } } }, { "type": "IfStatement", "span": { "start": 12878, "end": 12934, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 12882, "end": 12901, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 12882, "end": 12890, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 12891, "end": 12901, "ctxt": 0 }, "value": "isOverload", "optional": false } }, "consequent": { "type": "BlockStatement", "span": { "start": 12903, "end": 12934, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 12917, "end": 12924, "ctxt": 0 }, "argument": null } ] }, "alternate": null }, { "type": "VariableDeclaration", "span": { "start": 12944, "end": 12982, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 12948, "end": 12981, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 12948, "end": 12957, "ctxt": 0 }, "value": "funcTable", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 12960, "end": 12981, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 12964, "end": 12979, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 12991, "end": 13086, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 12995, "end": 13085, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 12995, "end": 13006, "ctxt": 0 }, "value": "funcMembers", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 13009, "end": 13085, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13013, "end": 13026, "ctxt": 0 }, "value": "ScopedMembers", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 13027, "end": 13084, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13031, "end": 13050, "ctxt": 0 }, "value": "DualStringHashTable", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 13051, "end": 13060, "ctxt": 0 }, "value": "funcTable", "optional": false } }, { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 13062, "end": 13083, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13066, "end": 13081, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null } } ], "typeArguments": null } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 13095, "end": 13140, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 13099, "end": 13139, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 13099, "end": 13115, "ctxt": 0 }, "value": "ambientFuncTable", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 13118, "end": 13139, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13122, "end": 13137, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 13149, "end": 13258, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 13153, "end": 13257, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 13153, "end": 13171, "ctxt": 0 }, "value": "ambientFuncMembers", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 13174, "end": 13257, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13178, "end": 13191, "ctxt": 0 }, "value": "ScopedMembers", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 13192, "end": 13256, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13196, "end": 13215, "ctxt": 0 }, "value": "DualStringHashTable", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 13216, "end": 13232, "ctxt": 0 }, "value": "ambientFuncTable", "optional": false } }, { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 13234, "end": 13255, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13238, "end": 13253, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null } } ], "typeArguments": null } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 13267, "end": 13311, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 13271, "end": 13310, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 13271, "end": 13286, "ctxt": 0 }, "value": "funcStaticTable", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 13289, "end": 13310, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13293, "end": 13308, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 13320, "end": 13427, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 13324, "end": 13426, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 13324, "end": 13341, "ctxt": 0 }, "value": "funcStaticMembers", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 13344, "end": 13426, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13348, "end": 13361, "ctxt": 0 }, "value": "ScopedMembers", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 13362, "end": 13425, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13366, "end": 13385, "ctxt": 0 }, "value": "DualStringHashTable", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 13386, "end": 13401, "ctxt": 0 }, "value": "funcStaticTable", "optional": false } }, { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 13403, "end": 13424, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13407, "end": 13422, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null } } ], "typeArguments": null } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 13436, "end": 13487, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 13440, "end": 13486, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 13440, "end": 13462, "ctxt": 0 }, "value": "ambientFuncStaticTable", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 13465, "end": 13486, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13469, "end": 13484, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 13496, "end": 13617, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 13500, "end": 13616, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 13500, "end": 13524, "ctxt": 0 }, "value": "ambientFuncStaticMembers", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 13527, "end": 13616, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13531, "end": 13544, "ctxt": 0 }, "value": "ScopedMembers", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 13545, "end": 13615, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13549, "end": 13568, "ctxt": 0 }, "value": "DualStringHashTable", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 13569, "end": 13591, "ctxt": 0 }, "value": "ambientFuncStaticTable", "optional": false } }, { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 13593, "end": 13614, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13597, "end": 13612, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null } } ], "typeArguments": null } } ], "typeArguments": null }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 13724, "end": 13793, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 13724, "end": 13792, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 13724, "end": 13742, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 13724, "end": 13732, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 13733, "end": 13742, "ctxt": 0 }, "value": "unitIndex", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 13745, "end": 13792, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 13745, "end": 13782, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 13745, "end": 13769, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 13745, "end": 13761, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 13745, "end": 13752, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 13753, "end": 13761, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 13762, "end": 13769, "ctxt": 0 }, "value": "checker", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 13770, "end": 13782, "ctxt": 0 }, "value": "locationInfo", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 13783, "end": 13792, "ctxt": 0 }, "value": "unitIndex", "optional": false } } } }, { "type": "VariableDeclaration", "span": { "start": 13803, "end": 13913, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 13807, "end": 13912, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 13807, "end": 13813, "ctxt": 0 }, "value": "locals", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 13816, "end": 13912, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13820, "end": 13838, "ctxt": 0 }, "value": "SymbolScopeBuilder", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 13839, "end": 13850, "ctxt": 0 }, "value": "funcMembers", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 13852, "end": 13870, "ctxt": 0 }, "value": "ambientFuncMembers", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 13872, "end": 13876, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 13878, "end": 13882, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 13884, "end": 13895, "ctxt": 0 }, "value": "parentScope", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 13897, "end": 13911, "ctxt": 0 }, "value": "localContainer", "optional": false } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 13922, "end": 14035, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 13926, "end": 14034, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 13926, "end": 13933, "ctxt": 0 }, "value": "statics", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 13936, "end": 14034, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 13940, "end": 13958, "ctxt": 0 }, "value": "SymbolScopeBuilder", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 13959, "end": 13976, "ctxt": 0 }, "value": "funcStaticMembers", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 13978, "end": 14002, "ctxt": 0 }, "value": "ambientFuncStaticMembers", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 14004, "end": 14008, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 14010, "end": 14014, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 14016, "end": 14027, "ctxt": 0 }, "value": "parentScope", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 14029, "end": 14033, "ctxt": 0 } } } ], "typeArguments": null }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 14045, "end": 14182, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 14049, "end": 14102, "ctxt": 0 }, "operator": "&&", "left": { "type": "MemberExpression", "span": { "start": 14049, "end": 14071, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 14049, "end": 14057, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 14058, "end": 14071, "ctxt": 0 }, "value": "isConstructor", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 14075, "end": 14102, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 14075, "end": 14093, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 14075, "end": 14082, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 14083, "end": 14093, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 14094, "end": 14102, "ctxt": 0 }, "value": "thisType", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 14104, "end": 14182, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 14118, "end": 14172, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 14118, "end": 14171, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 14118, "end": 14162, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 14118, "end": 14145, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 14118, "end": 14136, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 14118, "end": 14125, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 14126, "end": 14136, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 14137, "end": 14145, "ctxt": 0 }, "value": "thisType", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 14146, "end": 14162, "ctxt": 0 }, "value": "constructorScope", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 14165, "end": 14171, "ctxt": 0 }, "value": "locals", "optional": false } } } ] }, "alternate": null }, { "type": "ExpressionStatement", "span": { "start": 14811, "end": 14840, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 14811, "end": 14839, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 14811, "end": 14827, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 14811, "end": 14819, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 14820, "end": 14827, "ctxt": 0 }, "value": "symbols", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 14830, "end": 14839, "ctxt": 0 }, "value": "funcTable", "optional": false } } }, { "type": "IfStatement", "span": { "start": 14850, "end": 16502, "ctxt": 0 }, "test": { "type": "UnaryExpression", "span": { "start": 14854, "end": 14877, "ctxt": 0 }, "operator": "!", "argument": { "type": "CallExpression", "span": { "start": 14855, "end": 14877, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 14855, "end": 14875, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 14855, "end": 14863, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 14864, "end": 14875, "ctxt": 0 }, "value": "isSpecialFn", "optional": false } }, "arguments": [], "typeArguments": null } }, "consequent": { "type": "BlockStatement", "span": { "start": 14879, "end": 16502, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 14893, "end": 14919, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 14897, "end": 14918, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 14897, "end": 14902, "ctxt": 0 }, "value": "group", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 14905, "end": 14918, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 14905, "end": 14913, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 14914, "end": 14918, "ctxt": 0 }, "value": "type", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 14932, "end": 14967, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 14936, "end": 14966, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 14936, "end": 14945, "ctxt": 0 }, "value": "signature", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 14948, "end": 14966, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 14948, "end": 14956, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 14957, "end": 14966, "ctxt": 0 }, "value": "signature", "optional": false } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 14981, "end": 15217, "ctxt": 0 }, "test": { "type": "UnaryExpression", "span": { "start": 14985, "end": 15008, "ctxt": 0 }, "operator": "!", "argument": { "type": "MemberExpression", "span": { "start": 14986, "end": 15008, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 14986, "end": 14994, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 14995, "end": 15008, "ctxt": 0 }, "value": "isConstructor", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 15010, "end": 15217, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 15028, "end": 15058, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 15028, "end": 15057, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 15028, "end": 15048, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15028, "end": 15033, "ctxt": 0 }, "value": "group", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15034, "end": 15048, "ctxt": 0 }, "value": "containedScope", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 15051, "end": 15057, "ctxt": 0 }, "value": "locals", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 15075, "end": 15107, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 15075, "end": 15106, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 15075, "end": 15091, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15075, "end": 15081, "ctxt": 0 }, "value": "locals", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15082, "end": 15091, "ctxt": 0 }, "value": "container", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 15094, "end": 15106, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15094, "end": 15099, "ctxt": 0 }, "value": "group", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15100, "end": 15106, "ctxt": 0 }, "value": "symbol", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 15125, "end": 15153, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 15125, "end": 15152, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 15125, "end": 15142, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15125, "end": 15130, "ctxt": 0 }, "value": "group", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15131, "end": 15142, "ctxt": 0 }, "value": "memberScope", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 15145, "end": 15152, "ctxt": 0 }, "value": "statics", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 15170, "end": 15203, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 15170, "end": 15202, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 15170, "end": 15187, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15170, "end": 15177, "ctxt": 0 }, "value": "statics", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15178, "end": 15187, "ctxt": 0 }, "value": "container", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 15190, "end": 15202, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15190, "end": 15195, "ctxt": 0 }, "value": "group", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15196, "end": 15202, "ctxt": 0 }, "value": "symbol", "optional": false } } } } ] }, "alternate": null }, { "type": "ExpressionStatement", "span": { "start": 15230, "end": 15277, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 15230, "end": 15276, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 15230, "end": 15251, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15230, "end": 15238, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15239, "end": 15251, "ctxt": 0 }, "value": "enclosingFnc", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 15254, "end": 15276, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 15254, "end": 15272, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15254, "end": 15261, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15262, "end": 15272, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 15273, "end": 15276, "ctxt": 0 }, "value": "fnc", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 15290, "end": 15382, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 15290, "end": 15381, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 15290, "end": 15309, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15290, "end": 15295, "ctxt": 0 }, "value": "group", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15296, "end": 15309, "ctxt": 0 }, "value": "enclosingType", "optional": false } }, "right": { "type": "ConditionalExpression", "span": { "start": 15312, "end": 15381, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 15312, "end": 15320, "ctxt": 0 }, "value": "isStatic", "optional": false }, "consequent": { "type": "MemberExpression", "span": { "start": 15323, "end": 15351, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 15323, "end": 15341, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15323, "end": 15330, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15331, "end": 15341, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 15342, "end": 15351, "ctxt": 0 }, "value": "classType", "optional": false } }, "alternate": { "type": "MemberExpression", "span": { "start": 15354, "end": 15381, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 15354, "end": 15372, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15354, "end": 15361, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15362, "end": 15372, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 15373, "end": 15381, "ctxt": 0 }, "value": "thisType", "optional": false } } } } }, { "type": "VariableDeclaration", "span": { "start": 15441, "end": 15481, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 15445, "end": 15480, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 15445, "end": 15450, "ctxt": 0 }, "value": "fgSym", "optional": false, "typeAnnotation": null }, "init": { "type": "TsTypeAssertion", "span": { "start": 15453, "end": 15480, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 15465, "end": 15480, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 15465, "end": 15473, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15465, "end": 15468, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15469, "end": 15473, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 15474, "end": 15480, "ctxt": 0 }, "value": "symbol", "optional": false } }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 15454, "end": 15464, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 15454, "end": 15464, "ctxt": 0 }, "value": "TypeSymbol", "optional": false }, "typeParams": null } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 15494, "end": 15907, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 15498, "end": 15574, "ctxt": 0 }, "operator": "&&", "left": { "type": "ParenthesisExpression", "span": { "start": 15498, "end": 15557, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 15499, "end": 15556, "ctxt": 0 }, "operator": "==", "left": { "type": "ParenthesisExpression", "span": { "start": 15499, "end": 15539, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 15500, "end": 15538, "ctxt": 0 }, "operator": "&", "left": { "type": "MemberExpression", "span": { "start": 15500, "end": 15517, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15500, "end": 15508, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15509, "end": 15517, "ctxt": 0 }, "value": "fncFlags", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 15520, "end": 15538, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15520, "end": 15528, "ctxt": 0 }, "value": "FncFlags", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15529, "end": 15538, "ctxt": 0 }, "value": "Signature", "optional": false } } } }, "right": { "type": "MemberExpression", "span": { "start": 15543, "end": 15556, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15543, "end": 15551, "ctxt": 0 }, "value": "FncFlags", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15552, "end": 15556, "ctxt": 0 }, "value": "None", "optional": false } } } }, "right": { "type": "MemberExpression", "span": { "start": 15561, "end": 15574, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15561, "end": 15569, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15570, "end": 15574, "ctxt": 0 }, "value": "vars", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 15576, "end": 15907, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 15594, "end": 15730, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 15594, "end": 15729, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 15594, "end": 15629, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 15594, "end": 15610, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15594, "end": 15601, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15602, "end": 15610, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 15611, "end": 15629, "ctxt": 0 }, "value": "addLocalsFromScope", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 15630, "end": 15636, "ctxt": 0 }, "value": "locals", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 15638, "end": 15643, "ctxt": 0 }, "value": "fgSym", "optional": false } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 15645, "end": 15658, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15645, "end": 15653, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15654, "end": 15658, "ctxt": 0 }, "value": "vars", "optional": false } } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 15712, "end": 15721, "ctxt": 0 }, "value": "funcTable", "optional": false } }, { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 15723, "end": 15728, "ctxt": 0 }, "value": false } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 15747, "end": 15893, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 15747, "end": 15892, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 15747, "end": 15782, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 15747, "end": 15763, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15747, "end": 15754, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15755, "end": 15763, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 15764, "end": 15782, "ctxt": 0 }, "value": "addLocalsFromScope", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 15783, "end": 15790, "ctxt": 0 }, "value": "statics", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 15792, "end": 15797, "ctxt": 0 }, "value": "fgSym", "optional": false } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 15799, "end": 15815, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15799, "end": 15807, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15808, "end": 15815, "ctxt": 0 }, "value": "statics", "optional": false } } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 15869, "end": 15884, "ctxt": 0 }, "value": "funcStaticTable", "optional": false } }, { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 15886, "end": 15891, "ctxt": 0 }, "value": false } } ], "typeArguments": null } } ] }, "alternate": null }, { "type": "IfStatement", "span": { "start": 15920, "end": 16328, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 15924, "end": 15944, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15924, "end": 15933, "ctxt": 0 }, "value": "signature", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15934, "end": 15944, "ctxt": 0 }, "value": "parameters", "optional": false } }, "consequent": { "type": "BlockStatement", "span": { "start": 15946, "end": 16328, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 15964, "end": 16002, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 15968, "end": 16001, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 15968, "end": 15971, "ctxt": 0 }, "value": "len", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 15974, "end": 16001, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 15974, "end": 15994, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 15974, "end": 15983, "ctxt": 0 }, "value": "signature", "optional": false }, "property": { "type": "Identifier", "span": { "start": 15984, "end": 15994, "ctxt": 0 }, "value": "parameters", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 15995, "end": 16001, "ctxt": 0 }, "value": "length", "optional": false } }, "definite": false } ] }, { "type": "ForStatement", "span": { "start": 16019, "end": 16314, "ctxt": 0 }, "init": { "type": "VariableDeclaration", "span": { "start": 16024, "end": 16033, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 16028, "end": 16033, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 16028, "end": 16029, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "init": { "type": "NumericLiteral", "span": { "start": 16032, "end": 16033, "ctxt": 0 }, "value": 0.0, "raw": "0" }, "definite": false } ] }, "test": { "type": "BinaryExpression", "span": { "start": 16035, "end": 16042, "ctxt": 0 }, "operator": "<", "left": { "type": "Identifier", "span": { "start": 16035, "end": 16036, "ctxt": 0 }, "value": "i", "optional": false }, "right": { "type": "Identifier", "span": { "start": 16039, "end": 16042, "ctxt": 0 }, "value": "len", "optional": false } }, "update": { "type": "UpdateExpression", "span": { "start": 16044, "end": 16047, "ctxt": 0 }, "operator": "++", "prefix": false, "argument": { "type": "Identifier", "span": { "start": 16044, "end": 16045, "ctxt": 0 }, "value": "i", "optional": false } }, "body": { "type": "BlockStatement", "span": { "start": 16049, "end": 16314, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 16071, "end": 16127, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 16075, "end": 16126, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 16075, "end": 16083, "ctxt": 0 }, "value": "paramSym", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 16083, "end": 16100, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 16085, "end": 16100, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 16085, "end": 16100, "ctxt": 0 }, "value": "ParameterSymbol", "optional": false }, "typeParams": null } } }, "init": { "type": "MemberExpression", "span": { "start": 16103, "end": 16126, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 16103, "end": 16123, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16103, "end": 16112, "ctxt": 0 }, "value": "signature", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16113, "end": 16123, "ctxt": 0 }, "value": "parameters", "optional": false } }, "property": { "type": "Computed", "span": { "start": 16123, "end": 16126, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 16124, "end": 16125, "ctxt": 0 }, "value": "i", "optional": false } } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 16148, "end": 16296, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 16148, "end": 16295, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 16148, "end": 16188, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 16148, "end": 16172, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 16148, "end": 16164, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16148, "end": 16155, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16156, "end": 16164, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 16165, "end": 16172, "ctxt": 0 }, "value": "checker", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 16173, "end": 16188, "ctxt": 0 }, "value": "resolveTypeLink", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 16189, "end": 16195, "ctxt": 0 }, "value": "locals", "optional": false } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 16261, "end": 16288, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 16261, "end": 16279, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16261, "end": 16269, "ctxt": 0 }, "value": "paramSym", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16270, "end": 16279, "ctxt": 0 }, "value": "parameter", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 16280, "end": 16288, "ctxt": 0 }, "value": "typeLink", "optional": false } } }, { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 16290, "end": 16294, "ctxt": 0 }, "value": true } } ], "typeArguments": null } } ] } } ] }, "alternate": null }, { "type": "ExpressionStatement", "span": { "start": 16341, "end": 16492, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 16341, "end": 16491, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 16341, "end": 16381, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 16341, "end": 16365, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 16341, "end": 16357, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16341, "end": 16348, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16349, "end": 16357, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 16358, "end": 16365, "ctxt": 0 }, "value": "checker", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 16366, "end": 16381, "ctxt": 0 }, "value": "resolveTypeLink", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 16382, "end": 16388, "ctxt": 0 }, "value": "locals", "optional": false } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 16390, "end": 16410, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16390, "end": 16399, "ctxt": 0 }, "value": "signature", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16400, "end": 16410, "ctxt": 0 }, "value": "returnType", "optional": false } } }, { "spread": null, "expression": { "type": "CallExpression", "span": { "start": 16468, "end": 16490, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 16468, "end": 16488, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16468, "end": 16476, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16477, "end": 16488, "ctxt": 0 }, "value": "isSignature", "optional": false } }, "arguments": [], "typeArguments": null } } ], "typeArguments": null } } ] }, "alternate": null }, { "type": "IfStatement", "span": { "start": 16512, "end": 16818, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 16516, "end": 16591, "ctxt": 0 }, "operator": "||", "left": { "type": "UnaryExpression", "span": { "start": 16516, "end": 16539, "ctxt": 0 }, "operator": "!", "argument": { "type": "MemberExpression", "span": { "start": 16517, "end": 16539, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16517, "end": 16525, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16526, "end": 16539, "ctxt": 0 }, "value": "isConstructor", "optional": false } } }, "right": { "type": "CallExpression", "span": { "start": 16543, "end": 16591, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 16543, "end": 16550, "ctxt": 0 }, "value": "hasFlag", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 16551, "end": 16568, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16551, "end": 16559, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16560, "end": 16568, "ctxt": 0 }, "value": "fncFlags", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 16570, "end": 16590, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16570, "end": 16578, "ctxt": 0 }, "value": "FncFlags", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16579, "end": 16590, "ctxt": 0 }, "value": "ClassMethod", "optional": false } } } ], "typeArguments": null } }, "consequent": { "type": "BlockStatement", "span": { "start": 16593, "end": 16818, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 16607, "end": 16736, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 16611, "end": 16735, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 16611, "end": 16619, "ctxt": 0 }, "value": "thisType", "optional": false, "typeAnnotation": null }, "init": { "type": "ConditionalExpression", "span": { "start": 16622, "end": 16735, "ctxt": 0 }, "test": { "type": "ParenthesisExpression", "span": { "start": 16622, "end": 16698, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 16623, "end": 16697, "ctxt": 0 }, "operator": "&&", "left": { "type": "MemberExpression", "span": { "start": 16623, "end": 16645, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16623, "end": 16631, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16632, "end": 16645, "ctxt": 0 }, "value": "isConstructor", "optional": false } }, "right": { "type": "CallExpression", "span": { "start": 16649, "end": 16697, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 16649, "end": 16656, "ctxt": 0 }, "value": "hasFlag", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 16657, "end": 16674, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16657, "end": 16665, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16666, "end": 16674, "ctxt": 0 }, "value": "fncFlags", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 16676, "end": 16696, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16676, "end": 16684, "ctxt": 0 }, "value": "FncFlags", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16685, "end": 16696, "ctxt": 0 }, "value": "ClassMethod", "optional": false } } } ], "typeArguments": null } } }, "consequent": { "type": "MemberExpression", "span": { "start": 16701, "end": 16728, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 16701, "end": 16719, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16701, "end": 16708, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16709, "end": 16719, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 16720, "end": 16728, "ctxt": 0 }, "value": "thisType", "optional": false } }, "alternate": { "type": "NullLiteral", "span": { "start": 16731, "end": 16735, "ctxt": 0 } } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 16749, "end": 16808, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 16749, "end": 16807, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 16749, "end": 16764, "ctxt": 0 }, "value": "pushAssignScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 16765, "end": 16771, "ctxt": 0 }, "value": "locals", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 16773, "end": 16780, "ctxt": 0 }, "value": "context", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 16782, "end": 16790, "ctxt": 0 }, "value": "thisType", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 16792, "end": 16796, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 16798, "end": 16806, "ctxt": 0 }, "value": "funcDecl", "optional": false } } ], "typeArguments": null } } ] }, "alternate": null } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 16830, "end": 17571, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 16846, "end": 16866, "ctxt": 0 }, "value": "preAssignCatchScopes", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 16867, "end": 16875, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 16867, "end": 16875, "ctxt": 0 }, "value": "ast", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 16870, "end": 16875, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 16872, "end": 16875, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 16872, "end": 16875, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 16877, "end": 16904, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 16877, "end": 16904, "ctxt": 0 }, "value": "context", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 16884, "end": 16904, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 16886, "end": 16904, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 16886, "end": 16904, "ctxt": 0 }, "value": "AssignScopeContext", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 16837, "end": 17571, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 16906, "end": 17571, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 16916, "end": 16944, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 16920, "end": 16943, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 16920, "end": 16930, "ctxt": 0 }, "value": "catchBlock", "optional": false, "typeAnnotation": null }, "init": { "type": "TsTypeAssertion", "span": { "start": 16933, "end": 16943, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 16940, "end": 16943, "ctxt": 0 }, "value": "ast", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 16934, "end": 16939, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 16934, "end": 16939, "ctxt": 0 }, "value": "Catch", "optional": false }, "typeParams": null } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 16953, "end": 17565, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 16957, "end": 16973, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 16957, "end": 16967, "ctxt": 0 }, "value": "catchBlock", "optional": false }, "property": { "type": "Identifier", "span": { "start": 16968, "end": 16973, "ctxt": 0 }, "value": "param", "optional": false } }, "consequent": { "type": "BlockStatement", "span": { "start": 16975, "end": 17565, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 16989, "end": 17095, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 16993, "end": 17094, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 16993, "end": 17003, "ctxt": 0 }, "value": "catchTable", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 17006, "end": 17094, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 17010, "end": 17023, "ctxt": 0 }, "value": "ScopedMembers", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 17024, "end": 17093, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 17028, "end": 17047, "ctxt": 0 }, "value": "DualStringHashTable", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 17048, "end": 17069, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 17052, "end": 17067, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null } }, { "spread": null, "expression": { "type": "NewExpression", "span": { "start": 17071, "end": 17092, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 17075, "end": 17090, "ctxt": 0 }, "value": "StringHashTable", "optional": false }, "arguments": [], "typeArguments": null } } ], "typeArguments": null } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 17184, "end": 17368, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 17188, "end": 17367, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 17188, "end": 17199, "ctxt": 0 }, "value": "catchLocals", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 17202, "end": 17367, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 17206, "end": 17224, "ctxt": 0 }, "value": "SymbolScopeBuilder", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 17225, "end": 17235, "ctxt": 0 }, "value": "catchTable", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 17237, "end": 17241, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 17243, "end": 17247, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 17249, "end": 17253, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 17255, "end": 17279, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 17255, "end": 17273, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 17255, "end": 17262, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 17263, "end": 17273, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 17274, "end": 17279, "ctxt": 0 }, "value": "scope", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 17332, "end": 17366, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 17332, "end": 17356, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 17332, "end": 17350, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 17332, "end": 17339, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 17340, "end": 17350, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 17351, "end": 17356, "ctxt": 0 }, "value": "scope", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 17357, "end": 17366, "ctxt": 0 }, "value": "container", "optional": false } } } ], "typeArguments": null }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 17381, "end": 17421, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 17381, "end": 17420, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 17381, "end": 17406, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 17381, "end": 17391, "ctxt": 0 }, "value": "catchBlock", "optional": false }, "property": { "type": "Identifier", "span": { "start": 17392, "end": 17406, "ctxt": 0 }, "value": "containedScope", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 17409, "end": 17420, "ctxt": 0 }, "value": "catchLocals", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 17434, "end": 17555, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 17434, "end": 17554, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 17434, "end": 17449, "ctxt": 0 }, "value": "pushAssignScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 17450, "end": 17461, "ctxt": 0 }, "value": "catchLocals", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 17463, "end": 17470, "ctxt": 0 }, "value": "context", "optional": false } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 17472, "end": 17499, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 17472, "end": 17490, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 17472, "end": 17479, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 17480, "end": 17490, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 17491, "end": 17499, "ctxt": 0 }, "value": "thisType", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 17501, "end": 17529, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 17501, "end": 17519, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 17501, "end": 17508, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 17509, "end": 17519, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 17520, "end": 17529, "ctxt": 0 }, "value": "classType", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 17531, "end": 17553, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 17531, "end": 17549, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 17531, "end": 17538, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 17539, "end": 17549, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 17550, "end": 17553, "ctxt": 0 }, "value": "fnc", "optional": false } } } ], "typeArguments": null } } ] }, "alternate": null } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 17577, "end": 18867, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 17593, "end": 17608, "ctxt": 0 }, "value": "preAssignScopes", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 17609, "end": 17617, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 17609, "end": 17617, "ctxt": 0 }, "value": "ast", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 17612, "end": 17617, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 17614, "end": 17617, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 17614, "end": 17617, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 17619, "end": 17630, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 17619, "end": 17630, "ctxt": 0 }, "value": "parent", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 17625, "end": 17630, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 17627, "end": 17630, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 17627, "end": 17630, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 17632, "end": 17650, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 17632, "end": 17650, "ctxt": 0 }, "value": "walker", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 17638, "end": 17650, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 17640, "end": 17650, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 17640, "end": 17650, "ctxt": 0 }, "value": "IAstWalker", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 17584, "end": 18867, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 17652, "end": 18867, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 17662, "end": 17708, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 17666, "end": 17707, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 17666, "end": 17673, "ctxt": 0 }, "value": "context", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 17673, "end": 17692, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 17674, "end": 17692, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 17674, "end": 17692, "ctxt": 0 }, "value": "AssignScopeContext", "optional": false }, "typeParams": null } } }, "init": { "type": "MemberExpression", "span": { "start": 17695, "end": 17707, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 17695, "end": 17701, "ctxt": 0 }, "value": "walker", "optional": false }, "property": { "type": "Identifier", "span": { "start": 17702, "end": 17707, "ctxt": 0 }, "value": "state", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 17717, "end": 17731, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 17721, "end": 17730, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 17721, "end": 17723, "ctxt": 0 }, "value": "go", "optional": false, "typeAnnotation": null }, "init": { "type": "BooleanLiteral", "span": { "start": 17726, "end": 17730, "ctxt": 0 }, "value": true }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 17741, "end": 18801, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 17745, "end": 17748, "ctxt": 0 }, "value": "ast", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 17750, "end": 18801, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 17764, "end": 18791, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 17768, "end": 17797, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 17768, "end": 17780, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 17768, "end": 17771, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 17772, "end": 17780, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 17784, "end": 17797, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 17784, "end": 17792, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 17793, "end": 17797, "ctxt": 0 }, "value": "List", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 17799, "end": 17919, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 17817, "end": 17841, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 17821, "end": 17840, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 17821, "end": 17825, "ctxt": 0 }, "value": "list", "optional": false, "typeAnnotation": null }, "init": { "type": "TsTypeAssertion", "span": { "start": 17828, "end": 17840, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 17837, "end": 17840, "ctxt": 0 }, "value": "ast", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 17829, "end": 17836, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 17829, "end": 17836, "ctxt": 0 }, "value": "ASTList", "optional": false }, "typeParams": null } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 17858, "end": 17905, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 17858, "end": 17904, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 17858, "end": 17877, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 17858, "end": 17862, "ctxt": 0 }, "value": "list", "optional": false }, "property": { "type": "Identifier", "span": { "start": 17863, "end": 17877, "ctxt": 0 }, "value": "enclosingScope", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 17880, "end": 17904, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 17880, "end": 17898, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 17880, "end": 17887, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 17888, "end": 17898, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 17899, "end": 17904, "ctxt": 0 }, "value": "scope", "optional": false } } } } ] }, "alternate": { "type": "IfStatement", "span": { "start": 17937, "end": 18791, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 17941, "end": 17983, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 17941, "end": 17953, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 17941, "end": 17944, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 17945, "end": 17953, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 17957, "end": 17983, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 17957, "end": 17965, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 17966, "end": 17983, "ctxt": 0 }, "value": "ModuleDeclaration", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 17985, "end": 18053, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 18003, "end": 18039, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 18003, "end": 18038, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 18003, "end": 18024, "ctxt": 0 }, "value": "preAssignModuleScopes", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 18025, "end": 18028, "ctxt": 0 }, "value": "ast", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 18030, "end": 18037, "ctxt": 0 }, "value": "context", "optional": false } } ], "typeArguments": null } } ] }, "alternate": { "type": "IfStatement", "span": { "start": 18071, "end": 18791, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 18075, "end": 18116, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 18075, "end": 18087, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18075, "end": 18078, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18079, "end": 18087, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 18091, "end": 18116, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18091, "end": 18099, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18100, "end": 18116, "ctxt": 0 }, "value": "ClassDeclaration", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 18118, "end": 18185, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 18136, "end": 18171, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 18136, "end": 18170, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 18136, "end": 18156, "ctxt": 0 }, "value": "preAssignClassScopes", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 18157, "end": 18160, "ctxt": 0 }, "value": "ast", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 18162, "end": 18169, "ctxt": 0 }, "value": "context", "optional": false } } ], "typeArguments": null } } ] }, "alternate": { "type": "IfStatement", "span": { "start": 18203, "end": 18791, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 18207, "end": 18252, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 18207, "end": 18219, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18207, "end": 18210, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18211, "end": 18219, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 18223, "end": 18252, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18223, "end": 18231, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18232, "end": 18252, "ctxt": 0 }, "value": "InterfaceDeclaration", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 18254, "end": 18325, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 18272, "end": 18311, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 18272, "end": 18310, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 18272, "end": 18296, "ctxt": 0 }, "value": "preAssignInterfaceScopes", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 18297, "end": 18300, "ctxt": 0 }, "value": "ast", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 18302, "end": 18309, "ctxt": 0 }, "value": "context", "optional": false } } ], "typeArguments": null } } ] }, "alternate": { "type": "IfStatement", "span": { "start": 18343, "end": 18791, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 18347, "end": 18376, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 18347, "end": 18359, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18347, "end": 18350, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18351, "end": 18359, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 18363, "end": 18376, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18363, "end": 18371, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18372, "end": 18376, "ctxt": 0 }, "value": "With", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 18378, "end": 18444, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 18396, "end": 18430, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 18396, "end": 18429, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 18396, "end": 18415, "ctxt": 0 }, "value": "preAssignWithScopes", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 18416, "end": 18419, "ctxt": 0 }, "value": "ast", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 18421, "end": 18428, "ctxt": 0 }, "value": "context", "optional": false } } ], "typeArguments": null } } ] }, "alternate": { "type": "IfStatement", "span": { "start": 18462, "end": 18791, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 18466, "end": 18499, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 18466, "end": 18478, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18466, "end": 18469, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18470, "end": 18478, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 18482, "end": 18499, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18482, "end": 18490, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18491, "end": 18499, "ctxt": 0 }, "value": "FuncDecl", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 18501, "end": 18571, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 18519, "end": 18557, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 18519, "end": 18556, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 18519, "end": 18542, "ctxt": 0 }, "value": "preAssignFuncDeclScopes", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 18543, "end": 18546, "ctxt": 0 }, "value": "ast", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 18548, "end": 18555, "ctxt": 0 }, "value": "context", "optional": false } } ], "typeArguments": null } } ] }, "alternate": { "type": "IfStatement", "span": { "start": 18589, "end": 18791, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 18593, "end": 18623, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 18593, "end": 18605, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18593, "end": 18596, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18597, "end": 18605, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 18609, "end": 18623, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18609, "end": 18617, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18618, "end": 18623, "ctxt": 0 }, "value": "Catch", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 18625, "end": 18692, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 18643, "end": 18678, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 18643, "end": 18677, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 18643, "end": 18663, "ctxt": 0 }, "value": "preAssignCatchScopes", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 18664, "end": 18667, "ctxt": 0 }, "value": "ast", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 18669, "end": 18676, "ctxt": 0 }, "value": "context", "optional": false } } ], "typeArguments": null } } ] }, "alternate": { "type": "IfStatement", "span": { "start": 18710, "end": 18791, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 18714, "end": 18746, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 18714, "end": 18726, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18714, "end": 18717, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18718, "end": 18726, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 18730, "end": 18746, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18730, "end": 18738, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18739, "end": 18746, "ctxt": 0 }, "value": "TypeRef", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 18748, "end": 18791, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 18766, "end": 18777, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 18766, "end": 18776, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 18766, "end": 18768, "ctxt": 0 }, "value": "go", "optional": false, "typeAnnotation": null }, "right": { "type": "BooleanLiteral", "span": { "start": 18771, "end": 18776, "ctxt": 0 }, "value": false } } } ] }, "alternate": null } } } } } } } } ] }, "alternate": null }, { "type": "ExpressionStatement", "span": { "start": 18810, "end": 18841, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 18810, "end": 18840, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 18810, "end": 18835, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 18810, "end": 18824, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18810, "end": 18816, "ctxt": 0 }, "value": "walker", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18817, "end": 18824, "ctxt": 0 }, "value": "options", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 18825, "end": 18835, "ctxt": 0 }, "value": "goChildren", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 18838, "end": 18840, "ctxt": 0 }, "value": "go", "optional": false } } }, { "type": "ReturnStatement", "span": { "start": 18850, "end": 18861, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 18857, "end": 18860, "ctxt": 0 }, "value": "ast", "optional": false } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 18873, "end": 20474, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 18889, "end": 18905, "ctxt": 0 }, "value": "postAssignScopes", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 18906, "end": 18914, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 18906, "end": 18914, "ctxt": 0 }, "value": "ast", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 18909, "end": 18914, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 18911, "end": 18914, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 18911, "end": 18914, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 18916, "end": 18927, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 18916, "end": 18927, "ctxt": 0 }, "value": "parent", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 18922, "end": 18927, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 18924, "end": 18927, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 18924, "end": 18927, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 18929, "end": 18947, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 18929, "end": 18947, "ctxt": 0 }, "value": "walker", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 18935, "end": 18947, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 18937, "end": 18947, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 18937, "end": 18947, "ctxt": 0 }, "value": "IAstWalker", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 18880, "end": 20474, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 18949, "end": 20474, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 18959, "end": 19005, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 18963, "end": 19004, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 18963, "end": 18970, "ctxt": 0 }, "value": "context", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 18970, "end": 18989, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 18971, "end": 18989, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 18971, "end": 18989, "ctxt": 0 }, "value": "AssignScopeContext", "optional": false }, "typeParams": null } } }, "init": { "type": "MemberExpression", "span": { "start": 18992, "end": 19004, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 18992, "end": 18998, "ctxt": 0 }, "value": "walker", "optional": false }, "property": { "type": "Identifier", "span": { "start": 18999, "end": 19004, "ctxt": 0 }, "value": "state", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 19014, "end": 19028, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 19018, "end": 19027, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 19018, "end": 19020, "ctxt": 0 }, "value": "go", "optional": false, "typeAnnotation": null }, "init": { "type": "BooleanLiteral", "span": { "start": 19023, "end": 19027, "ctxt": 0 }, "value": true }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 19037, "end": 20408, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 19041, "end": 19044, "ctxt": 0 }, "value": "ast", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 19046, "end": 20408, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 19060, "end": 20398, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 19064, "end": 19106, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 19064, "end": 19076, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19064, "end": 19067, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19068, "end": 19076, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 19080, "end": 19106, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19080, "end": 19088, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19089, "end": 19106, "ctxt": 0 }, "value": "ModuleDeclaration", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 19108, "end": 19459, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 19126, "end": 19167, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 19130, "end": 19166, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 19130, "end": 19141, "ctxt": 0 }, "value": "prevModDecl", "optional": false, "typeAnnotation": null }, "init": { "type": "TsTypeAssertion", "span": { "start": 19144, "end": 19166, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 19163, "end": 19166, "ctxt": 0 }, "value": "ast", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 19145, "end": 19162, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 19145, "end": 19162, "ctxt": 0 }, "value": "ModuleDeclaration", "optional": false }, "typeParams": null } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 19185, "end": 19209, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 19185, "end": 19208, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 19185, "end": 19199, "ctxt": 0 }, "value": "popAssignScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 19200, "end": 19207, "ctxt": 0 }, "value": "context", "optional": false } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 19227, "end": 19254, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 19227, "end": 19253, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 19227, "end": 19251, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 19227, "end": 19247, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19227, "end": 19234, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19235, "end": 19247, "ctxt": 0 }, "value": "modDeclChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 19248, "end": 19251, "ctxt": 0 }, "value": "pop", "optional": false } }, "arguments": [], "typeArguments": null } }, { "type": "IfStatement", "span": { "start": 19271, "end": 19445, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 19275, "end": 19307, "ctxt": 0 }, "operator": ">=", "left": { "type": "MemberExpression", "span": { "start": 19275, "end": 19302, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 19275, "end": 19295, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19275, "end": 19282, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19283, "end": 19295, "ctxt": 0 }, "value": "modDeclChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 19296, "end": 19302, "ctxt": 0 }, "value": "length", "optional": false } }, "right": { "type": "NumericLiteral", "span": { "start": 19306, "end": 19307, "ctxt": 0 }, "value": 1.0, "raw": "1" } }, "consequent": { "type": "BlockStatement", "span": { "start": 19309, "end": 19445, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 19331, "end": 19427, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 19331, "end": 19426, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 19331, "end": 19370, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 19331, "end": 19355, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 19331, "end": 19347, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19331, "end": 19338, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19339, "end": 19347, "ctxt": 0 }, "value": "typeFlow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 19348, "end": 19355, "ctxt": 0 }, "value": "checker", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 19356, "end": 19370, "ctxt": 0 }, "value": "currentModDecl", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 19373, "end": 19426, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 19373, "end": 19393, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19373, "end": 19380, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19381, "end": 19393, "ctxt": 0 }, "value": "modDeclChain", "optional": false } }, "property": { "type": "Computed", "span": { "start": 19393, "end": 19426, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 19394, "end": 19425, "ctxt": 0 }, "operator": "-", "left": { "type": "MemberExpression", "span": { "start": 19394, "end": 19421, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 19394, "end": 19414, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19394, "end": 19401, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19402, "end": 19414, "ctxt": 0 }, "value": "modDeclChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 19415, "end": 19421, "ctxt": 0 }, "value": "length", "optional": false } }, "right": { "type": "NumericLiteral", "span": { "start": 19424, "end": 19425, "ctxt": 0 }, "value": 1.0, "raw": "1" } } } } } } ] }, "alternate": null } ] }, "alternate": { "type": "IfStatement", "span": { "start": 19477, "end": 20398, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 19481, "end": 19522, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 19481, "end": 19493, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19481, "end": 19484, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19485, "end": 19493, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 19497, "end": 19522, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19497, "end": 19505, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19506, "end": 19522, "ctxt": 0 }, "value": "ClassDeclaration", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 19524, "end": 19580, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 19542, "end": 19566, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 19542, "end": 19565, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 19542, "end": 19556, "ctxt": 0 }, "value": "popAssignScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 19557, "end": 19564, "ctxt": 0 }, "value": "context", "optional": false } } ], "typeArguments": null } } ] }, "alternate": { "type": "IfStatement", "span": { "start": 19598, "end": 20398, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 19602, "end": 19647, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 19602, "end": 19614, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19602, "end": 19605, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19606, "end": 19614, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 19618, "end": 19647, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19618, "end": 19626, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19627, "end": 19647, "ctxt": 0 }, "value": "InterfaceDeclaration", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 19649, "end": 19705, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 19667, "end": 19691, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 19667, "end": 19690, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 19667, "end": 19681, "ctxt": 0 }, "value": "popAssignScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 19682, "end": 19689, "ctxt": 0 }, "value": "context", "optional": false } } ], "typeArguments": null } } ] }, "alternate": { "type": "IfStatement", "span": { "start": 19723, "end": 20398, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 19727, "end": 19756, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 19727, "end": 19739, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19727, "end": 19730, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19731, "end": 19739, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 19743, "end": 19756, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19743, "end": 19751, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19752, "end": 19756, "ctxt": 0 }, "value": "With", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 19758, "end": 19814, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 19776, "end": 19800, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 19776, "end": 19799, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 19776, "end": 19790, "ctxt": 0 }, "value": "popAssignScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 19791, "end": 19798, "ctxt": 0 }, "value": "context", "optional": false } } ], "typeArguments": null } } ] }, "alternate": { "type": "IfStatement", "span": { "start": 19832, "end": 20398, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 19836, "end": 19869, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 19836, "end": 19848, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19836, "end": 19839, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19840, "end": 19848, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 19852, "end": 19869, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19852, "end": 19860, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19861, "end": 19869, "ctxt": 0 }, "value": "FuncDecl", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 19871, "end": 20120, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 19889, "end": 19918, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 19893, "end": 19917, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 19893, "end": 19901, "ctxt": 0 }, "value": "funcDecl", "optional": false, "typeAnnotation": null }, "init": { "type": "TsTypeAssertion", "span": { "start": 19904, "end": 19917, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 19914, "end": 19917, "ctxt": 0 }, "value": "ast", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 19905, "end": 19913, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 19905, "end": 19913, "ctxt": 0 }, "value": "FuncDecl", "optional": false }, "typeParams": null } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 19935, "end": 20106, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 19939, "end": 20040, "ctxt": 0 }, "operator": "&&", "left": { "type": "ParenthesisExpression", "span": { "start": 19939, "end": 20016, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 19940, "end": 20015, "ctxt": 0 }, "operator": "||", "left": { "type": "UnaryExpression", "span": { "start": 19940, "end": 19963, "ctxt": 0 }, "operator": "!", "argument": { "type": "MemberExpression", "span": { "start": 19941, "end": 19963, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19941, "end": 19949, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19950, "end": 19963, "ctxt": 0 }, "value": "isConstructor", "optional": false } } }, "right": { "type": "CallExpression", "span": { "start": 19967, "end": 20015, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 19967, "end": 19974, "ctxt": 0 }, "value": "hasFlag", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 19975, "end": 19992, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19975, "end": 19983, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 19984, "end": 19992, "ctxt": 0 }, "value": "fncFlags", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 19994, "end": 20014, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 19994, "end": 20002, "ctxt": 0 }, "value": "FncFlags", "optional": false }, "property": { "type": "Identifier", "span": { "start": 20003, "end": 20014, "ctxt": 0 }, "value": "ClassMethod", "optional": false } } } ], "typeArguments": null } } }, "right": { "type": "UnaryExpression", "span": { "start": 20020, "end": 20040, "ctxt": 0 }, "operator": "!", "argument": { "type": "MemberExpression", "span": { "start": 20021, "end": 20040, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 20021, "end": 20029, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 20030, "end": 20040, "ctxt": 0 }, "value": "isOverload", "optional": false } } } }, "consequent": { "type": "BlockStatement", "span": { "start": 20042, "end": 20106, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 20064, "end": 20088, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 20064, "end": 20087, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 20064, "end": 20078, "ctxt": 0 }, "value": "popAssignScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 20079, "end": 20086, "ctxt": 0 }, "value": "context", "optional": false } } ], "typeArguments": null } } ] }, "alternate": null } ] }, "alternate": { "type": "IfStatement", "span": { "start": 20138, "end": 20398, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 20142, "end": 20172, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 20142, "end": 20154, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 20142, "end": 20145, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 20146, "end": 20154, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 20158, "end": 20172, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 20158, "end": 20166, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 20167, "end": 20172, "ctxt": 0 }, "value": "Catch", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 20174, "end": 20337, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 20192, "end": 20220, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 20196, "end": 20219, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 20196, "end": 20206, "ctxt": 0 }, "value": "catchBlock", "optional": false, "typeAnnotation": null }, "init": { "type": "TsTypeAssertion", "span": { "start": 20209, "end": 20219, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 20216, "end": 20219, "ctxt": 0 }, "value": "ast", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 20210, "end": 20215, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 20210, "end": 20215, "ctxt": 0 }, "value": "Catch", "optional": false }, "typeParams": null } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 20237, "end": 20323, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 20241, "end": 20257, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 20241, "end": 20251, "ctxt": 0 }, "value": "catchBlock", "optional": false }, "property": { "type": "Identifier", "span": { "start": 20252, "end": 20257, "ctxt": 0 }, "value": "param", "optional": false } }, "consequent": { "type": "BlockStatement", "span": { "start": 20259, "end": 20323, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 20281, "end": 20305, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 20281, "end": 20304, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 20281, "end": 20295, "ctxt": 0 }, "value": "popAssignScope", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 20296, "end": 20303, "ctxt": 0 }, "value": "context", "optional": false } } ], "typeArguments": null } } ] }, "alternate": null } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 20355, "end": 20398, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 20373, "end": 20384, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 20373, "end": 20383, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 20373, "end": 20375, "ctxt": 0 }, "value": "go", "optional": false, "typeAnnotation": null }, "right": { "type": "BooleanLiteral", "span": { "start": 20378, "end": 20383, "ctxt": 0 }, "value": false } } } ] } } } } } } } ] }, "alternate": null }, { "type": "ExpressionStatement", "span": { "start": 20417, "end": 20448, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 20417, "end": 20447, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 20417, "end": 20442, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 20417, "end": 20431, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 20417, "end": 20423, "ctxt": 0 }, "value": "walker", "optional": false }, "property": { "type": "Identifier", "span": { "start": 20424, "end": 20431, "ctxt": 0 }, "value": "options", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 20432, "end": 20442, "ctxt": 0 }, "value": "goChildren", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 20445, "end": 20447, "ctxt": 0 }, "value": "go", "optional": false } } }, { "type": "ReturnStatement", "span": { "start": 20457, "end": 20468, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 20464, "end": 20467, "ctxt": 0 }, "value": "ast", "optional": false } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } } ] } } ], "interpreter": null }