swc/crates/swc_ecma_parser/tests/tsc/parserRealSource6.json

9368 lines
407 KiB
JSON

{
"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
}