{ "type": "Script", "span": { "start": 212, "end": 8747, "ctxt": 0 }, "body": [ { "type": "TsModuleDeclaration", "span": { "start": 212, "end": 8747, "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": 8747, "ctxt": 0 }, "body": [ { "type": "ExportDeclaration", "span": { "start": 236, "end": 410, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 249, "end": 270, "ctxt": 0 }, "value": "TypeCollectionContext", "optional": false }, "declare": false, "span": { "start": 243, "end": 410, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 281, "end": 310, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 288, "end": 294, "ctxt": 0 }, "value": "script", "optional": false }, "value": { "type": "NullLiteral", "span": { "start": 305, "end": 309, "ctxt": 0 } }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 294, "end": 302, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 296, "end": 302, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 296, "end": 302, "ctxt": 0 }, "value": "Script", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "Constructor", "span": { "start": 320, "end": 404, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 320, "end": 331, "ctxt": 0 }, "value": "constructor", "optional": false }, "params": [ { "type": "TsParameterProperty", "span": { "start": 333, "end": 362, "ctxt": 0 }, "decorators": [], "accessibility": "public", "override": false, "readonly": false, "param": { "type": "Identifier", "span": { "start": 340, "end": 362, "ctxt": 0 }, "value": "scopeChain", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 350, "end": 362, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 352, "end": 362, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 352, "end": 362, "ctxt": 0 }, "value": "ScopeChain", "optional": false }, "typeParams": null } } } }, { "type": "TsParameterProperty", "span": { "start": 364, "end": 391, "ctxt": 0 }, "decorators": [], "accessibility": "public", "override": false, "readonly": false, "param": { "type": "Identifier", "span": { "start": 371, "end": 391, "ctxt": 0 }, "value": "checker", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 378, "end": 391, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 380, "end": 391, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 380, "end": 391, "ctxt": 0 }, "value": "TypeChecker", "optional": false }, "typeParams": null } } } } ], "body": { "type": "BlockStatement", "span": { "start": 393, "end": 404, "ctxt": 0 }, "stmts": [] }, "accessibility": null, "isOptional": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } }, { "type": "ExportDeclaration", "span": { "start": 416, "end": 708, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 429, "end": 447, "ctxt": 0 }, "value": "MemberScopeContext", "optional": false }, "declare": false, "span": { "start": 423, "end": 708, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 458, "end": 483, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 465, "end": 469, "ctxt": 0 }, "value": "type", "optional": false }, "value": { "type": "NullLiteral", "span": { "start": 478, "end": 482, "ctxt": 0 } }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 469, "end": 475, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 471, "end": 475, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 471, "end": 475, "ctxt": 0 }, "value": "Type", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 492, "end": 515, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 499, "end": 502, "ctxt": 0 }, "value": "ast", "optional": false }, "value": { "type": "NullLiteral", "span": { "start": 510, "end": 514, "ctxt": 0 } }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 502, "end": 507, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 504, "end": 507, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 504, "end": 507, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 524, "end": 550, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 531, "end": 536, "ctxt": 0 }, "value": "scope", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 536, "end": 549, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 538, "end": 549, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 538, "end": 549, "ctxt": 0 }, "value": "SymbolScope", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 559, "end": 597, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 566, "end": 573, "ctxt": 0 }, "value": "options", "optional": false }, "value": { "type": "NewExpression", "span": { "start": 576, "end": 596, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 580, "end": 594, "ctxt": 0 }, "value": "AstWalkOptions", "optional": false }, "arguments": [], "typeArguments": null }, "typeAnnotation": null, "isStatic": false, "decorators": [], "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "Constructor", "span": { "start": 607, "end": 702, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 607, "end": 618, "ctxt": 0 }, "value": "constructor", "optional": false }, "params": [ { "type": "TsParameterProperty", "span": { "start": 620, "end": 641, "ctxt": 0 }, "decorators": [], "accessibility": "public", "override": false, "readonly": false, "param": { "type": "Identifier", "span": { "start": 627, "end": 641, "ctxt": 0 }, "value": "flow", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 631, "end": 641, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 633, "end": 641, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 633, "end": 641, "ctxt": 0 }, "value": "TypeFlow", "optional": false }, "typeParams": null } } } }, { "type": "TsParameterProperty", "span": { "start": 643, "end": 661, "ctxt": 0 }, "decorators": [], "accessibility": "public", "override": false, "readonly": false, "param": { "type": "Identifier", "span": { "start": 650, "end": 661, "ctxt": 0 }, "value": "pos", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 653, "end": 661, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 655, "end": 661, "ctxt": 0 }, "kind": "number" } } } }, { "type": "TsParameterProperty", "span": { "start": 663, "end": 689, "ctxt": 0 }, "decorators": [], "accessibility": "public", "override": false, "readonly": false, "param": { "type": "Identifier", "span": { "start": 670, "end": 689, "ctxt": 0 }, "value": "matchFlag", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 679, "end": 689, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 681, "end": 689, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 681, "end": 689, "ctxt": 0 }, "value": "ASTFlags", "optional": false }, "typeParams": null } } } } ], "body": { "type": "BlockStatement", "span": { "start": 691, "end": 702, "ctxt": 0 }, "stmts": [] }, "accessibility": null, "isOptional": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } }, { "type": "ExportDeclaration", "span": { "start": 714, "end": 2588, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 727, "end": 748, "ctxt": 0 }, "value": "EnclosingScopeContext", "optional": false }, "declare": false, "span": { "start": 721, "end": 2588, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 760, "end": 805, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 767, "end": 778, "ctxt": 0 }, "value": "scopeGetter", "optional": false }, "value": { "type": "NullLiteral", "span": { "start": 800, "end": 804, "ctxt": 0 } }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 778, "end": 797, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 780, "end": 797, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 783, "end": 797, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 786, "end": 797, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 786, "end": 797, "ctxt": 0 }, "value": "SymbolScope", "optional": false }, "typeParams": null } } } }, "isStatic": false, "decorators": [], "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 814, "end": 872, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 821, "end": 845, "ctxt": 0 }, "value": "objectLiteralScopeGetter", "optional": false }, "value": { "type": "NullLiteral", "span": { "start": 867, "end": 871, "ctxt": 0 } }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 845, "end": 864, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 847, "end": 864, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 850, "end": 864, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 853, "end": 864, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 853, "end": 864, "ctxt": 0 }, "value": "SymbolScope", "optional": false }, "typeParams": null } } } }, "isStatic": false, "decorators": [], "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 881, "end": 914, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 888, "end": 901, "ctxt": 0 }, "value": "scopeStartAST", "optional": false }, "value": { "type": "NullLiteral", "span": { "start": 909, "end": 913, "ctxt": 0 } }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 901, "end": 906, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 903, "end": 906, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 903, "end": 906, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 923, "end": 963, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 930, "end": 954, "ctxt": 0 }, "value": "skipNextFuncDeclForClass", "optional": false }, "value": { "type": "BooleanLiteral", "span": { "start": 957, "end": 962, "ctxt": 0 }, "value": false }, "typeAnnotation": null, "isStatic": false, "decorators": [], "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 972, "end": 1023, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 979, "end": 996, "ctxt": 0 }, "value": "deepestModuleDecl", "optional": false }, "value": { "type": "NullLiteral", "span": { "start": 1018, "end": 1022, "ctxt": 0 } }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 996, "end": 1015, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 998, "end": 1015, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 998, "end": 1015, "ctxt": 0 }, "value": "ModuleDeclaration", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 1032, "end": 1082, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1039, "end": 1057, "ctxt": 0 }, "value": "enclosingClassDecl", "optional": false }, "value": { "type": "NullLiteral", "span": { "start": 1077, "end": 1081, "ctxt": 0 } }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1057, "end": 1074, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1059, "end": 1074, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1059, "end": 1074, "ctxt": 0 }, "value": "TypeDeclaration", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 1091, "end": 1141, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1098, "end": 1116, "ctxt": 0 }, "value": "enclosingObjectLit", "optional": false }, "value": { "type": "NullLiteral", "span": { "start": 1136, "end": 1140, "ctxt": 0 } }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1116, "end": 1133, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1118, "end": 1133, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1118, "end": 1133, "ctxt": 0 }, "value": "UnaryExpression", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 1150, "end": 1176, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1157, "end": 1168, "ctxt": 0 }, "value": "publicsOnly", "optional": false }, "value": { "type": "BooleanLiteral", "span": { "start": 1171, "end": 1175, "ctxt": 0 }, "value": true }, "typeAnnotation": null, "isStatic": false, "decorators": [], "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 1185, "end": 1211, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1192, "end": 1202, "ctxt": 0 }, "value": "useFullAst", "optional": false }, "value": { "type": "BooleanLiteral", "span": { "start": 1205, "end": 1210, "ctxt": 0 }, "value": false }, "typeAnnotation": null, "isStatic": false, "decorators": [], "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 1220, "end": 1251, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1228, "end": 1242, "ctxt": 0 }, "value": "scriptFragment", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1242, "end": 1250, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1244, "end": 1250, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1244, "end": 1250, "ctxt": 0 }, "value": "Script", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": "private", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "Constructor", "span": { "start": 1261, "end": 1494, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1261, "end": 1272, "ctxt": 0 }, "value": "constructor", "optional": false }, "params": [ { "type": "TsParameterProperty", "span": { "start": 1274, "end": 1296, "ctxt": 0 }, "decorators": [], "accessibility": "public", "override": false, "readonly": false, "param": { "type": "Identifier", "span": { "start": 1281, "end": 1296, "ctxt": 0 }, "value": "logger", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1287, "end": 1296, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1289, "end": 1296, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1289, "end": 1296, "ctxt": 0 }, "value": "ILogger", "optional": false }, "typeParams": null } } } }, { "type": "TsParameterProperty", "span": { "start": 1318, "end": 1339, "ctxt": 0 }, "decorators": [], "accessibility": "public", "override": false, "readonly": false, "param": { "type": "Identifier", "span": { "start": 1325, "end": 1339, "ctxt": 0 }, "value": "script", "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": "Script", "optional": false }, "typeParams": null } } } }, { "type": "TsParameterProperty", "span": { "start": 1361, "end": 1385, "ctxt": 0 }, "decorators": [], "accessibility": "public", "override": false, "readonly": false, "param": { "type": "Identifier", "span": { "start": 1368, "end": 1385, "ctxt": 0 }, "value": "text", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1372, "end": 1385, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1374, "end": 1385, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1374, "end": 1385, "ctxt": 0 }, "value": "ISourceText", "optional": false }, "typeParams": null } } } }, { "type": "TsParameterProperty", "span": { "start": 1407, "end": 1425, "ctxt": 0 }, "decorators": [], "accessibility": "public", "override": false, "readonly": false, "param": { "type": "Identifier", "span": { "start": 1414, "end": 1425, "ctxt": 0 }, "value": "pos", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1417, "end": 1425, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1419, "end": 1425, "ctxt": 0 }, "kind": "number" } } } }, { "type": "TsParameterProperty", "span": { "start": 1447, "end": 1481, "ctxt": 0 }, "decorators": [], "accessibility": "public", "override": false, "readonly": false, "param": { "type": "Identifier", "span": { "start": 1454, "end": 1481, "ctxt": 0 }, "value": "isMemberCompletion", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1472, "end": 1481, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1474, "end": 1481, "ctxt": 0 }, "kind": "boolean" } } } } ], "body": { "type": "BlockStatement", "span": { "start": 1483, "end": 1494, "ctxt": 0 }, "stmts": [] }, "accessibility": null, "isOptional": false }, { "type": "ClassMethod", "span": { "start": 1504, "end": 1585, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1511, "end": 1519, "ctxt": 0 }, "value": "getScope", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 1504, "end": 1585, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1535, "end": 1585, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 1549, "end": 1575, "ctxt": 0 }, "argument": { "type": "CallExpression", "span": { "start": 1556, "end": 1574, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 1556, "end": 1572, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1556, "end": 1560, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1561, "end": 1572, "ctxt": 0 }, "value": "scopeGetter", "optional": false } }, "arguments": [], "typeArguments": null } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 1521, "end": 1534, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1523, "end": 1534, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1523, "end": 1534, "ctxt": 0 }, "value": "SymbolScope", "optional": false }, "typeParams": null } } }, "kind": "method", "isStatic": false, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 1595, "end": 1702, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1602, "end": 1623, "ctxt": 0 }, "value": "getObjectLiteralScope", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 1595, "end": 1702, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1639, "end": 1702, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 1653, "end": 1692, "ctxt": 0 }, "argument": { "type": "CallExpression", "span": { "start": 1660, "end": 1691, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 1660, "end": 1689, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1660, "end": 1664, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1665, "end": 1689, "ctxt": 0 }, "value": "objectLiteralScopeGetter", "optional": false } }, "arguments": [], "typeArguments": null } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 1625, "end": 1638, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1627, "end": 1638, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1627, "end": 1638, "ctxt": 0 }, "value": "SymbolScope", "optional": false }, "typeParams": null } } }, "kind": "method", "isStatic": false, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 1712, "end": 1783, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1719, "end": 1730, "ctxt": 0 }, "value": "getScopeAST", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 1712, "end": 1783, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1733, "end": 1783, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 1747, "end": 1773, "ctxt": 0 }, "argument": { "type": "MemberExpression", "span": { "start": 1754, "end": 1772, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1754, "end": 1758, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1759, "end": 1772, "ctxt": 0 }, "value": "scopeStartAST", "optional": false } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 1793, "end": 1877, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1800, "end": 1816, "ctxt": 0 }, "value": "getScopePosition", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 1793, "end": 1877, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1819, "end": 1877, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 1833, "end": 1867, "ctxt": 0 }, "argument": { "type": "MemberExpression", "span": { "start": 1840, "end": 1866, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 1840, "end": 1858, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1840, "end": 1844, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1845, "end": 1858, "ctxt": 0 }, "value": "scopeStartAST", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 1859, "end": 1866, "ctxt": 0 }, "value": "minChar", "optional": false } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 1887, "end": 1977, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1894, "end": 1919, "ctxt": 0 }, "value": "getScriptFragmentStartAST", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 1887, "end": 1977, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1927, "end": 1977, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 1941, "end": 1967, "ctxt": 0 }, "argument": { "type": "MemberExpression", "span": { "start": 1948, "end": 1966, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1948, "end": 1952, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1953, "end": 1966, "ctxt": 0 }, "value": "scopeStartAST", "optional": false } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 1921, "end": 1926, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1923, "end": 1926, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1923, "end": 1926, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } } }, "kind": "method", "isStatic": false, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 1987, "end": 2102, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1994, "end": 2019, "ctxt": 0 }, "value": "getScriptFragmentPosition", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 1987, "end": 2102, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 2030, "end": 2102, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 2044, "end": 2092, "ctxt": 0 }, "argument": { "type": "MemberExpression", "span": { "start": 2051, "end": 2091, "ctxt": 0 }, "object": { "type": "CallExpression", "span": { "start": 2051, "end": 2083, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 2051, "end": 2081, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 2051, "end": 2055, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 2056, "end": 2081, "ctxt": 0 }, "value": "getScriptFragmentStartAST", "optional": false } }, "arguments": [], "typeArguments": null }, "property": { "type": "Identifier", "span": { "start": 2084, "end": 2091, "ctxt": 0 }, "value": "minChar", "optional": false } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 2021, "end": 2029, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2023, "end": 2029, "ctxt": 0 }, "kind": "number" } } }, "kind": "method", "isStatic": false, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 2112, "end": 2582, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 2119, "end": 2136, "ctxt": 0 }, "value": "getScriptFragment", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 2112, "end": 2582, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 2147, "end": 2582, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 2161, "end": 2532, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 2165, "end": 2192, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 2165, "end": 2184, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 2165, "end": 2169, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 2170, "end": 2184, "ctxt": 0 }, "value": "scriptFragment", "optional": false } }, "right": { "type": "NullLiteral", "span": { "start": 2188, "end": 2192, "ctxt": 0 } } }, "consequent": { "type": "BlockStatement", "span": { "start": 2194, "end": 2532, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 2212, "end": 2255, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2216, "end": 2254, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2216, "end": 2219, "ctxt": 0 }, "value": "ast", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 2222, "end": 2254, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 2222, "end": 2252, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 2222, "end": 2226, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 2227, "end": 2252, "ctxt": 0 }, "value": "getScriptFragmentStartAST", "optional": false } }, "arguments": [], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2272, "end": 2298, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2276, "end": 2297, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2276, "end": 2283, "ctxt": 0 }, "value": "minChar", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 2286, "end": 2297, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2286, "end": 2289, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2290, "end": 2297, "ctxt": 0 }, "value": "minChar", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2315, "end": 2381, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2319, "end": 2380, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2319, "end": 2326, "ctxt": 0 }, "value": "limChar", "optional": false, "typeAnnotation": null }, "init": { "type": "ParenthesisExpression", "span": { "start": 2329, "end": 2380, "ctxt": 0 }, "expression": { "type": "ConditionalExpression", "span": { "start": 2330, "end": 2379, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 2330, "end": 2353, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 2330, "end": 2334, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 2335, "end": 2353, "ctxt": 0 }, "value": "isMemberCompletion", "optional": false } }, "consequent": { "type": "MemberExpression", "span": { "start": 2356, "end": 2364, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 2356, "end": 2360, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 2361, "end": 2364, "ctxt": 0 }, "value": "pos", "optional": false } }, "alternate": { "type": "BinaryExpression", "span": { "start": 2367, "end": 2379, "ctxt": 0 }, "operator": "+", "left": { "type": "MemberExpression", "span": { "start": 2367, "end": 2375, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 2367, "end": 2371, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 2372, "end": 2375, "ctxt": 0 }, "value": "pos", "optional": false } }, "right": { "type": "NumericLiteral", "span": { "start": 2378, "end": 2379, "ctxt": 0 }, "value": 1.0, "raw": "1" } } } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2398, "end": 2518, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2398, "end": 2517, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2398, "end": 2417, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 2398, "end": 2402, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 2403, "end": 2417, "ctxt": 0 }, "value": "scriptFragment", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2420, "end": 2517, "ctxt": 0 }, "object": { "type": "CallExpression", "span": { "start": 2420, "end": 2510, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 2420, "end": 2441, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2420, "end": 2430, "ctxt": 0 }, "value": "TypeScript", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2431, "end": 2441, "ctxt": 0 }, "value": "quickParse", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 2442, "end": 2453, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 2442, "end": 2446, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 2447, "end": 2453, "ctxt": 0 }, "value": "logger", "optional": false } } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2455, "end": 2458, "ctxt": 0 }, "value": "ast", "optional": false } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 2460, "end": 2469, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 2460, "end": 2464, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 2465, "end": 2469, "ctxt": 0 }, "value": "text", "optional": false } } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2471, "end": 2478, "ctxt": 0 }, "value": "minChar", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2480, "end": 2487, "ctxt": 0 }, "value": "limChar", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 2489, "end": 2493, "ctxt": 0 } } } ], "typeArguments": null }, "property": { "type": "Identifier", "span": { "start": 2511, "end": 2517, "ctxt": 0 }, "value": "Script", "optional": false } } } } ] }, "alternate": null }, { "type": "ReturnStatement", "span": { "start": 2545, "end": 2572, "ctxt": 0 }, "argument": { "type": "MemberExpression", "span": { "start": 2552, "end": 2571, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 2552, "end": 2556, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 2557, "end": 2571, "ctxt": 0 }, "value": "scriptFragment", "optional": false } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 2138, "end": 2146, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2140, "end": 2146, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2140, "end": 2146, "ctxt": 0 }, "value": "Script", "optional": false }, "typeParams": null } } }, "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": 2594, "end": 3132, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 2610, "end": 2628, "ctxt": 0 }, "value": "preFindMemberScope", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 2629, "end": 2637, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 2629, "end": 2637, "ctxt": 0 }, "value": "ast", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2632, "end": 2637, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2634, "end": 2637, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2634, "end": 2637, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 2639, "end": 2650, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 2639, "end": 2650, "ctxt": 0 }, "value": "parent", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2645, "end": 2650, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2647, "end": 2650, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2647, "end": 2650, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 2652, "end": 2670, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 2652, "end": 2670, "ctxt": 0 }, "value": "walker", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2658, "end": 2670, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2660, "end": 2670, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2660, "end": 2670, "ctxt": 0 }, "value": "IAstWalker", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 2601, "end": 3132, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 2672, "end": 3132, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 2682, "end": 2730, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2686, "end": 2729, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2686, "end": 2694, "ctxt": 0 }, "value": "memScope", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2694, "end": 2714, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2696, "end": 2714, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2696, "end": 2714, "ctxt": 0 }, "value": "MemberScopeContext", "optional": false }, "typeParams": null } } }, "init": { "type": "MemberExpression", "span": { "start": 2717, "end": 2729, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2717, "end": 2723, "ctxt": 0 }, "value": "walker", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2724, "end": 2729, "ctxt": 0 }, "value": "state", "optional": false } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 2739, "end": 3106, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 2743, "end": 2838, "ctxt": 0 }, "operator": "&&", "left": { "type": "CallExpression", "span": { "start": 2743, "end": 2781, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 2743, "end": 2750, "ctxt": 0 }, "value": "hasFlag", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 2751, "end": 2760, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2751, "end": 2754, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2755, "end": 2760, "ctxt": 0 }, "value": "flags", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 2762, "end": 2780, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2762, "end": 2770, "ctxt": 0 }, "value": "memScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2771, "end": 2780, "ctxt": 0 }, "value": "matchFlag", "optional": false } } } ], "typeArguments": null }, "right": { "type": "ParenthesisExpression", "span": { "start": 2785, "end": 2838, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 2786, "end": 2837, "ctxt": 0 }, "operator": "||", "left": { "type": "ParenthesisExpression", "span": { "start": 2786, "end": 2804, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 2787, "end": 2803, "ctxt": 0 }, "operator": "<", "left": { "type": "MemberExpression", "span": { "start": 2787, "end": 2799, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2787, "end": 2795, "ctxt": 0 }, "value": "memScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2796, "end": 2799, "ctxt": 0 }, "value": "pos", "optional": false } }, "right": { "type": "NumericLiteral", "span": { "start": 2802, "end": 2803, "ctxt": 0 }, "value": 0.0, "raw": "0" } } }, "right": { "type": "ParenthesisExpression", "span": { "start": 2808, "end": 2837, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 2809, "end": 2836, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 2809, "end": 2821, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2809, "end": 2817, "ctxt": 0 }, "value": "memScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2818, "end": 2821, "ctxt": 0 }, "value": "pos", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 2825, "end": 2836, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2825, "end": 2828, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2829, "end": 2836, "ctxt": 0 }, "value": "limChar", "optional": false } } } } } } }, "consequent": { "type": "BlockStatement", "span": { "start": 2840, "end": 3106, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 2854, "end": 2873, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2854, "end": 2872, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2854, "end": 2866, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2854, "end": 2862, "ctxt": 0 }, "value": "memScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2863, "end": 2866, "ctxt": 0 }, "value": "ast", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 2869, "end": 2872, "ctxt": 0 }, "value": "ast", "optional": false } } }, { "type": "IfStatement", "span": { "start": 2886, "end": 3017, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 2890, "end": 2931, "ctxt": 0 }, "operator": "&&", "left": { "type": "ParenthesisExpression", "span": { "start": 2890, "end": 2908, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 2891, "end": 2907, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 2891, "end": 2899, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2891, "end": 2894, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2895, "end": 2899, "ctxt": 0 }, "value": "type", "optional": false } }, "right": { "type": "NullLiteral", "span": { "start": 2903, "end": 2907, "ctxt": 0 } } } }, "right": { "type": "ParenthesisExpression", "span": { "start": 2912, "end": 2931, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 2913, "end": 2930, "ctxt": 0 }, "operator": ">=", "left": { "type": "MemberExpression", "span": { "start": 2913, "end": 2925, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2913, "end": 2921, "ctxt": 0 }, "value": "memScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2922, "end": 2925, "ctxt": 0 }, "value": "pos", "optional": false } }, "right": { "type": "NumericLiteral", "span": { "start": 2929, "end": 2930, "ctxt": 0 }, "value": 0.0, "raw": "0" } } } }, "consequent": { "type": "BlockStatement", "span": { "start": 2933, "end": 3017, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 2951, "end": 3003, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 2951, "end": 3002, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 2951, "end": 2981, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 2951, "end": 2964, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2951, "end": 2959, "ctxt": 0 }, "value": "memScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2960, "end": 2964, "ctxt": 0 }, "value": "flow", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 2965, "end": 2981, "ctxt": 0 }, "value": "inScopeTypeCheck", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2982, "end": 2985, "ctxt": 0 }, "value": "ast", "optional": false } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 2987, "end": 3001, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2987, "end": 2995, "ctxt": 0 }, "value": "memScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2996, "end": 3001, "ctxt": 0 }, "value": "scope", "optional": false } } } ], "typeArguments": null } } ] }, "alternate": null }, { "type": "ExpressionStatement", "span": { "start": 3030, "end": 3055, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3030, "end": 3054, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3030, "end": 3043, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3030, "end": 3038, "ctxt": 0 }, "value": "memScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3039, "end": 3043, "ctxt": 0 }, "value": "type", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 3046, "end": 3054, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3046, "end": 3049, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3050, "end": 3054, "ctxt": 0 }, "value": "type", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 3068, "end": 3096, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 3068, "end": 3095, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 3068, "end": 3093, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 3068, "end": 3084, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3068, "end": 3076, "ctxt": 0 }, "value": "memScope", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3077, "end": 3084, "ctxt": 0 }, "value": "options", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 3085, "end": 3093, "ctxt": 0 }, "value": "stopWalk", "optional": false } }, "arguments": [], "typeArguments": null } } ] }, "alternate": null }, { "type": "ReturnStatement", "span": { "start": 3115, "end": 3126, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 3122, "end": 3125, "ctxt": 0 }, "value": "ast", "optional": false } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 3138, "end": 3866, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 3154, "end": 3177, "ctxt": 0 }, "value": "pushTypeCollectionScope", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 3178, "end": 3195, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 3178, "end": 3195, "ctxt": 0 }, "value": "container", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3187, "end": 3195, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3189, "end": 3195, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3189, "end": 3195, "ctxt": 0 }, "value": "Symbol", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 3205, "end": 3232, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 3205, "end": 3232, "ctxt": 0 }, "value": "valueMembers", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3217, "end": 3232, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3219, "end": 3232, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3219, "end": 3232, "ctxt": 0 }, "value": "ScopedMembers", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 3242, "end": 3276, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 3242, "end": 3276, "ctxt": 0 }, "value": "ambientValueMembers", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3261, "end": 3276, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3263, "end": 3276, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3263, "end": 3276, "ctxt": 0 }, "value": "ScopedMembers", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 3286, "end": 3314, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 3286, "end": 3314, "ctxt": 0 }, "value": "enclosedTypes", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3299, "end": 3314, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3301, "end": 3314, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3301, "end": 3314, "ctxt": 0 }, "value": "ScopedMembers", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 3324, "end": 3359, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 3324, "end": 3359, "ctxt": 0 }, "value": "ambientEnclosedTypes", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3344, "end": 3359, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3346, "end": 3359, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3346, "end": 3359, "ctxt": 0 }, "value": "ScopedMembers", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 3369, "end": 3399, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 3369, "end": 3399, "ctxt": 0 }, "value": "context", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3376, "end": 3399, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3378, "end": 3399, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3378, "end": 3399, "ctxt": 0 }, "value": "TypeCollectionContext", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 3409, "end": 3423, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 3409, "end": 3423, "ctxt": 0 }, "value": "thisType", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3417, "end": 3423, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3419, "end": 3423, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3419, "end": 3423, "ctxt": 0 }, "value": "Type", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 3433, "end": 3448, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 3433, "end": 3448, "ctxt": 0 }, "value": "classType", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3442, "end": 3448, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3444, "end": 3448, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3444, "end": 3448, "ctxt": 0 }, "value": "Type", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 3458, "end": 3487, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 3458, "end": 3487, "ctxt": 0 }, "value": "moduleDecl", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3468, "end": 3487, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3470, "end": 3487, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3470, "end": 3487, "ctxt": 0 }, "value": "ModuleDeclaration", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 3145, "end": 3866, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 3489, "end": 3866, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 3499, "end": 3625, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3503, "end": 3624, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3503, "end": 3510, "ctxt": 0 }, "value": "builder", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 3513, "end": 3624, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 3517, "end": 3535, "ctxt": 0 }, "value": "SymbolScopeBuilder", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3536, "end": 3548, "ctxt": 0 }, "value": "valueMembers", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3550, "end": 3569, "ctxt": 0 }, "value": "ambientValueMembers", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3571, "end": 3584, "ctxt": 0 }, "value": "enclosedTypes", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3586, "end": 3606, "ctxt": 0 }, "value": "ambientEnclosedTypes", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 3608, "end": 3612, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3614, "end": 3623, "ctxt": 0 }, "value": "container", "optional": false } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3634, "end": 3713, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3638, "end": 3712, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3638, "end": 3643, "ctxt": 0 }, "value": "chain", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3643, "end": 3655, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3645, "end": 3655, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3645, "end": 3655, "ctxt": 0 }, "value": "ScopeChain", "optional": false }, "typeParams": null } } }, "init": { "type": "NewExpression", "span": { "start": 3658, "end": 3712, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 3662, "end": 3672, "ctxt": 0 }, "value": "ScopeChain", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3673, "end": 3682, "ctxt": 0 }, "value": "container", "optional": false } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 3684, "end": 3702, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3684, "end": 3691, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3692, "end": 3702, "ctxt": 0 }, "value": "scopeChain", "optional": false } } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3704, "end": 3711, "ctxt": 0 }, "value": "builder", "optional": false } } ], "typeArguments": null }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 3722, "end": 3748, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3722, "end": 3747, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3722, "end": 3736, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3722, "end": 3727, "ctxt": 0 }, "value": "chain", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3728, "end": 3736, "ctxt": 0 }, "value": "thisType", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 3739, "end": 3747, "ctxt": 0 }, "value": "thisType", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 3757, "end": 3785, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3757, "end": 3784, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3757, "end": 3772, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3757, "end": 3762, "ctxt": 0 }, "value": "chain", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3763, "end": 3772, "ctxt": 0 }, "value": "classType", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 3775, "end": 3784, "ctxt": 0 }, "value": "classType", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 3794, "end": 3824, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3794, "end": 3823, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3794, "end": 3810, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3794, "end": 3799, "ctxt": 0 }, "value": "chain", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3800, "end": 3810, "ctxt": 0 }, "value": "moduleDecl", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 3813, "end": 3823, "ctxt": 0 }, "value": "moduleDecl", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 3833, "end": 3860, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3833, "end": 3859, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3833, "end": 3851, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3833, "end": 3840, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3841, "end": 3851, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 3854, "end": 3859, "ctxt": 0 }, "value": "chain", "optional": false } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 3872, "end": 4008, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 3888, "end": 3910, "ctxt": 0 }, "value": "popTypeCollectionScope", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 3911, "end": 3941, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 3911, "end": 3941, "ctxt": 0 }, "value": "context", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3918, "end": 3941, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3920, "end": 3941, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3920, "end": 3941, "ctxt": 0 }, "value": "TypeCollectionContext", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 3879, "end": 4008, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 3943, "end": 4008, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 3953, "end": 4002, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3953, "end": 4001, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3953, "end": 3971, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3953, "end": 3960, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3961, "end": 3971, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 3974, "end": 4001, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 3974, "end": 3992, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3974, "end": 3981, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3982, "end": 3992, "ctxt": 0 }, "value": "scopeChain", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 3993, "end": 4001, "ctxt": 0 }, "value": "previous", "optional": false } } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 4014, "end": 8071, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 4030, "end": 4051, "ctxt": 0 }, "value": "preFindEnclosingScope", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 4052, "end": 4060, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 4052, "end": 4060, "ctxt": 0 }, "value": "ast", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4055, "end": 4060, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4057, "end": 4060, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4057, "end": 4060, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 4062, "end": 4073, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 4062, "end": 4073, "ctxt": 0 }, "value": "parent", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4068, "end": 4073, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4070, "end": 4073, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4070, "end": 4073, "ctxt": 0 }, "value": "AST", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 4075, "end": 4093, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 4075, "end": 4093, "ctxt": 0 }, "value": "walker", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4081, "end": 4093, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4083, "end": 4093, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4083, "end": 4093, "ctxt": 0 }, "value": "IAstWalker", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 4021, "end": 8071, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 4095, "end": 8071, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 4105, "end": 4155, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4109, "end": 4154, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4109, "end": 4116, "ctxt": 0 }, "value": "context", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4116, "end": 4139, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4118, "end": 4139, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4118, "end": 4139, "ctxt": 0 }, "value": "EnclosingScopeContext", "optional": false }, "typeParams": null } } }, "init": { "type": "MemberExpression", "span": { "start": 4142, "end": 4154, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4142, "end": 4148, "ctxt": 0 }, "value": "walker", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4149, "end": 4154, "ctxt": 0 }, "value": "state", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 4164, "end": 4190, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4168, "end": 4189, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4168, "end": 4175, "ctxt": 0 }, "value": "minChar", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 4178, "end": 4189, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4178, "end": 4181, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4182, "end": 4189, "ctxt": 0 }, "value": "minChar", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 4199, "end": 4225, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4203, "end": 4224, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4203, "end": 4210, "ctxt": 0 }, "value": "limChar", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 4213, "end": 4224, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4213, "end": 4216, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4217, "end": 4224, "ctxt": 0 }, "value": "limChar", "optional": false } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 4372, "end": 4468, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 4376, "end": 4432, "ctxt": 0 }, "operator": "&&", "left": { "type": "BinaryExpression", "span": { "start": 4376, "end": 4407, "ctxt": 0 }, "operator": "==", "left": { "type": "MemberExpression", "span": { "start": 4376, "end": 4388, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4376, "end": 4379, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4380, "end": 4388, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 4392, "end": 4407, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4392, "end": 4400, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4401, "end": 4407, "ctxt": 0 }, "value": "Script", "optional": false } } }, "right": { "type": "BinaryExpression", "span": { "start": 4411, "end": 4432, "ctxt": 0 }, "operator": ">", "left": { "type": "MemberExpression", "span": { "start": 4411, "end": 4422, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4411, "end": 4418, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4419, "end": 4422, "ctxt": 0 }, "value": "pos", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 4425, "end": 4432, "ctxt": 0 }, "value": "limChar", "optional": false } } }, "consequent": { "type": "ExpressionStatement", "span": { "start": 4446, "end": 4468, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 4446, "end": 4467, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 4446, "end": 4453, "ctxt": 0 }, "value": "limChar", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 4456, "end": 4467, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4456, "end": 4463, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4464, "end": 4467, "ctxt": 0 }, "value": "pos", "optional": false } } } }, "alternate": null }, { "type": "IfStatement", "span": { "start": 4478, "end": 8045, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 4482, "end": 4546, "ctxt": 0 }, "operator": "&&", "left": { "type": "ParenthesisExpression", "span": { "start": 4482, "end": 4506, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 4483, "end": 4505, "ctxt": 0 }, "operator": "<=", "left": { "type": "Identifier", "span": { "start": 4483, "end": 4490, "ctxt": 0 }, "value": "minChar", "optional": false }, "right": { "type": "MemberExpression", "span": { "start": 4494, "end": 4505, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4494, "end": 4501, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4502, "end": 4505, "ctxt": 0 }, "value": "pos", "optional": false } } } }, "right": { "type": "ParenthesisExpression", "span": { "start": 4522, "end": 4546, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 4523, "end": 4545, "ctxt": 0 }, "operator": ">=", "left": { "type": "Identifier", "span": { "start": 4523, "end": 4530, "ctxt": 0 }, "value": "limChar", "optional": false }, "right": { "type": "MemberExpression", "span": { "start": 4534, "end": 4545, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4534, "end": 4541, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4542, "end": 4545, "ctxt": 0 }, "value": "pos", "optional": false } } } } }, "consequent": { "type": "BlockStatement", "span": { "start": 4548, "end": 7973, "ctxt": 0 }, "stmts": [ { "type": "SwitchStatement", "span": { "start": 4562, "end": 7917, "ctxt": 0 }, "discriminant": { "type": "MemberExpression", "span": { "start": 4570, "end": 4582, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4570, "end": 4573, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4574, "end": 4582, "ctxt": 0 }, "value": "nodeType", "optional": false } }, "cases": [ { "type": "SwitchCase", "span": { "start": 4602, "end": 4914, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 4607, "end": 4622, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4607, "end": 4615, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4616, "end": 4622, "ctxt": 0 }, "value": "Script", "optional": false } }, "consequent": [ { "type": "VariableDeclaration", "span": { "start": 4644, "end": 4669, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4648, "end": 4668, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4648, "end": 4654, "ctxt": 0 }, "value": "script", "optional": false, "typeAnnotation": null }, "init": { "type": "TsTypeAssertion", "span": { "start": 4657, "end": 4668, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 4665, "end": 4668, "ctxt": 0 }, "value": "ast", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4658, "end": 4664, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4658, "end": 4664, "ctxt": 0 }, "value": "Script", "optional": false }, "typeParams": null } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 4690, "end": 4835, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 4690, "end": 4834, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 4690, "end": 4709, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4690, "end": 4697, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4698, "end": 4709, "ctxt": 0 }, "value": "scopeGetter", "optional": false } }, "right": { "type": "FunctionExpression", "identifier": null, "params": [], "decorators": [], "span": { "start": 4712, "end": 4834, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 4724, "end": 4834, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 4750, "end": 4812, "ctxt": 0 }, "argument": { "type": "ConditionalExpression", "span": { "start": 4757, "end": 4811, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 4757, "end": 4776, "ctxt": 0 }, "operator": "===", "left": { "type": "MemberExpression", "span": { "start": 4757, "end": 4767, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4757, "end": 4763, "ctxt": 0 }, "value": "script", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4764, "end": 4767, "ctxt": 0 }, "value": "bod", "optional": false } }, "right": { "type": "NullLiteral", "span": { "start": 4772, "end": 4776, "ctxt": 0 } } }, "consequent": { "type": "NullLiteral", "span": { "start": 4779, "end": 4783, "ctxt": 0 } }, "alternate": { "type": "MemberExpression", "span": { "start": 4786, "end": 4811, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 4786, "end": 4796, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4786, "end": 4792, "ctxt": 0 }, "value": "script", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4793, "end": 4796, "ctxt": 0 }, "value": "bod", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 4797, "end": 4811, "ctxt": 0 }, "value": "enclosingScope", "optional": false } } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 4856, "end": 4887, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 4856, "end": 4886, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 4856, "end": 4877, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4856, "end": 4863, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4864, "end": 4877, "ctxt": 0 }, "value": "scopeStartAST", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 4880, "end": 4886, "ctxt": 0 }, "value": "script", "optional": false } } }, { "type": "BreakStatement", "span": { "start": 4908, "end": 4914, "ctxt": 0 }, "label": null } ] }, { "type": "SwitchCase", "span": { "start": 4932, "end": 5336, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 4937, "end": 4962, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4937, "end": 4945, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4946, "end": 4962, "ctxt": 0 }, "value": "ClassDeclaration", "optional": false } }, "consequent": [ { "type": "ExpressionStatement", "span": { "start": 4984, "end": 5189, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 4984, "end": 5188, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 4984, "end": 5003, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4984, "end": 4991, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4992, "end": 5003, "ctxt": 0 }, "value": "scopeGetter", "optional": false } }, "right": { "type": "FunctionExpression", "identifier": null, "params": [], "decorators": [], "span": { "start": 5006, "end": 5188, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 5018, "end": 5188, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 5044, "end": 5166, "ctxt": 0 }, "argument": { "type": "ConditionalExpression", "span": { "start": 5051, "end": 5165, "ctxt": 0 }, "test": { "type": "ParenthesisExpression", "span": { "start": 5051, "end": 5119, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 5052, "end": 5118, "ctxt": 0 }, "operator": "||", "left": { "type": "BinaryExpression", "span": { "start": 5052, "end": 5069, "ctxt": 0 }, "operator": "===", "left": { "type": "MemberExpression", "span": { "start": 5052, "end": 5060, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5052, "end": 5055, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5056, "end": 5060, "ctxt": 0 }, "value": "type", "optional": false } }, "right": { "type": "NullLiteral", "span": { "start": 5065, "end": 5069, "ctxt": 0 } } }, "right": { "type": "BinaryExpression", "span": { "start": 5073, "end": 5118, "ctxt": 0 }, "operator": "===", "left": { "type": "MemberExpression", "span": { "start": 5073, "end": 5109, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 5073, "end": 5094, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 5073, "end": 5081, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5073, "end": 5076, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5077, "end": 5081, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 5082, "end": 5094, "ctxt": 0 }, "value": "instanceType", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 5095, "end": 5109, "ctxt": 0 }, "value": "containedScope", "optional": false } }, "right": { "type": "NullLiteral", "span": { "start": 5114, "end": 5118, "ctxt": 0 } } } } }, "consequent": { "type": "NullLiteral", "span": { "start": 5122, "end": 5126, "ctxt": 0 } }, "alternate": { "type": "MemberExpression", "span": { "start": 5129, "end": 5165, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 5129, "end": 5150, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 5129, "end": 5137, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5129, "end": 5132, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5133, "end": 5137, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 5138, "end": 5150, "ctxt": 0 }, "value": "instanceType", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 5151, "end": 5165, "ctxt": 0 }, "value": "containedScope", "optional": false } } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 5210, "end": 5238, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 5210, "end": 5237, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 5210, "end": 5231, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5210, "end": 5217, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5218, "end": 5231, "ctxt": 0 }, "value": "scopeStartAST", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 5234, "end": 5237, "ctxt": 0 }, "value": "ast", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 5259, "end": 5309, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 5259, "end": 5308, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 5259, "end": 5285, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5259, "end": 5266, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5267, "end": 5285, "ctxt": 0 }, "value": "enclosingClassDecl", "optional": false } }, "right": { "type": "TsTypeAssertion", "span": { "start": 5288, "end": 5308, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 5305, "end": 5308, "ctxt": 0 }, "value": "ast", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 5289, "end": 5304, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 5289, "end": 5304, "ctxt": 0 }, "value": "TypeDeclaration", "optional": false }, "typeParams": null } } } }, { "type": "BreakStatement", "span": { "start": 5330, "end": 5336, "ctxt": 0 }, "label": null } ] }, { "type": "SwitchCase", "span": { "start": 5354, "end": 5990, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 5359, "end": 5377, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5359, "end": 5367, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5368, "end": 5377, "ctxt": 0 }, "value": "ObjectLit", "optional": false } }, "consequent": [ { "type": "VariableDeclaration", "span": { "start": 5399, "end": 5436, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 5403, "end": 5435, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5403, "end": 5412, "ctxt": 0 }, "value": "objectLit", "optional": false, "typeAnnotation": null }, "init": { "type": "TsTypeAssertion", "span": { "start": 5415, "end": 5435, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 5432, "end": 5435, "ctxt": 0 }, "value": "ast", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 5416, "end": 5431, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 5416, "end": 5431, "ctxt": 0 }, "value": "UnaryExpression", "optional": false }, "typeParams": null } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 5523, "end": 5963, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 5527, "end": 5547, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5527, "end": 5536, "ctxt": 0 }, "value": "objectLit", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5537, "end": 5547, "ctxt": 0 }, "value": "targetType", "optional": false } }, "consequent": { "type": "BlockStatement", "span": { "start": 5549, "end": 5963, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 5575, "end": 5709, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 5575, "end": 5708, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 5575, "end": 5594, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5575, "end": 5582, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5583, "end": 5594, "ctxt": 0 }, "value": "scopeGetter", "optional": false } }, "right": { "type": "FunctionExpression", "identifier": null, "params": [], "decorators": [], "span": { "start": 5597, "end": 5708, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 5609, "end": 5708, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 5639, "end": 5682, "ctxt": 0 }, "argument": { "type": "MemberExpression", "span": { "start": 5646, "end": 5681, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 5646, "end": 5666, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5646, "end": 5655, "ctxt": 0 }, "value": "objectLit", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5656, "end": 5666, "ctxt": 0 }, "value": "targetType", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 5667, "end": 5681, "ctxt": 0 }, "value": "containedScope", "optional": false } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 5734, "end": 5877, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 5734, "end": 5877, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 5734, "end": 5766, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5734, "end": 5741, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5742, "end": 5766, "ctxt": 0 }, "value": "objectLiteralScopeGetter", "optional": false } }, "right": { "type": "FunctionExpression", "identifier": null, "params": [], "decorators": [], "span": { "start": 5769, "end": 5877, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 5781, "end": 5877, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 5811, "end": 5851, "ctxt": 0 }, "argument": { "type": "MemberExpression", "span": { "start": 5818, "end": 5850, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 5818, "end": 5838, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5818, "end": 5827, "ctxt": 0 }, "value": "objectLit", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5828, "end": 5838, "ctxt": 0 }, "value": "targetType", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 5839, "end": 5850, "ctxt": 0 }, "value": "memberScope", "optional": false } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 5902, "end": 5941, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 5902, "end": 5940, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 5902, "end": 5928, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5902, "end": 5909, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5910, "end": 5928, "ctxt": 0 }, "value": "enclosingObjectLit", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 5931, "end": 5940, "ctxt": 0 }, "value": "objectLit", "optional": false } } } ] }, "alternate": null }, { "type": "BreakStatement", "span": { "start": 5984, "end": 5990, "ctxt": 0 }, "label": null } ] }, { "type": "SwitchCase", "span": { "start": 6008, "end": 6350, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 6013, "end": 6039, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6013, "end": 6021, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6022, "end": 6039, "ctxt": 0 }, "value": "ModuleDeclaration", "optional": false } }, "consequent": [ { "type": "ExpressionStatement", "span": { "start": 6061, "end": 6112, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 6061, "end": 6111, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 6061, "end": 6086, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6061, "end": 6068, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6069, "end": 6086, "ctxt": 0 }, "value": "deepestModuleDecl", "optional": false } }, "right": { "type": "TsTypeAssertion", "span": { "start": 6089, "end": 6111, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 6108, "end": 6111, "ctxt": 0 }, "value": "ast", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 6090, "end": 6107, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 6090, "end": 6107, "ctxt": 0 }, "value": "ModuleDeclaration", "optional": false }, "typeParams": null } } } }, { "type": "ExpressionStatement", "span": { "start": 6133, "end": 6274, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 6133, "end": 6273, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 6133, "end": 6152, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6133, "end": 6140, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6141, "end": 6152, "ctxt": 0 }, "value": "scopeGetter", "optional": false } }, "right": { "type": "FunctionExpression", "identifier": null, "params": [], "decorators": [], "span": { "start": 6155, "end": 6273, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 6167, "end": 6273, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 6193, "end": 6251, "ctxt": 0 }, "argument": { "type": "ConditionalExpression", "span": { "start": 6200, "end": 6250, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 6200, "end": 6217, "ctxt": 0 }, "operator": "===", "left": { "type": "MemberExpression", "span": { "start": 6200, "end": 6208, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6200, "end": 6203, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6204, "end": 6208, "ctxt": 0 }, "value": "type", "optional": false } }, "right": { "type": "NullLiteral", "span": { "start": 6213, "end": 6217, "ctxt": 0 } } }, "consequent": { "type": "NullLiteral", "span": { "start": 6220, "end": 6224, "ctxt": 0 } }, "alternate": { "type": "MemberExpression", "span": { "start": 6227, "end": 6250, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 6227, "end": 6235, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6227, "end": 6230, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6231, "end": 6235, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 6236, "end": 6250, "ctxt": 0 }, "value": "containedScope", "optional": false } } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 6295, "end": 6323, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 6295, "end": 6322, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 6295, "end": 6316, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6295, "end": 6302, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6303, "end": 6316, "ctxt": 0 }, "value": "scopeStartAST", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 6319, "end": 6322, "ctxt": 0 }, "value": "ast", "optional": false } } }, { "type": "BreakStatement", "span": { "start": 6344, "end": 6350, "ctxt": 0 }, "label": null } ] }, { "type": "SwitchCase", "span": { "start": 6368, "end": 6643, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 6373, "end": 6402, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6373, "end": 6381, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6382, "end": 6402, "ctxt": 0 }, "value": "InterfaceDeclaration", "optional": false } }, "consequent": [ { "type": "ExpressionStatement", "span": { "start": 6424, "end": 6567, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 6424, "end": 6566, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 6424, "end": 6443, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6424, "end": 6431, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6432, "end": 6443, "ctxt": 0 }, "value": "scopeGetter", "optional": false } }, "right": { "type": "FunctionExpression", "identifier": null, "params": [], "decorators": [], "span": { "start": 6446, "end": 6566, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 6458, "end": 6566, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 6484, "end": 6544, "ctxt": 0 }, "argument": { "type": "ConditionalExpression", "span": { "start": 6491, "end": 6543, "ctxt": 0 }, "test": { "type": "ParenthesisExpression", "span": { "start": 6491, "end": 6510, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 6492, "end": 6509, "ctxt": 0 }, "operator": "===", "left": { "type": "MemberExpression", "span": { "start": 6492, "end": 6500, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6492, "end": 6495, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6496, "end": 6500, "ctxt": 0 }, "value": "type", "optional": false } }, "right": { "type": "NullLiteral", "span": { "start": 6505, "end": 6509, "ctxt": 0 } } } }, "consequent": { "type": "NullLiteral", "span": { "start": 6513, "end": 6517, "ctxt": 0 } }, "alternate": { "type": "MemberExpression", "span": { "start": 6520, "end": 6543, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 6520, "end": 6528, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6520, "end": 6523, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6524, "end": 6528, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 6529, "end": 6543, "ctxt": 0 }, "value": "containedScope", "optional": false } } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 6588, "end": 6616, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 6588, "end": 6615, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 6588, "end": 6609, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6588, "end": 6595, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6596, "end": 6609, "ctxt": 0 }, "value": "scopeStartAST", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 6612, "end": 6615, "ctxt": 0 }, "value": "ast", "optional": false } } }, { "type": "BreakStatement", "span": { "start": 6637, "end": 6643, "ctxt": 0 }, "label": null } ] }, { "type": "SwitchCase", "span": { "start": 6661, "end": 7903, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 6666, "end": 6683, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6666, "end": 6674, "ctxt": 0 }, "value": "NodeType", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6675, "end": 6683, "ctxt": 0 }, "value": "FuncDecl", "optional": false } }, "consequent": [ { "type": "BlockStatement", "span": { "start": 6685, "end": 7876, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 6707, "end": 6736, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 6711, "end": 6735, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 6711, "end": 6719, "ctxt": 0 }, "value": "funcDecl", "optional": false, "typeAnnotation": null }, "init": { "type": "TsTypeAssertion", "span": { "start": 6722, "end": 6735, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 6732, "end": 6735, "ctxt": 0 }, "value": "ast", "optional": false }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 6723, "end": 6731, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 6723, "end": 6731, "ctxt": 0 }, "value": "FuncDecl", "optional": false }, "typeParams": null } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 6757, "end": 7858, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 6761, "end": 6793, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6761, "end": 6768, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6769, "end": 6793, "ctxt": 0 }, "value": "skipNextFuncDeclForClass", "optional": false } }, "consequent": { "type": "BlockStatement", "span": { "start": 6795, "end": 6884, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 6821, "end": 6862, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 6821, "end": 6861, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 6821, "end": 6853, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6821, "end": 6828, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6829, "end": 6853, "ctxt": 0 }, "value": "skipNextFuncDeclForClass", "optional": false } }, "right": { "type": "BooleanLiteral", "span": { "start": 6856, "end": 6861, "ctxt": 0 }, "value": false } } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 6910, "end": 7858, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 6936, "end": 7783, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 6936, "end": 7782, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 6936, "end": 6955, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6936, "end": 6943, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6944, "end": 6955, "ctxt": 0 }, "value": "scopeGetter", "optional": false } }, "right": { "type": "FunctionExpression", "identifier": null, "params": [], "decorators": [], "span": { "start": 6958, "end": 7782, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 6970, "end": 7782, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 7104, "end": 7407, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 7108, "end": 7182, "ctxt": 0 }, "operator": "&&", "left": { "type": "MemberExpression", "span": { "start": 7108, "end": 7130, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7108, "end": 7116, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7117, "end": 7130, "ctxt": 0 }, "value": "isConstructor", "optional": false } }, "right": { "type": "CallExpression", "span": { "start": 7134, "end": 7182, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 7134, "end": 7141, "ctxt": 0 }, "value": "hasFlag", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 7142, "end": 7159, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7142, "end": 7150, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7151, "end": 7159, "ctxt": 0 }, "value": "fncFlags", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 7161, "end": 7181, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7161, "end": 7169, "ctxt": 0 }, "value": "FncFlags", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7170, "end": 7181, "ctxt": 0 }, "value": "ClassMethod", "optional": false } } } ], "typeArguments": null } }, "consequent": { "type": "BlockStatement", "span": { "start": 7184, "end": 7407, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 7218, "end": 7377, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 7222, "end": 7256, "ctxt": 0 }, "operator": "&&", "left": { "type": "MemberExpression", "span": { "start": 7222, "end": 7230, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7222, "end": 7225, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7226, "end": 7230, "ctxt": 0 }, "value": "type", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 7234, "end": 7256, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 7234, "end": 7242, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7234, "end": 7237, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7238, "end": 7242, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 7243, "end": 7256, "ctxt": 0 }, "value": "enclosingType", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 7258, "end": 7377, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 7296, "end": 7343, "ctxt": 0 }, "argument": { "type": "MemberExpression", "span": { "start": 7303, "end": 7342, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 7303, "end": 7325, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 7303, "end": 7311, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7303, "end": 7306, "ctxt": 0 }, "value": "ast", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7307, "end": 7311, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 7312, "end": 7325, "ctxt": 0 }, "value": "enclosingType", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 7326, "end": 7342, "ctxt": 0 }, "value": "constructorScope", "optional": false } } } ] }, "alternate": null } ] }, "alternate": null }, { "type": "IfStatement", "span": { "start": 7437, "end": 7566, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 7441, "end": 7459, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7441, "end": 7449, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7450, "end": 7459, "ctxt": 0 }, "value": "scopeType", "optional": false } }, "consequent": { "type": "BlockStatement", "span": { "start": 7461, "end": 7566, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 7495, "end": 7536, "ctxt": 0 }, "argument": { "type": "MemberExpression", "span": { "start": 7502, "end": 7535, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 7502, "end": 7520, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7502, "end": 7510, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7511, "end": 7520, "ctxt": 0 }, "value": "scopeType", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 7521, "end": 7535, "ctxt": 0 }, "value": "containedScope", "optional": false } } } ] }, "alternate": null }, { "type": "IfStatement", "span": { "start": 7596, "end": 7715, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 7600, "end": 7613, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7600, "end": 7608, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7609, "end": 7613, "ctxt": 0 }, "value": "type", "optional": false } }, "consequent": { "type": "BlockStatement", "span": { "start": 7615, "end": 7715, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 7649, "end": 7685, "ctxt": 0 }, "argument": { "type": "MemberExpression", "span": { "start": 7656, "end": 7684, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 7656, "end": 7669, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7656, "end": 7664, "ctxt": 0 }, "value": "funcDecl", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7665, "end": 7669, "ctxt": 0 }, "value": "type", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 7670, "end": 7684, "ctxt": 0 }, "value": "containedScope", "optional": false } } } ] }, "alternate": null }, { "type": "ReturnStatement", "span": { "start": 7744, "end": 7756, "ctxt": 0 }, "argument": { "type": "NullLiteral", "span": { "start": 7751, "end": 7755, "ctxt": 0 } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } } }, { "type": "ExpressionStatement", "span": { "start": 7808, "end": 7836, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 7808, "end": 7835, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 7808, "end": 7829, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7808, "end": 7815, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7816, "end": 7829, "ctxt": 0 }, "value": "scopeStartAST", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 7832, "end": 7835, "ctxt": 0 }, "value": "ast", "optional": false } } } ] } } ] }, { "type": "BreakStatement", "span": { "start": 7897, "end": 7903, "ctxt": 0 }, "label": null } ] } ] }, { "type": "ExpressionStatement", "span": { "start": 7930, "end": 7963, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 7930, "end": 7962, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 7930, "end": 7955, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 7930, "end": 7944, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 7930, "end": 7936, "ctxt": 0 }, "value": "walker", "optional": false }, "property": { "type": "Identifier", "span": { "start": 7937, "end": 7944, "ctxt": 0 }, "value": "options", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 7945, "end": 7955, "ctxt": 0 }, "value": "goChildren", "optional": false } }, "right": { "type": "BooleanLiteral", "span": { "start": 7958, "end": 7962, "ctxt": 0 }, "value": true } } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 7987, "end": 8045, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 8001, "end": 8035, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 8001, "end": 8034, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 8001, "end": 8026, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 8001, "end": 8015, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 8001, "end": 8007, "ctxt": 0 }, "value": "walker", "optional": false }, "property": { "type": "Identifier", "span": { "start": 8008, "end": 8015, "ctxt": 0 }, "value": "options", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 8016, "end": 8026, "ctxt": 0 }, "value": "goChildren", "optional": false } }, "right": { "type": "BooleanLiteral", "span": { "start": 8029, "end": 8034, "ctxt": 0 }, "value": false } } } ] } }, { "type": "ReturnStatement", "span": { "start": 8054, "end": 8065, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 8061, "end": 8064, "ctxt": 0 }, "value": "ast", "optional": false } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 8294, "end": 8745, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 8310, "end": 8330, "ctxt": 0 }, "value": "findEnclosingScopeAt", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 8331, "end": 8346, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 8331, "end": 8346, "ctxt": 0 }, "value": "logger", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 8337, "end": 8346, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 8339, "end": 8346, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 8339, "end": 8346, "ctxt": 0 }, "value": "ILogger", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 8348, "end": 8362, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 8348, "end": 8362, "ctxt": 0 }, "value": "script", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 8354, "end": 8362, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 8356, "end": 8362, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 8356, "end": 8362, "ctxt": 0 }, "value": "Script", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 8364, "end": 8381, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 8364, "end": 8381, "ctxt": 0 }, "value": "text", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 8368, "end": 8381, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 8370, "end": 8381, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 8370, "end": 8381, "ctxt": 0 }, "value": "ISourceText", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 8383, "end": 8394, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 8383, "end": 8394, "ctxt": 0 }, "value": "pos", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 8386, "end": 8394, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 8388, "end": 8394, "ctxt": 0 }, "kind": "number" } } } }, { "type": "Parameter", "span": { "start": 8396, "end": 8423, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 8396, "end": 8423, "ctxt": 0 }, "value": "isMemberCompletion", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 8414, "end": 8423, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 8416, "end": 8423, "ctxt": 0 }, "kind": "boolean" } } } } ], "decorators": [], "span": { "start": 8301, "end": 8745, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 8448, "end": 8745, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 8458, "end": 8545, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 8462, "end": 8544, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 8462, "end": 8469, "ctxt": 0 }, "value": "context", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 8472, "end": 8544, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 8476, "end": 8497, "ctxt": 0 }, "value": "EnclosingScopeContext", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 8498, "end": 8504, "ctxt": 0 }, "value": "logger", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 8506, "end": 8512, "ctxt": 0 }, "value": "script", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 8514, "end": 8518, "ctxt": 0 }, "value": "text", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 8520, "end": 8523, "ctxt": 0 }, "value": "pos", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 8525, "end": 8543, "ctxt": 0 }, "value": "isMemberCompletion", "optional": false } } ], "typeArguments": null }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 8555, "end": 8645, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 8555, "end": 8644, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 8555, "end": 8592, "ctxt": 0 }, "object": { "type": "CallExpression", "span": { "start": 8555, "end": 8587, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 8555, "end": 8585, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 8555, "end": 8565, "ctxt": 0 }, "value": "TypeScript", "optional": false }, "property": { "type": "Identifier", "span": { "start": 8566, "end": 8585, "ctxt": 0 }, "value": "getAstWalkerFactory", "optional": false } }, "arguments": [], "typeArguments": null }, "property": { "type": "Identifier", "span": { "start": 8588, "end": 8592, "ctxt": 0 }, "value": "walk", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 8593, "end": 8599, "ctxt": 0 }, "value": "script", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 8601, "end": 8622, "ctxt": 0 }, "value": "preFindEnclosingScope", "optional": false } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 8624, "end": 8628, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 8630, "end": 8634, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 8636, "end": 8643, "ctxt": 0 }, "value": "context", "optional": false } } ], "typeArguments": null } }, { "type": "IfStatement", "span": { "start": 8655, "end": 8715, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 8659, "end": 8689, "ctxt": 0 }, "operator": "===", "left": { "type": "MemberExpression", "span": { "start": 8659, "end": 8680, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 8659, "end": 8666, "ctxt": 0 }, "value": "context", "optional": false }, "property": { "type": "Identifier", "span": { "start": 8667, "end": 8680, "ctxt": 0 }, "value": "scopeStartAST", "optional": false } }, "right": { "type": "NullLiteral", "span": { "start": 8685, "end": 8689, "ctxt": 0 } } }, "consequent": { "type": "ReturnStatement", "span": { "start": 8703, "end": 8715, "ctxt": 0 }, "argument": { "type": "NullLiteral", "span": { "start": 8710, "end": 8714, "ctxt": 0 } } }, "alternate": null }, { "type": "ReturnStatement", "span": { "start": 8724, "end": 8739, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 8731, "end": 8738, "ctxt": 0 }, "value": "context", "optional": false } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 8424, "end": 8447, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 8426, "end": 8447, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 8426, "end": 8447, "ctxt": 0 }, "value": "EnclosingScopeContext", "optional": false }, "typeParams": null } } } } ] } } ], "interpreter": null }