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

9365 lines
407 KiB
JSON

{
"type": "Script",
"span": {
"start": 211,
"end": 8746,
"ctxt": 0
},
"body": [
{
"type": "TsModuleDeclaration",
"span": {
"start": 211,
"end": 8746,
"ctxt": 0
},
"declare": false,
"global": false,
"id": {
"type": "Identifier",
"span": {
"start": 218,
"end": 228,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"body": {
"type": "TsModuleBlock",
"span": {
"start": 229,
"end": 8746,
"ctxt": 0
},
"body": [
{
"type": "ExportDeclaration",
"span": {
"start": 235,
"end": 409,
"ctxt": 0
},
"declaration": {
"type": "ClassDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 248,
"end": 269,
"ctxt": 0
},
"value": "TypeCollectionContext",
"optional": false
},
"declare": false,
"span": {
"start": 242,
"end": 409,
"ctxt": 0
},
"decorators": [],
"body": [
{
"type": "ClassProperty",
"span": {
"start": 280,
"end": 309,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 287,
"end": 293,
"ctxt": 0
},
"value": "script",
"optional": false
},
"value": {
"type": "NullLiteral",
"span": {
"start": 304,
"end": 308,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 293,
"end": 301,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 295,
"end": 301,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 295,
"end": 301,
"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": 319,
"end": 403,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 319,
"end": 330,
"ctxt": 0
},
"value": "constructor",
"optional": false
},
"params": [
{
"type": "TsParameterProperty",
"span": {
"start": 332,
"end": 361,
"ctxt": 0
},
"decorators": [],
"accessibility": "public",
"override": false,
"readonly": false,
"param": {
"type": "Identifier",
"span": {
"start": 339,
"end": 361,
"ctxt": 0
},
"value": "scopeChain",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 349,
"end": 361,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 351,
"end": 361,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 351,
"end": 361,
"ctxt": 0
},
"value": "ScopeChain",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "TsParameterProperty",
"span": {
"start": 363,
"end": 390,
"ctxt": 0
},
"decorators": [],
"accessibility": "public",
"override": false,
"readonly": false,
"param": {
"type": "Identifier",
"span": {
"start": 370,
"end": 390,
"ctxt": 0
},
"value": "checker",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 377,
"end": 390,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 379,
"end": 390,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 379,
"end": 390,
"ctxt": 0
},
"value": "TypeChecker",
"optional": false
},
"typeParams": null
}
}
}
}
],
"body": {
"type": "BlockStatement",
"span": {
"start": 392,
"end": 403,
"ctxt": 0
},
"stmts": []
},
"accessibility": null,
"isOptional": false
}
],
"superClass": null,
"isAbstract": false,
"typeParams": null,
"superTypeParams": null,
"implements": []
}
},
{
"type": "ExportDeclaration",
"span": {
"start": 415,
"end": 707,
"ctxt": 0
},
"declaration": {
"type": "ClassDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 428,
"end": 446,
"ctxt": 0
},
"value": "MemberScopeContext",
"optional": false
},
"declare": false,
"span": {
"start": 422,
"end": 707,
"ctxt": 0
},
"decorators": [],
"body": [
{
"type": "ClassProperty",
"span": {
"start": 457,
"end": 482,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 464,
"end": 468,
"ctxt": 0
},
"value": "type",
"optional": false
},
"value": {
"type": "NullLiteral",
"span": {
"start": 477,
"end": 481,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 468,
"end": 474,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 470,
"end": 474,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 470,
"end": 474,
"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": 491,
"end": 514,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 498,
"end": 501,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"value": {
"type": "NullLiteral",
"span": {
"start": 509,
"end": 513,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 501,
"end": 506,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 503,
"end": 506,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 503,
"end": 506,
"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": 523,
"end": 549,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 530,
"end": 535,
"ctxt": 0
},
"value": "scope",
"optional": false
},
"value": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 535,
"end": 548,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 537,
"end": 548,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 537,
"end": 548,
"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": 558,
"end": 596,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 565,
"end": 572,
"ctxt": 0
},
"value": "options",
"optional": false
},
"value": {
"type": "NewExpression",
"span": {
"start": 575,
"end": 595,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 579,
"end": 593,
"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": 606,
"end": 701,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 606,
"end": 617,
"ctxt": 0
},
"value": "constructor",
"optional": false
},
"params": [
{
"type": "TsParameterProperty",
"span": {
"start": 619,
"end": 640,
"ctxt": 0
},
"decorators": [],
"accessibility": "public",
"override": false,
"readonly": false,
"param": {
"type": "Identifier",
"span": {
"start": 626,
"end": 640,
"ctxt": 0
},
"value": "flow",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 630,
"end": 640,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 632,
"end": 640,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 632,
"end": 640,
"ctxt": 0
},
"value": "TypeFlow",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "TsParameterProperty",
"span": {
"start": 642,
"end": 660,
"ctxt": 0
},
"decorators": [],
"accessibility": "public",
"override": false,
"readonly": false,
"param": {
"type": "Identifier",
"span": {
"start": 649,
"end": 660,
"ctxt": 0
},
"value": "pos",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 652,
"end": 660,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 654,
"end": 660,
"ctxt": 0
},
"kind": "number"
}
}
}
},
{
"type": "TsParameterProperty",
"span": {
"start": 662,
"end": 688,
"ctxt": 0
},
"decorators": [],
"accessibility": "public",
"override": false,
"readonly": false,
"param": {
"type": "Identifier",
"span": {
"start": 669,
"end": 688,
"ctxt": 0
},
"value": "matchFlag",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 678,
"end": 688,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 680,
"end": 688,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 680,
"end": 688,
"ctxt": 0
},
"value": "ASTFlags",
"optional": false
},
"typeParams": null
}
}
}
}
],
"body": {
"type": "BlockStatement",
"span": {
"start": 690,
"end": 701,
"ctxt": 0
},
"stmts": []
},
"accessibility": null,
"isOptional": false
}
],
"superClass": null,
"isAbstract": false,
"typeParams": null,
"superTypeParams": null,
"implements": []
}
},
{
"type": "ExportDeclaration",
"span": {
"start": 713,
"end": 2587,
"ctxt": 0
},
"declaration": {
"type": "ClassDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 726,
"end": 747,
"ctxt": 0
},
"value": "EnclosingScopeContext",
"optional": false
},
"declare": false,
"span": {
"start": 720,
"end": 2587,
"ctxt": 0
},
"decorators": [],
"body": [
{
"type": "ClassProperty",
"span": {
"start": 759,
"end": 804,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 766,
"end": 777,
"ctxt": 0
},
"value": "scopeGetter",
"optional": false
},
"value": {
"type": "NullLiteral",
"span": {
"start": 799,
"end": 803,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 777,
"end": 796,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 779,
"end": 796,
"ctxt": 0
},
"params": [],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 782,
"end": 796,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 785,
"end": 796,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 785,
"end": 796,
"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": 813,
"end": 871,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 820,
"end": 844,
"ctxt": 0
},
"value": "objectLiteralScopeGetter",
"optional": false
},
"value": {
"type": "NullLiteral",
"span": {
"start": 866,
"end": 870,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 844,
"end": 863,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 846,
"end": 863,
"ctxt": 0
},
"params": [],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 849,
"end": 863,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 852,
"end": 863,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 852,
"end": 863,
"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": 880,
"end": 913,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 887,
"end": 900,
"ctxt": 0
},
"value": "scopeStartAST",
"optional": false
},
"value": {
"type": "NullLiteral",
"span": {
"start": 908,
"end": 912,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 900,
"end": 905,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 902,
"end": 905,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 902,
"end": 905,
"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": 922,
"end": 962,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 929,
"end": 953,
"ctxt": 0
},
"value": "skipNextFuncDeclForClass",
"optional": false
},
"value": {
"type": "BooleanLiteral",
"span": {
"start": 956,
"end": 961,
"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": 971,
"end": 1022,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 978,
"end": 995,
"ctxt": 0
},
"value": "deepestModuleDecl",
"optional": false
},
"value": {
"type": "NullLiteral",
"span": {
"start": 1017,
"end": 1021,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 995,
"end": 1014,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 997,
"end": 1014,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 997,
"end": 1014,
"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": 1031,
"end": 1081,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1038,
"end": 1056,
"ctxt": 0
},
"value": "enclosingClassDecl",
"optional": false
},
"value": {
"type": "NullLiteral",
"span": {
"start": 1076,
"end": 1080,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1056,
"end": 1073,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1058,
"end": 1073,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1058,
"end": 1073,
"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": 1090,
"end": 1140,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1097,
"end": 1115,
"ctxt": 0
},
"value": "enclosingObjectLit",
"optional": false
},
"value": {
"type": "NullLiteral",
"span": {
"start": 1135,
"end": 1139,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1115,
"end": 1132,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1117,
"end": 1132,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1117,
"end": 1132,
"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": 1149,
"end": 1175,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1156,
"end": 1167,
"ctxt": 0
},
"value": "publicsOnly",
"optional": false
},
"value": {
"type": "BooleanLiteral",
"span": {
"start": 1170,
"end": 1174,
"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": 1184,
"end": 1210,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1191,
"end": 1201,
"ctxt": 0
},
"value": "useFullAst",
"optional": false
},
"value": {
"type": "BooleanLiteral",
"span": {
"start": 1204,
"end": 1209,
"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": 1219,
"end": 1250,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1227,
"end": 1241,
"ctxt": 0
},
"value": "scriptFragment",
"optional": false
},
"value": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1241,
"end": 1249,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1243,
"end": 1249,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1243,
"end": 1249,
"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": 1260,
"end": 1493,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1260,
"end": 1271,
"ctxt": 0
},
"value": "constructor",
"optional": false
},
"params": [
{
"type": "TsParameterProperty",
"span": {
"start": 1273,
"end": 1295,
"ctxt": 0
},
"decorators": [],
"accessibility": "public",
"override": false,
"readonly": false,
"param": {
"type": "Identifier",
"span": {
"start": 1280,
"end": 1295,
"ctxt": 0
},
"value": "logger",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1286,
"end": 1295,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1288,
"end": 1295,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1288,
"end": 1295,
"ctxt": 0
},
"value": "ILogger",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "TsParameterProperty",
"span": {
"start": 1317,
"end": 1338,
"ctxt": 0
},
"decorators": [],
"accessibility": "public",
"override": false,
"readonly": false,
"param": {
"type": "Identifier",
"span": {
"start": 1324,
"end": 1338,
"ctxt": 0
},
"value": "script",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1330,
"end": 1338,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1332,
"end": 1338,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1332,
"end": 1338,
"ctxt": 0
},
"value": "Script",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "TsParameterProperty",
"span": {
"start": 1360,
"end": 1384,
"ctxt": 0
},
"decorators": [],
"accessibility": "public",
"override": false,
"readonly": false,
"param": {
"type": "Identifier",
"span": {
"start": 1367,
"end": 1384,
"ctxt": 0
},
"value": "text",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1371,
"end": 1384,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1373,
"end": 1384,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1373,
"end": 1384,
"ctxt": 0
},
"value": "ISourceText",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "TsParameterProperty",
"span": {
"start": 1406,
"end": 1424,
"ctxt": 0
},
"decorators": [],
"accessibility": "public",
"override": false,
"readonly": false,
"param": {
"type": "Identifier",
"span": {
"start": 1413,
"end": 1424,
"ctxt": 0
},
"value": "pos",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1416,
"end": 1424,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1418,
"end": 1424,
"ctxt": 0
},
"kind": "number"
}
}
}
},
{
"type": "TsParameterProperty",
"span": {
"start": 1446,
"end": 1480,
"ctxt": 0
},
"decorators": [],
"accessibility": "public",
"override": false,
"readonly": false,
"param": {
"type": "Identifier",
"span": {
"start": 1453,
"end": 1480,
"ctxt": 0
},
"value": "isMemberCompletion",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1471,
"end": 1480,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1473,
"end": 1480,
"ctxt": 0
},
"kind": "boolean"
}
}
}
}
],
"body": {
"type": "BlockStatement",
"span": {
"start": 1482,
"end": 1493,
"ctxt": 0
},
"stmts": []
},
"accessibility": null,
"isOptional": false
},
{
"type": "ClassMethod",
"span": {
"start": 1503,
"end": 1584,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1510,
"end": 1518,
"ctxt": 0
},
"value": "getScope",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 1503,
"end": 1584,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1534,
"end": 1584,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 1548,
"end": 1574,
"ctxt": 0
},
"argument": {
"type": "CallExpression",
"span": {
"start": 1555,
"end": 1573,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 1555,
"end": 1571,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 1555,
"end": 1559,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1560,
"end": 1571,
"ctxt": 0
},
"value": "scopeGetter",
"optional": false
}
},
"arguments": [],
"typeArguments": null
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 1520,
"end": 1533,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1522,
"end": 1533,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1522,
"end": 1533,
"ctxt": 0
},
"value": "SymbolScope",
"optional": false
},
"typeParams": null
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 1594,
"end": 1701,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1601,
"end": 1622,
"ctxt": 0
},
"value": "getObjectLiteralScope",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 1594,
"end": 1701,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1638,
"end": 1701,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 1652,
"end": 1691,
"ctxt": 0
},
"argument": {
"type": "CallExpression",
"span": {
"start": 1659,
"end": 1690,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 1659,
"end": 1688,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 1659,
"end": 1663,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1664,
"end": 1688,
"ctxt": 0
},
"value": "objectLiteralScopeGetter",
"optional": false
}
},
"arguments": [],
"typeArguments": null
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 1624,
"end": 1637,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1626,
"end": 1637,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1626,
"end": 1637,
"ctxt": 0
},
"value": "SymbolScope",
"optional": false
},
"typeParams": null
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 1711,
"end": 1782,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1718,
"end": 1729,
"ctxt": 0
},
"value": "getScopeAST",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 1711,
"end": 1782,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1732,
"end": 1782,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 1746,
"end": 1772,
"ctxt": 0
},
"argument": {
"type": "MemberExpression",
"span": {
"start": 1753,
"end": 1771,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 1753,
"end": 1757,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1758,
"end": 1771,
"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": 1792,
"end": 1876,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1799,
"end": 1815,
"ctxt": 0
},
"value": "getScopePosition",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 1792,
"end": 1876,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1818,
"end": 1876,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 1832,
"end": 1866,
"ctxt": 0
},
"argument": {
"type": "MemberExpression",
"span": {
"start": 1839,
"end": 1865,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 1839,
"end": 1857,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 1839,
"end": 1843,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1844,
"end": 1857,
"ctxt": 0
},
"value": "scopeStartAST",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1858,
"end": 1865,
"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": 1886,
"end": 1976,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1893,
"end": 1918,
"ctxt": 0
},
"value": "getScriptFragmentStartAST",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 1886,
"end": 1976,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1926,
"end": 1976,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 1940,
"end": 1966,
"ctxt": 0
},
"argument": {
"type": "MemberExpression",
"span": {
"start": 1947,
"end": 1965,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 1947,
"end": 1951,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1952,
"end": 1965,
"ctxt": 0
},
"value": "scopeStartAST",
"optional": false
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 1920,
"end": 1925,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1922,
"end": 1925,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1922,
"end": 1925,
"ctxt": 0
},
"value": "AST",
"optional": false
},
"typeParams": null
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 1986,
"end": 2101,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1993,
"end": 2018,
"ctxt": 0
},
"value": "getScriptFragmentPosition",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 1986,
"end": 2101,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 2029,
"end": 2101,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 2043,
"end": 2091,
"ctxt": 0
},
"argument": {
"type": "MemberExpression",
"span": {
"start": 2050,
"end": 2090,
"ctxt": 0
},
"object": {
"type": "CallExpression",
"span": {
"start": 2050,
"end": 2082,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 2050,
"end": 2080,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2050,
"end": 2054,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2055,
"end": 2080,
"ctxt": 0
},
"value": "getScriptFragmentStartAST",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"property": {
"type": "Identifier",
"span": {
"start": 2083,
"end": 2090,
"ctxt": 0
},
"value": "minChar",
"optional": false
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 2020,
"end": 2028,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2022,
"end": 2028,
"ctxt": 0
},
"kind": "number"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 2111,
"end": 2581,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 2118,
"end": 2135,
"ctxt": 0
},
"value": "getScriptFragment",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 2111,
"end": 2581,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 2146,
"end": 2581,
"ctxt": 0
},
"stmts": [
{
"type": "IfStatement",
"span": {
"start": 2160,
"end": 2531,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 2164,
"end": 2191,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 2164,
"end": 2183,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2164,
"end": 2168,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2169,
"end": 2183,
"ctxt": 0
},
"value": "scriptFragment",
"optional": false
}
},
"right": {
"type": "NullLiteral",
"span": {
"start": 2187,
"end": 2191,
"ctxt": 0
}
}
},
"consequent": {
"type": "BlockStatement",
"span": {
"start": 2193,
"end": 2531,
"ctxt": 0
},
"stmts": [
{
"type": "VariableDeclaration",
"span": {
"start": 2211,
"end": 2254,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2215,
"end": 2253,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2215,
"end": 2218,
"ctxt": 0
},
"value": "ast",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 2221,
"end": 2253,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 2221,
"end": 2251,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2221,
"end": 2225,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2226,
"end": 2251,
"ctxt": 0
},
"value": "getScriptFragmentStartAST",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 2271,
"end": 2297,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2275,
"end": 2296,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2275,
"end": 2282,
"ctxt": 0
},
"value": "minChar",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "MemberExpression",
"span": {
"start": 2285,
"end": 2296,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 2285,
"end": 2288,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 2289,
"end": 2296,
"ctxt": 0
},
"value": "minChar",
"optional": false
}
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 2314,
"end": 2380,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2318,
"end": 2379,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2318,
"end": 2325,
"ctxt": 0
},
"value": "limChar",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ParenthesisExpression",
"span": {
"start": 2328,
"end": 2379,
"ctxt": 0
},
"expression": {
"type": "ConditionalExpression",
"span": {
"start": 2329,
"end": 2378,
"ctxt": 0
},
"test": {
"type": "MemberExpression",
"span": {
"start": 2329,
"end": 2352,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2329,
"end": 2333,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2334,
"end": 2352,
"ctxt": 0
},
"value": "isMemberCompletion",
"optional": false
}
},
"consequent": {
"type": "MemberExpression",
"span": {
"start": 2355,
"end": 2363,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2355,
"end": 2359,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2360,
"end": 2363,
"ctxt": 0
},
"value": "pos",
"optional": false
}
},
"alternate": {
"type": "BinaryExpression",
"span": {
"start": 2366,
"end": 2378,
"ctxt": 0
},
"operator": "+",
"left": {
"type": "MemberExpression",
"span": {
"start": 2366,
"end": 2374,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2366,
"end": 2370,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2371,
"end": 2374,
"ctxt": 0
},
"value": "pos",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 2377,
"end": 2378,
"ctxt": 0
},
"value": 1.0
}
}
}
},
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 2397,
"end": 2517,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 2397,
"end": 2516,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 2397,
"end": 2416,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2397,
"end": 2401,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2402,
"end": 2416,
"ctxt": 0
},
"value": "scriptFragment",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 2419,
"end": 2516,
"ctxt": 0
},
"object": {
"type": "CallExpression",
"span": {
"start": 2419,
"end": 2509,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 2419,
"end": 2440,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 2419,
"end": 2429,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 2430,
"end": 2440,
"ctxt": 0
},
"value": "quickParse",
"optional": false
}
},
"arguments": [
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 2441,
"end": 2452,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2441,
"end": 2445,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2446,
"end": 2452,
"ctxt": 0
},
"value": "logger",
"optional": false
}
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 2454,
"end": 2457,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 2459,
"end": 2468,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2459,
"end": 2463,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2464,
"end": 2468,
"ctxt": 0
},
"value": "text",
"optional": false
}
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 2470,
"end": 2477,
"ctxt": 0
},
"value": "minChar",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 2479,
"end": 2486,
"ctxt": 0
},
"value": "limChar",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "NullLiteral",
"span": {
"start": 2488,
"end": 2492,
"ctxt": 0
}
}
}
],
"typeArguments": null
},
"property": {
"type": "Identifier",
"span": {
"start": 2510,
"end": 2516,
"ctxt": 0
},
"value": "Script",
"optional": false
}
}
}
}
]
},
"alternate": null
},
{
"type": "ReturnStatement",
"span": {
"start": 2544,
"end": 2571,
"ctxt": 0
},
"argument": {
"type": "MemberExpression",
"span": {
"start": 2551,
"end": 2570,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2551,
"end": 2555,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2556,
"end": 2570,
"ctxt": 0
},
"value": "scriptFragment",
"optional": false
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 2137,
"end": 2145,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2139,
"end": 2145,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 2139,
"end": 2145,
"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": 2593,
"end": 3131,
"ctxt": 0
},
"declaration": {
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 2609,
"end": 2627,
"ctxt": 0
},
"value": "preFindMemberScope",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 2628,
"end": 2636,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 2628,
"end": 2636,
"ctxt": 0
},
"value": "ast",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2631,
"end": 2636,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2633,
"end": 2636,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 2633,
"end": 2636,
"ctxt": 0
},
"value": "AST",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 2638,
"end": 2649,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 2638,
"end": 2649,
"ctxt": 0
},
"value": "parent",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2644,
"end": 2649,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2646,
"end": 2649,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 2646,
"end": 2649,
"ctxt": 0
},
"value": "AST",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 2651,
"end": 2669,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 2651,
"end": 2669,
"ctxt": 0
},
"value": "walker",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2657,
"end": 2669,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2659,
"end": 2669,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 2659,
"end": 2669,
"ctxt": 0
},
"value": "IAstWalker",
"optional": false
},
"typeParams": null
}
}
}
}
],
"decorators": [],
"span": {
"start": 2600,
"end": 3131,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 2671,
"end": 3131,
"ctxt": 0
},
"stmts": [
{
"type": "VariableDeclaration",
"span": {
"start": 2681,
"end": 2729,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2685,
"end": 2728,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2685,
"end": 2693,
"ctxt": 0
},
"value": "memScope",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2693,
"end": 2713,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2695,
"end": 2713,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 2695,
"end": 2713,
"ctxt": 0
},
"value": "MemberScopeContext",
"optional": false
},
"typeParams": null
}
}
},
"init": {
"type": "MemberExpression",
"span": {
"start": 2716,
"end": 2728,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 2716,
"end": 2722,
"ctxt": 0
},
"value": "walker",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 2723,
"end": 2728,
"ctxt": 0
},
"value": "state",
"optional": false
}
},
"definite": false
}
]
},
{
"type": "IfStatement",
"span": {
"start": 2738,
"end": 3105,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 2742,
"end": 2837,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "CallExpression",
"span": {
"start": 2742,
"end": 2780,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2742,
"end": 2749,
"ctxt": 0
},
"value": "hasFlag",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 2750,
"end": 2759,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 2750,
"end": 2753,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 2754,
"end": 2759,
"ctxt": 0
},
"value": "flags",
"optional": false
}
}
},
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 2761,
"end": 2779,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 2761,
"end": 2769,
"ctxt": 0
},
"value": "memScope",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 2770,
"end": 2779,
"ctxt": 0
},
"value": "matchFlag",
"optional": false
}
}
}
],
"typeArguments": null
},
"right": {
"type": "ParenthesisExpression",
"span": {
"start": 2784,
"end": 2837,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 2785,
"end": 2836,
"ctxt": 0
},
"operator": "||",
"left": {
"type": "ParenthesisExpression",
"span": {
"start": 2785,
"end": 2803,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 2786,
"end": 2802,
"ctxt": 0
},
"operator": "<",
"left": {
"type": "MemberExpression",
"span": {
"start": 2786,
"end": 2798,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 2786,
"end": 2794,
"ctxt": 0
},
"value": "memScope",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 2795,
"end": 2798,
"ctxt": 0
},
"value": "pos",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 2801,
"end": 2802,
"ctxt": 0
},
"value": 0.0
}
}
},
"right": {
"type": "ParenthesisExpression",
"span": {
"start": 2807,
"end": 2836,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 2808,
"end": 2835,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 2808,
"end": 2820,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 2808,
"end": 2816,
"ctxt": 0
},
"value": "memScope",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 2817,
"end": 2820,
"ctxt": 0
},
"value": "pos",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 2824,
"end": 2835,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 2824,
"end": 2827,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 2828,
"end": 2835,
"ctxt": 0
},
"value": "limChar",
"optional": false
}
}
}
}
}
}
},
"consequent": {
"type": "BlockStatement",
"span": {
"start": 2839,
"end": 3105,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 2853,
"end": 2872,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 2853,
"end": 2871,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 2853,
"end": 2865,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 2853,
"end": 2861,
"ctxt": 0
},
"value": "memScope",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 2862,
"end": 2865,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
"right": {
"type": "Identifier",
"span": {
"start": 2868,
"end": 2871,
"ctxt": 0
},
"value": "ast",
"optional": false
}
}
},
{
"type": "IfStatement",
"span": {
"start": 2885,
"end": 3016,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 2889,
"end": 2930,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "ParenthesisExpression",
"span": {
"start": 2889,
"end": 2907,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 2890,
"end": 2906,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 2890,
"end": 2898,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 2890,
"end": 2893,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 2894,
"end": 2898,
"ctxt": 0
},
"value": "type",
"optional": false
}
},
"right": {
"type": "NullLiteral",
"span": {
"start": 2902,
"end": 2906,
"ctxt": 0
}
}
}
},
"right": {
"type": "ParenthesisExpression",
"span": {
"start": 2911,
"end": 2930,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 2912,
"end": 2929,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "MemberExpression",
"span": {
"start": 2912,
"end": 2924,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 2912,
"end": 2920,
"ctxt": 0
},
"value": "memScope",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 2921,
"end": 2924,
"ctxt": 0
},
"value": "pos",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 2928,
"end": 2929,
"ctxt": 0
},
"value": 0.0
}
}
}
},
"consequent": {
"type": "BlockStatement",
"span": {
"start": 2932,
"end": 3016,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 2950,
"end": 3002,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 2950,
"end": 3001,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 2950,
"end": 2980,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 2950,
"end": 2963,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 2950,
"end": 2958,
"ctxt": 0
},
"value": "memScope",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 2959,
"end": 2963,
"ctxt": 0
},
"value": "flow",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2964,
"end": 2980,
"ctxt": 0
},
"value": "inScopeTypeCheck",
"optional": false
}
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 2981,
"end": 2984,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 2986,
"end": 3000,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 2986,
"end": 2994,
"ctxt": 0
},
"value": "memScope",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 2995,
"end": 3000,
"ctxt": 0
},
"value": "scope",
"optional": false
}
}
}
],
"typeArguments": null
}
}
]
},
"alternate": null
},
{
"type": "ExpressionStatement",
"span": {
"start": 3029,
"end": 3054,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 3029,
"end": 3053,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 3029,
"end": 3042,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 3029,
"end": 3037,
"ctxt": 0
},
"value": "memScope",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 3038,
"end": 3042,
"ctxt": 0
},
"value": "type",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 3045,
"end": 3053,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 3045,
"end": 3048,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 3049,
"end": 3053,
"ctxt": 0
},
"value": "type",
"optional": false
}
}
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 3067,
"end": 3095,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 3067,
"end": 3094,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 3067,
"end": 3092,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 3067,
"end": 3083,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 3067,
"end": 3075,
"ctxt": 0
},
"value": "memScope",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 3076,
"end": 3083,
"ctxt": 0
},
"value": "options",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 3084,
"end": 3092,
"ctxt": 0
},
"value": "stopWalk",
"optional": false
}
},
"arguments": [],
"typeArguments": null
}
}
]
},
"alternate": null
},
{
"type": "ReturnStatement",
"span": {
"start": 3114,
"end": 3125,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 3121,
"end": 3124,
"ctxt": 0
},
"value": "ast",
"optional": false
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
}
},
{
"type": "ExportDeclaration",
"span": {
"start": 3137,
"end": 3865,
"ctxt": 0
},
"declaration": {
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 3153,
"end": 3176,
"ctxt": 0
},
"value": "pushTypeCollectionScope",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 3177,
"end": 3194,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 3177,
"end": 3194,
"ctxt": 0
},
"value": "container",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3186,
"end": 3194,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3188,
"end": 3194,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3188,
"end": 3194,
"ctxt": 0
},
"value": "Symbol",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 3204,
"end": 3231,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 3204,
"end": 3231,
"ctxt": 0
},
"value": "valueMembers",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3216,
"end": 3231,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3218,
"end": 3231,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3218,
"end": 3231,
"ctxt": 0
},
"value": "ScopedMembers",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 3241,
"end": 3275,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 3241,
"end": 3275,
"ctxt": 0
},
"value": "ambientValueMembers",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3260,
"end": 3275,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3262,
"end": 3275,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3262,
"end": 3275,
"ctxt": 0
},
"value": "ScopedMembers",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 3285,
"end": 3313,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 3285,
"end": 3313,
"ctxt": 0
},
"value": "enclosedTypes",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3298,
"end": 3313,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3300,
"end": 3313,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3300,
"end": 3313,
"ctxt": 0
},
"value": "ScopedMembers",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 3323,
"end": 3358,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 3323,
"end": 3358,
"ctxt": 0
},
"value": "ambientEnclosedTypes",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3343,
"end": 3358,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3345,
"end": 3358,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3345,
"end": 3358,
"ctxt": 0
},
"value": "ScopedMembers",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 3368,
"end": 3398,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 3368,
"end": 3398,
"ctxt": 0
},
"value": "context",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3375,
"end": 3398,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3377,
"end": 3398,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3377,
"end": 3398,
"ctxt": 0
},
"value": "TypeCollectionContext",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 3408,
"end": 3422,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 3408,
"end": 3422,
"ctxt": 0
},
"value": "thisType",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3416,
"end": 3422,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3418,
"end": 3422,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3418,
"end": 3422,
"ctxt": 0
},
"value": "Type",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 3432,
"end": 3447,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 3432,
"end": 3447,
"ctxt": 0
},
"value": "classType",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3441,
"end": 3447,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3443,
"end": 3447,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3443,
"end": 3447,
"ctxt": 0
},
"value": "Type",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 3457,
"end": 3486,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 3457,
"end": 3486,
"ctxt": 0
},
"value": "moduleDecl",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3467,
"end": 3486,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3469,
"end": 3486,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3469,
"end": 3486,
"ctxt": 0
},
"value": "ModuleDeclaration",
"optional": false
},
"typeParams": null
}
}
}
}
],
"decorators": [],
"span": {
"start": 3144,
"end": 3865,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 3488,
"end": 3865,
"ctxt": 0
},
"stmts": [
{
"type": "VariableDeclaration",
"span": {
"start": 3498,
"end": 3624,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3502,
"end": 3623,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3502,
"end": 3509,
"ctxt": 0
},
"value": "builder",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "NewExpression",
"span": {
"start": 3512,
"end": 3623,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3516,
"end": 3534,
"ctxt": 0
},
"value": "SymbolScopeBuilder",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3535,
"end": 3547,
"ctxt": 0
},
"value": "valueMembers",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3549,
"end": 3568,
"ctxt": 0
},
"value": "ambientValueMembers",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3570,
"end": 3583,
"ctxt": 0
},
"value": "enclosedTypes",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3585,
"end": 3605,
"ctxt": 0
},
"value": "ambientEnclosedTypes",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "NullLiteral",
"span": {
"start": 3607,
"end": 3611,
"ctxt": 0
}
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3613,
"end": 3622,
"ctxt": 0
},
"value": "container",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3633,
"end": 3712,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3637,
"end": 3711,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3637,
"end": 3642,
"ctxt": 0
},
"value": "chain",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3642,
"end": 3654,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3644,
"end": 3654,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3644,
"end": 3654,
"ctxt": 0
},
"value": "ScopeChain",
"optional": false
},
"typeParams": null
}
}
},
"init": {
"type": "NewExpression",
"span": {
"start": 3657,
"end": 3711,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3661,
"end": 3671,
"ctxt": 0
},
"value": "ScopeChain",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3672,
"end": 3681,
"ctxt": 0
},
"value": "container",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 3683,
"end": 3701,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 3683,
"end": 3690,
"ctxt": 0
},
"value": "context",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 3691,
"end": 3701,
"ctxt": 0
},
"value": "scopeChain",
"optional": false
}
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3703,
"end": 3710,
"ctxt": 0
},
"value": "builder",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 3721,
"end": 3747,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 3721,
"end": 3746,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 3721,
"end": 3735,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 3721,
"end": 3726,
"ctxt": 0
},
"value": "chain",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 3727,
"end": 3735,
"ctxt": 0
},
"value": "thisType",
"optional": false
}
},
"right": {
"type": "Identifier",
"span": {
"start": 3738,
"end": 3746,
"ctxt": 0
},
"value": "thisType",
"optional": false
}
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 3756,
"end": 3784,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 3756,
"end": 3783,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 3756,
"end": 3771,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 3756,
"end": 3761,
"ctxt": 0
},
"value": "chain",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 3762,
"end": 3771,
"ctxt": 0
},
"value": "classType",
"optional": false
}
},
"right": {
"type": "Identifier",
"span": {
"start": 3774,
"end": 3783,
"ctxt": 0
},
"value": "classType",
"optional": false
}
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 3793,
"end": 3823,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 3793,
"end": 3822,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 3793,
"end": 3809,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 3793,
"end": 3798,
"ctxt": 0
},
"value": "chain",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 3799,
"end": 3809,
"ctxt": 0
},
"value": "moduleDecl",
"optional": false
}
},
"right": {
"type": "Identifier",
"span": {
"start": 3812,
"end": 3822,
"ctxt": 0
},
"value": "moduleDecl",
"optional": false
}
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 3832,
"end": 3859,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 3832,
"end": 3858,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 3832,
"end": 3850,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 3832,
"end": 3839,
"ctxt": 0
},
"value": "context",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 3840,
"end": 3850,
"ctxt": 0
},
"value": "scopeChain",
"optional": false
}
},
"right": {
"type": "Identifier",
"span": {
"start": 3853,
"end": 3858,
"ctxt": 0
},
"value": "chain",
"optional": false
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
}
},
{
"type": "ExportDeclaration",
"span": {
"start": 3871,
"end": 4007,
"ctxt": 0
},
"declaration": {
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 3887,
"end": 3909,
"ctxt": 0
},
"value": "popTypeCollectionScope",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 3910,
"end": 3940,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 3910,
"end": 3940,
"ctxt": 0
},
"value": "context",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3917,
"end": 3940,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3919,
"end": 3940,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3919,
"end": 3940,
"ctxt": 0
},
"value": "TypeCollectionContext",
"optional": false
},
"typeParams": null
}
}
}
}
],
"decorators": [],
"span": {
"start": 3878,
"end": 4007,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 3942,
"end": 4007,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 3952,
"end": 4001,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 3952,
"end": 4000,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 3952,
"end": 3970,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 3952,
"end": 3959,
"ctxt": 0
},
"value": "context",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 3960,
"end": 3970,
"ctxt": 0
},
"value": "scopeChain",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 3973,
"end": 4000,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 3973,
"end": 3991,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 3973,
"end": 3980,
"ctxt": 0
},
"value": "context",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 3981,
"end": 3991,
"ctxt": 0
},
"value": "scopeChain",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 3992,
"end": 4000,
"ctxt": 0
},
"value": "previous",
"optional": false
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
}
},
{
"type": "ExportDeclaration",
"span": {
"start": 4013,
"end": 8070,
"ctxt": 0
},
"declaration": {
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 4029,
"end": 4050,
"ctxt": 0
},
"value": "preFindEnclosingScope",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 4051,
"end": 4059,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 4051,
"end": 4059,
"ctxt": 0
},
"value": "ast",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4054,
"end": 4059,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4056,
"end": 4059,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4056,
"end": 4059,
"ctxt": 0
},
"value": "AST",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 4061,
"end": 4072,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 4061,
"end": 4072,
"ctxt": 0
},
"value": "parent",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4067,
"end": 4072,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4069,
"end": 4072,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4069,
"end": 4072,
"ctxt": 0
},
"value": "AST",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 4074,
"end": 4092,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 4074,
"end": 4092,
"ctxt": 0
},
"value": "walker",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4080,
"end": 4092,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4082,
"end": 4092,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4082,
"end": 4092,
"ctxt": 0
},
"value": "IAstWalker",
"optional": false
},
"typeParams": null
}
}
}
}
],
"decorators": [],
"span": {
"start": 4020,
"end": 8070,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 4094,
"end": 8070,
"ctxt": 0
},
"stmts": [
{
"type": "VariableDeclaration",
"span": {
"start": 4104,
"end": 4154,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 4108,
"end": 4153,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 4108,
"end": 4115,
"ctxt": 0
},
"value": "context",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4115,
"end": 4138,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4117,
"end": 4138,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4117,
"end": 4138,
"ctxt": 0
},
"value": "EnclosingScopeContext",
"optional": false
},
"typeParams": null
}
}
},
"init": {
"type": "MemberExpression",
"span": {
"start": 4141,
"end": 4153,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 4141,
"end": 4147,
"ctxt": 0
},
"value": "walker",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 4148,
"end": 4153,
"ctxt": 0
},
"value": "state",
"optional": false
}
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 4163,
"end": 4189,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 4167,
"end": 4188,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 4167,
"end": 4174,
"ctxt": 0
},
"value": "minChar",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "MemberExpression",
"span": {
"start": 4177,
"end": 4188,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 4177,
"end": 4180,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 4181,
"end": 4188,
"ctxt": 0
},
"value": "minChar",
"optional": false
}
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 4198,
"end": 4224,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 4202,
"end": 4223,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 4202,
"end": 4209,
"ctxt": 0
},
"value": "limChar",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "MemberExpression",
"span": {
"start": 4212,
"end": 4223,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 4212,
"end": 4215,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 4216,
"end": 4223,
"ctxt": 0
},
"value": "limChar",
"optional": false
}
},
"definite": false
}
]
},
{
"type": "IfStatement",
"span": {
"start": 4371,
"end": 4467,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 4375,
"end": 4431,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 4375,
"end": 4406,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 4375,
"end": 4387,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 4375,
"end": 4378,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 4379,
"end": 4387,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 4391,
"end": 4406,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 4391,
"end": 4399,
"ctxt": 0
},
"value": "NodeType",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 4400,
"end": 4406,
"ctxt": 0
},
"value": "Script",
"optional": false
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 4410,
"end": 4431,
"ctxt": 0
},
"operator": ">",
"left": {
"type": "MemberExpression",
"span": {
"start": 4410,
"end": 4421,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 4410,
"end": 4417,
"ctxt": 0
},
"value": "context",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 4418,
"end": 4421,
"ctxt": 0
},
"value": "pos",
"optional": false
}
},
"right": {
"type": "Identifier",
"span": {
"start": 4424,
"end": 4431,
"ctxt": 0
},
"value": "limChar",
"optional": false
}
}
},
"consequent": {
"type": "ExpressionStatement",
"span": {
"start": 4445,
"end": 4467,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 4445,
"end": 4466,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "Identifier",
"span": {
"start": 4445,
"end": 4452,
"ctxt": 0
},
"value": "limChar",
"optional": false,
"typeAnnotation": null
},
"right": {
"type": "MemberExpression",
"span": {
"start": 4455,
"end": 4466,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 4455,
"end": 4462,
"ctxt": 0
},
"value": "context",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 4463,
"end": 4466,
"ctxt": 0
},
"value": "pos",
"optional": false
}
}
}
},
"alternate": null
},
{
"type": "IfStatement",
"span": {
"start": 4477,
"end": 8044,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 4481,
"end": 4545,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "ParenthesisExpression",
"span": {
"start": 4481,
"end": 4505,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 4482,
"end": 4504,
"ctxt": 0
},
"operator": "<=",
"left": {
"type": "Identifier",
"span": {
"start": 4482,
"end": 4489,
"ctxt": 0
},
"value": "minChar",
"optional": false
},
"right": {
"type": "MemberExpression",
"span": {
"start": 4493,
"end": 4504,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 4493,
"end": 4500,
"ctxt": 0
},
"value": "context",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 4501,
"end": 4504,
"ctxt": 0
},
"value": "pos",
"optional": false
}
}
}
},
"right": {
"type": "ParenthesisExpression",
"span": {
"start": 4521,
"end": 4545,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 4522,
"end": 4544,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "Identifier",
"span": {
"start": 4522,
"end": 4529,
"ctxt": 0
},
"value": "limChar",
"optional": false
},
"right": {
"type": "MemberExpression",
"span": {
"start": 4533,
"end": 4544,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 4533,
"end": 4540,
"ctxt": 0
},
"value": "context",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 4541,
"end": 4544,
"ctxt": 0
},
"value": "pos",
"optional": false
}
}
}
}
},
"consequent": {
"type": "BlockStatement",
"span": {
"start": 4547,
"end": 7972,
"ctxt": 0
},
"stmts": [
{
"type": "SwitchStatement",
"span": {
"start": 4561,
"end": 7916,
"ctxt": 0
},
"discriminant": {
"type": "MemberExpression",
"span": {
"start": 4569,
"end": 4581,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 4569,
"end": 4572,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 4573,
"end": 4581,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"cases": [
{
"type": "SwitchCase",
"span": {
"start": 4601,
"end": 4913,
"ctxt": 0
},
"test": {
"type": "MemberExpression",
"span": {
"start": 4606,
"end": 4621,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 4606,
"end": 4614,
"ctxt": 0
},
"value": "NodeType",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 4615,
"end": 4621,
"ctxt": 0
},
"value": "Script",
"optional": false
}
},
"consequent": [
{
"type": "VariableDeclaration",
"span": {
"start": 4643,
"end": 4668,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 4647,
"end": 4667,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 4647,
"end": 4653,
"ctxt": 0
},
"value": "script",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "TsTypeAssertion",
"span": {
"start": 4656,
"end": 4667,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 4664,
"end": 4667,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4657,
"end": 4663,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4657,
"end": 4663,
"ctxt": 0
},
"value": "Script",
"optional": false
},
"typeParams": null
}
},
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 4689,
"end": 4834,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 4689,
"end": 4833,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 4689,
"end": 4708,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 4689,
"end": 4696,
"ctxt": 0
},
"value": "context",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 4697,
"end": 4708,
"ctxt": 0
},
"value": "scopeGetter",
"optional": false
}
},
"right": {
"type": "FunctionExpression",
"identifier": null,
"params": [],
"decorators": [],
"span": {
"start": 4711,
"end": 4833,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 4723,
"end": 4833,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 4749,
"end": 4811,
"ctxt": 0
},
"argument": {
"type": "ConditionalExpression",
"span": {
"start": 4756,
"end": 4810,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 4756,
"end": 4775,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 4756,
"end": 4766,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 4756,
"end": 4762,
"ctxt": 0
},
"value": "script",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 4763,
"end": 4766,
"ctxt": 0
},
"value": "bod",
"optional": false
}
},
"right": {
"type": "NullLiteral",
"span": {
"start": 4771,
"end": 4775,
"ctxt": 0
}
}
},
"consequent": {
"type": "NullLiteral",
"span": {
"start": 4778,
"end": 4782,
"ctxt": 0
}
},
"alternate": {
"type": "MemberExpression",
"span": {
"start": 4785,
"end": 4810,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 4785,
"end": 4795,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 4785,
"end": 4791,
"ctxt": 0
},
"value": "script",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 4792,
"end": 4795,
"ctxt": 0
},
"value": "bod",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 4796,
"end": 4810,
"ctxt": 0
},
"value": "enclosingScope",
"optional": false
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
}
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 4855,
"end": 4886,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 4855,
"end": 4885,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 4855,
"end": 4876,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 4855,
"end": 4862,
"ctxt": 0
},
"value": "context",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 4863,
"end": 4876,
"ctxt": 0
},
"value": "scopeStartAST",
"optional": false
}
},
"right": {
"type": "Identifier",
"span": {
"start": 4879,
"end": 4885,
"ctxt": 0
},
"value": "script",
"optional": false
}
}
},
{
"type": "BreakStatement",
"span": {
"start": 4907,
"end": 4913,
"ctxt": 0
},
"label": null
}
]
},
{
"type": "SwitchCase",
"span": {
"start": 4931,
"end": 5335,
"ctxt": 0
},
"test": {
"type": "MemberExpression",
"span": {
"start": 4936,
"end": 4961,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 4936,
"end": 4944,
"ctxt": 0
},
"value": "NodeType",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 4945,
"end": 4961,
"ctxt": 0
},
"value": "ClassDeclaration",
"optional": false
}
},
"consequent": [
{
"type": "ExpressionStatement",
"span": {
"start": 4983,
"end": 5188,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 4983,
"end": 5187,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 4983,
"end": 5002,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 4983,
"end": 4990,
"ctxt": 0
},
"value": "context",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 4991,
"end": 5002,
"ctxt": 0
},
"value": "scopeGetter",
"optional": false
}
},
"right": {
"type": "FunctionExpression",
"identifier": null,
"params": [],
"decorators": [],
"span": {
"start": 5005,
"end": 5187,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 5017,
"end": 5187,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 5043,
"end": 5165,
"ctxt": 0
},
"argument": {
"type": "ConditionalExpression",
"span": {
"start": 5050,
"end": 5164,
"ctxt": 0
},
"test": {
"type": "ParenthesisExpression",
"span": {
"start": 5050,
"end": 5118,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 5051,
"end": 5117,
"ctxt": 0
},
"operator": "||",
"left": {
"type": "BinaryExpression",
"span": {
"start": 5051,
"end": 5068,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 5051,
"end": 5059,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 5051,
"end": 5054,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 5055,
"end": 5059,
"ctxt": 0
},
"value": "type",
"optional": false
}
},
"right": {
"type": "NullLiteral",
"span": {
"start": 5064,
"end": 5068,
"ctxt": 0
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 5072,
"end": 5117,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 5072,
"end": 5108,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5072,
"end": 5093,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5072,
"end": 5080,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 5072,
"end": 5075,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 5076,
"end": 5080,
"ctxt": 0
},
"value": "type",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5081,
"end": 5093,
"ctxt": 0
},
"value": "instanceType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5094,
"end": 5108,
"ctxt": 0
},
"value": "containedScope",
"optional": false
}
},
"right": {
"type": "NullLiteral",
"span": {
"start": 5113,
"end": 5117,
"ctxt": 0
}
}
}
}
},
"consequent": {
"type": "NullLiteral",
"span": {
"start": 5121,
"end": 5125,
"ctxt": 0
}
},
"alternate": {
"type": "MemberExpression",
"span": {
"start": 5128,
"end": 5164,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5128,
"end": 5149,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5128,
"end": 5136,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 5128,
"end": 5131,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 5132,
"end": 5136,
"ctxt": 0
},
"value": "type",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5137,
"end": 5149,
"ctxt": 0
},
"value": "instanceType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5150,
"end": 5164,
"ctxt": 0
},
"value": "containedScope",
"optional": false
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
}
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 5209,
"end": 5237,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 5209,
"end": 5236,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 5209,
"end": 5230,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 5209,
"end": 5216,
"ctxt": 0
},
"value": "context",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 5217,
"end": 5230,
"ctxt": 0
},
"value": "scopeStartAST",
"optional": false
}
},
"right": {
"type": "Identifier",
"span": {
"start": 5233,
"end": 5236,
"ctxt": 0
},
"value": "ast",
"optional": false
}
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 5258,
"end": 5308,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 5258,
"end": 5307,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 5258,
"end": 5284,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 5258,
"end": 5265,
"ctxt": 0
},
"value": "context",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 5266,
"end": 5284,
"ctxt": 0
},
"value": "enclosingClassDecl",
"optional": false
}
},
"right": {
"type": "TsTypeAssertion",
"span": {
"start": 5287,
"end": 5307,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 5304,
"end": 5307,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 5288,
"end": 5303,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5288,
"end": 5303,
"ctxt": 0
},
"value": "TypeDeclaration",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "BreakStatement",
"span": {
"start": 5329,
"end": 5335,
"ctxt": 0
},
"label": null
}
]
},
{
"type": "SwitchCase",
"span": {
"start": 5353,
"end": 5989,
"ctxt": 0
},
"test": {
"type": "MemberExpression",
"span": {
"start": 5358,
"end": 5376,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 5358,
"end": 5366,
"ctxt": 0
},
"value": "NodeType",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 5367,
"end": 5376,
"ctxt": 0
},
"value": "ObjectLit",
"optional": false
}
},
"consequent": [
{
"type": "VariableDeclaration",
"span": {
"start": 5398,
"end": 5435,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5402,
"end": 5434,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5402,
"end": 5411,
"ctxt": 0
},
"value": "objectLit",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "TsTypeAssertion",
"span": {
"start": 5414,
"end": 5434,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 5431,
"end": 5434,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 5415,
"end": 5430,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5415,
"end": 5430,
"ctxt": 0
},
"value": "UnaryExpression",
"optional": false
},
"typeParams": null
}
},
"definite": false
}
]
},
{
"type": "IfStatement",
"span": {
"start": 5522,
"end": 5962,
"ctxt": 0
},
"test": {
"type": "MemberExpression",
"span": {
"start": 5526,
"end": 5546,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 5526,
"end": 5535,
"ctxt": 0
},
"value": "objectLit",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 5536,
"end": 5546,
"ctxt": 0
},
"value": "targetType",
"optional": false
}
},
"consequent": {
"type": "BlockStatement",
"span": {
"start": 5548,
"end": 5962,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 5574,
"end": 5708,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 5574,
"end": 5707,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 5574,
"end": 5593,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 5574,
"end": 5581,
"ctxt": 0
},
"value": "context",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 5582,
"end": 5593,
"ctxt": 0
},
"value": "scopeGetter",
"optional": false
}
},
"right": {
"type": "FunctionExpression",
"identifier": null,
"params": [],
"decorators": [],
"span": {
"start": 5596,
"end": 5707,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 5608,
"end": 5707,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 5638,
"end": 5681,
"ctxt": 0
},
"argument": {
"type": "MemberExpression",
"span": {
"start": 5645,
"end": 5680,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5645,
"end": 5665,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 5645,
"end": 5654,
"ctxt": 0
},
"value": "objectLit",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 5655,
"end": 5665,
"ctxt": 0
},
"value": "targetType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5666,
"end": 5680,
"ctxt": 0
},
"value": "containedScope",
"optional": false
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
}
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 5733,
"end": 5876,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 5733,
"end": 5876,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 5733,
"end": 5765,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 5733,
"end": 5740,
"ctxt": 0
},
"value": "context",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 5741,
"end": 5765,
"ctxt": 0
},
"value": "objectLiteralScopeGetter",
"optional": false
}
},
"right": {
"type": "FunctionExpression",
"identifier": null,
"params": [],
"decorators": [],
"span": {
"start": 5768,
"end": 5876,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 5780,
"end": 5876,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 5810,
"end": 5850,
"ctxt": 0
},
"argument": {
"type": "MemberExpression",
"span": {
"start": 5817,
"end": 5849,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5817,
"end": 5837,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 5817,
"end": 5826,
"ctxt": 0
},
"value": "objectLit",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 5827,
"end": 5837,
"ctxt": 0
},
"value": "targetType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5838,
"end": 5849,
"ctxt": 0
},
"value": "memberScope",
"optional": false
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
}
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 5901,
"end": 5940,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 5901,
"end": 5939,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 5901,
"end": 5927,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 5901,
"end": 5908,
"ctxt": 0
},
"value": "context",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 5909,
"end": 5927,
"ctxt": 0
},
"value": "enclosingObjectLit",
"optional": false
}
},
"right": {
"type": "Identifier",
"span": {
"start": 5930,
"end": 5939,
"ctxt": 0
},
"value": "objectLit",
"optional": false
}
}
}
]
},
"alternate": null
},
{
"type": "BreakStatement",
"span": {
"start": 5983,
"end": 5989,
"ctxt": 0
},
"label": null
}
]
},
{
"type": "SwitchCase",
"span": {
"start": 6007,
"end": 6349,
"ctxt": 0
},
"test": {
"type": "MemberExpression",
"span": {
"start": 6012,
"end": 6038,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 6012,
"end": 6020,
"ctxt": 0
},
"value": "NodeType",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 6021,
"end": 6038,
"ctxt": 0
},
"value": "ModuleDeclaration",
"optional": false
}
},
"consequent": [
{
"type": "ExpressionStatement",
"span": {
"start": 6060,
"end": 6111,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 6060,
"end": 6110,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 6060,
"end": 6085,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 6060,
"end": 6067,
"ctxt": 0
},
"value": "context",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 6068,
"end": 6085,
"ctxt": 0
},
"value": "deepestModuleDecl",
"optional": false
}
},
"right": {
"type": "TsTypeAssertion",
"span": {
"start": 6088,
"end": 6110,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 6107,
"end": 6110,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 6089,
"end": 6106,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 6089,
"end": 6106,
"ctxt": 0
},
"value": "ModuleDeclaration",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 6132,
"end": 6273,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 6132,
"end": 6272,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 6132,
"end": 6151,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 6132,
"end": 6139,
"ctxt": 0
},
"value": "context",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 6140,
"end": 6151,
"ctxt": 0
},
"value": "scopeGetter",
"optional": false
}
},
"right": {
"type": "FunctionExpression",
"identifier": null,
"params": [],
"decorators": [],
"span": {
"start": 6154,
"end": 6272,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 6166,
"end": 6272,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 6192,
"end": 6250,
"ctxt": 0
},
"argument": {
"type": "ConditionalExpression",
"span": {
"start": 6199,
"end": 6249,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 6199,
"end": 6216,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 6199,
"end": 6207,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 6199,
"end": 6202,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 6203,
"end": 6207,
"ctxt": 0
},
"value": "type",
"optional": false
}
},
"right": {
"type": "NullLiteral",
"span": {
"start": 6212,
"end": 6216,
"ctxt": 0
}
}
},
"consequent": {
"type": "NullLiteral",
"span": {
"start": 6219,
"end": 6223,
"ctxt": 0
}
},
"alternate": {
"type": "MemberExpression",
"span": {
"start": 6226,
"end": 6249,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 6226,
"end": 6234,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 6226,
"end": 6229,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 6230,
"end": 6234,
"ctxt": 0
},
"value": "type",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6235,
"end": 6249,
"ctxt": 0
},
"value": "containedScope",
"optional": false
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
}
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 6294,
"end": 6322,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 6294,
"end": 6321,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 6294,
"end": 6315,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 6294,
"end": 6301,
"ctxt": 0
},
"value": "context",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 6302,
"end": 6315,
"ctxt": 0
},
"value": "scopeStartAST",
"optional": false
}
},
"right": {
"type": "Identifier",
"span": {
"start": 6318,
"end": 6321,
"ctxt": 0
},
"value": "ast",
"optional": false
}
}
},
{
"type": "BreakStatement",
"span": {
"start": 6343,
"end": 6349,
"ctxt": 0
},
"label": null
}
]
},
{
"type": "SwitchCase",
"span": {
"start": 6367,
"end": 6642,
"ctxt": 0
},
"test": {
"type": "MemberExpression",
"span": {
"start": 6372,
"end": 6401,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 6372,
"end": 6380,
"ctxt": 0
},
"value": "NodeType",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 6381,
"end": 6401,
"ctxt": 0
},
"value": "InterfaceDeclaration",
"optional": false
}
},
"consequent": [
{
"type": "ExpressionStatement",
"span": {
"start": 6423,
"end": 6566,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 6423,
"end": 6565,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 6423,
"end": 6442,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 6423,
"end": 6430,
"ctxt": 0
},
"value": "context",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 6431,
"end": 6442,
"ctxt": 0
},
"value": "scopeGetter",
"optional": false
}
},
"right": {
"type": "FunctionExpression",
"identifier": null,
"params": [],
"decorators": [],
"span": {
"start": 6445,
"end": 6565,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 6457,
"end": 6565,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 6483,
"end": 6543,
"ctxt": 0
},
"argument": {
"type": "ConditionalExpression",
"span": {
"start": 6490,
"end": 6542,
"ctxt": 0
},
"test": {
"type": "ParenthesisExpression",
"span": {
"start": 6490,
"end": 6509,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 6491,
"end": 6508,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 6491,
"end": 6499,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 6491,
"end": 6494,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 6495,
"end": 6499,
"ctxt": 0
},
"value": "type",
"optional": false
}
},
"right": {
"type": "NullLiteral",
"span": {
"start": 6504,
"end": 6508,
"ctxt": 0
}
}
}
},
"consequent": {
"type": "NullLiteral",
"span": {
"start": 6512,
"end": 6516,
"ctxt": 0
}
},
"alternate": {
"type": "MemberExpression",
"span": {
"start": 6519,
"end": 6542,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 6519,
"end": 6527,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 6519,
"end": 6522,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 6523,
"end": 6527,
"ctxt": 0
},
"value": "type",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6528,
"end": 6542,
"ctxt": 0
},
"value": "containedScope",
"optional": false
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
}
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 6587,
"end": 6615,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 6587,
"end": 6614,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 6587,
"end": 6608,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 6587,
"end": 6594,
"ctxt": 0
},
"value": "context",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 6595,
"end": 6608,
"ctxt": 0
},
"value": "scopeStartAST",
"optional": false
}
},
"right": {
"type": "Identifier",
"span": {
"start": 6611,
"end": 6614,
"ctxt": 0
},
"value": "ast",
"optional": false
}
}
},
{
"type": "BreakStatement",
"span": {
"start": 6636,
"end": 6642,
"ctxt": 0
},
"label": null
}
]
},
{
"type": "SwitchCase",
"span": {
"start": 6660,
"end": 7902,
"ctxt": 0
},
"test": {
"type": "MemberExpression",
"span": {
"start": 6665,
"end": 6682,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 6665,
"end": 6673,
"ctxt": 0
},
"value": "NodeType",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 6674,
"end": 6682,
"ctxt": 0
},
"value": "FuncDecl",
"optional": false
}
},
"consequent": [
{
"type": "BlockStatement",
"span": {
"start": 6684,
"end": 7875,
"ctxt": 0
},
"stmts": [
{
"type": "VariableDeclaration",
"span": {
"start": 6706,
"end": 6735,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 6710,
"end": 6734,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 6710,
"end": 6718,
"ctxt": 0
},
"value": "funcDecl",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "TsTypeAssertion",
"span": {
"start": 6721,
"end": 6734,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 6731,
"end": 6734,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 6722,
"end": 6730,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 6722,
"end": 6730,
"ctxt": 0
},
"value": "FuncDecl",
"optional": false
},
"typeParams": null
}
},
"definite": false
}
]
},
{
"type": "IfStatement",
"span": {
"start": 6756,
"end": 7857,
"ctxt": 0
},
"test": {
"type": "MemberExpression",
"span": {
"start": 6760,
"end": 6792,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 6760,
"end": 6767,
"ctxt": 0
},
"value": "context",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 6768,
"end": 6792,
"ctxt": 0
},
"value": "skipNextFuncDeclForClass",
"optional": false
}
},
"consequent": {
"type": "BlockStatement",
"span": {
"start": 6794,
"end": 6883,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 6820,
"end": 6861,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 6820,
"end": 6860,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 6820,
"end": 6852,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 6820,
"end": 6827,
"ctxt": 0
},
"value": "context",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 6828,
"end": 6852,
"ctxt": 0
},
"value": "skipNextFuncDeclForClass",
"optional": false
}
},
"right": {
"type": "BooleanLiteral",
"span": {
"start": 6855,
"end": 6860,
"ctxt": 0
},
"value": false
}
}
}
]
},
"alternate": {
"type": "BlockStatement",
"span": {
"start": 6909,
"end": 7857,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 6935,
"end": 7782,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 6935,
"end": 7781,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 6935,
"end": 6954,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 6935,
"end": 6942,
"ctxt": 0
},
"value": "context",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 6943,
"end": 6954,
"ctxt": 0
},
"value": "scopeGetter",
"optional": false
}
},
"right": {
"type": "FunctionExpression",
"identifier": null,
"params": [],
"decorators": [],
"span": {
"start": 6957,
"end": 7781,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 6969,
"end": 7781,
"ctxt": 0
},
"stmts": [
{
"type": "IfStatement",
"span": {
"start": 7103,
"end": 7406,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 7107,
"end": 7181,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "MemberExpression",
"span": {
"start": 7107,
"end": 7129,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 7107,
"end": 7115,
"ctxt": 0
},
"value": "funcDecl",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 7116,
"end": 7129,
"ctxt": 0
},
"value": "isConstructor",
"optional": false
}
},
"right": {
"type": "CallExpression",
"span": {
"start": 7133,
"end": 7181,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 7133,
"end": 7140,
"ctxt": 0
},
"value": "hasFlag",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 7141,
"end": 7158,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 7141,
"end": 7149,
"ctxt": 0
},
"value": "funcDecl",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 7150,
"end": 7158,
"ctxt": 0
},
"value": "fncFlags",
"optional": false
}
}
},
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 7160,
"end": 7180,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 7160,
"end": 7168,
"ctxt": 0
},
"value": "FncFlags",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 7169,
"end": 7180,
"ctxt": 0
},
"value": "ClassMethod",
"optional": false
}
}
}
],
"typeArguments": null
}
},
"consequent": {
"type": "BlockStatement",
"span": {
"start": 7183,
"end": 7406,
"ctxt": 0
},
"stmts": [
{
"type": "IfStatement",
"span": {
"start": 7217,
"end": 7376,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 7221,
"end": 7255,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "MemberExpression",
"span": {
"start": 7221,
"end": 7229,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 7221,
"end": 7224,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 7225,
"end": 7229,
"ctxt": 0
},
"value": "type",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 7233,
"end": 7255,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7233,
"end": 7241,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 7233,
"end": 7236,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 7237,
"end": 7241,
"ctxt": 0
},
"value": "type",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7242,
"end": 7255,
"ctxt": 0
},
"value": "enclosingType",
"optional": false
}
}
},
"consequent": {
"type": "BlockStatement",
"span": {
"start": 7257,
"end": 7376,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 7295,
"end": 7342,
"ctxt": 0
},
"argument": {
"type": "MemberExpression",
"span": {
"start": 7302,
"end": 7341,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7302,
"end": 7324,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7302,
"end": 7310,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 7302,
"end": 7305,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 7306,
"end": 7310,
"ctxt": 0
},
"value": "type",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7311,
"end": 7324,
"ctxt": 0
},
"value": "enclosingType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7325,
"end": 7341,
"ctxt": 0
},
"value": "constructorScope",
"optional": false
}
}
}
]
},
"alternate": null
}
]
},
"alternate": null
},
{
"type": "IfStatement",
"span": {
"start": 7436,
"end": 7565,
"ctxt": 0
},
"test": {
"type": "MemberExpression",
"span": {
"start": 7440,
"end": 7458,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 7440,
"end": 7448,
"ctxt": 0
},
"value": "funcDecl",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 7449,
"end": 7458,
"ctxt": 0
},
"value": "scopeType",
"optional": false
}
},
"consequent": {
"type": "BlockStatement",
"span": {
"start": 7460,
"end": 7565,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 7494,
"end": 7535,
"ctxt": 0
},
"argument": {
"type": "MemberExpression",
"span": {
"start": 7501,
"end": 7534,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7501,
"end": 7519,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 7501,
"end": 7509,
"ctxt": 0
},
"value": "funcDecl",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 7510,
"end": 7519,
"ctxt": 0
},
"value": "scopeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7520,
"end": 7534,
"ctxt": 0
},
"value": "containedScope",
"optional": false
}
}
}
]
},
"alternate": null
},
{
"type": "IfStatement",
"span": {
"start": 7595,
"end": 7714,
"ctxt": 0
},
"test": {
"type": "MemberExpression",
"span": {
"start": 7599,
"end": 7612,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 7599,
"end": 7607,
"ctxt": 0
},
"value": "funcDecl",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 7608,
"end": 7612,
"ctxt": 0
},
"value": "type",
"optional": false
}
},
"consequent": {
"type": "BlockStatement",
"span": {
"start": 7614,
"end": 7714,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 7648,
"end": 7684,
"ctxt": 0
},
"argument": {
"type": "MemberExpression",
"span": {
"start": 7655,
"end": 7683,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7655,
"end": 7668,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 7655,
"end": 7663,
"ctxt": 0
},
"value": "funcDecl",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 7664,
"end": 7668,
"ctxt": 0
},
"value": "type",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7669,
"end": 7683,
"ctxt": 0
},
"value": "containedScope",
"optional": false
}
}
}
]
},
"alternate": null
},
{
"type": "ReturnStatement",
"span": {
"start": 7743,
"end": 7755,
"ctxt": 0
},
"argument": {
"type": "NullLiteral",
"span": {
"start": 7750,
"end": 7754,
"ctxt": 0
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
}
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 7807,
"end": 7835,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 7807,
"end": 7834,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 7807,
"end": 7828,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 7807,
"end": 7814,
"ctxt": 0
},
"value": "context",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 7815,
"end": 7828,
"ctxt": 0
},
"value": "scopeStartAST",
"optional": false
}
},
"right": {
"type": "Identifier",
"span": {
"start": 7831,
"end": 7834,
"ctxt": 0
},
"value": "ast",
"optional": false
}
}
}
]
}
}
]
},
{
"type": "BreakStatement",
"span": {
"start": 7896,
"end": 7902,
"ctxt": 0
},
"label": null
}
]
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 7929,
"end": 7962,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 7929,
"end": 7961,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 7929,
"end": 7954,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7929,
"end": 7943,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 7929,
"end": 7935,
"ctxt": 0
},
"value": "walker",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 7936,
"end": 7943,
"ctxt": 0
},
"value": "options",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7944,
"end": 7954,
"ctxt": 0
},
"value": "goChildren",
"optional": false
}
},
"right": {
"type": "BooleanLiteral",
"span": {
"start": 7957,
"end": 7961,
"ctxt": 0
},
"value": true
}
}
}
]
},
"alternate": {
"type": "BlockStatement",
"span": {
"start": 7986,
"end": 8044,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 8000,
"end": 8034,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 8000,
"end": 8033,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 8000,
"end": 8025,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 8000,
"end": 8014,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 8000,
"end": 8006,
"ctxt": 0
},
"value": "walker",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 8007,
"end": 8014,
"ctxt": 0
},
"value": "options",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8015,
"end": 8025,
"ctxt": 0
},
"value": "goChildren",
"optional": false
}
},
"right": {
"type": "BooleanLiteral",
"span": {
"start": 8028,
"end": 8033,
"ctxt": 0
},
"value": false
}
}
}
]
}
},
{
"type": "ReturnStatement",
"span": {
"start": 8053,
"end": 8064,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 8060,
"end": 8063,
"ctxt": 0
},
"value": "ast",
"optional": false
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
}
},
{
"type": "ExportDeclaration",
"span": {
"start": 8293,
"end": 8744,
"ctxt": 0
},
"declaration": {
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 8309,
"end": 8329,
"ctxt": 0
},
"value": "findEnclosingScopeAt",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 8330,
"end": 8345,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 8330,
"end": 8345,
"ctxt": 0
},
"value": "logger",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 8336,
"end": 8345,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 8338,
"end": 8345,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 8338,
"end": 8345,
"ctxt": 0
},
"value": "ILogger",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 8347,
"end": 8361,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 8347,
"end": 8361,
"ctxt": 0
},
"value": "script",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 8353,
"end": 8361,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 8355,
"end": 8361,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 8355,
"end": 8361,
"ctxt": 0
},
"value": "Script",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 8363,
"end": 8380,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 8363,
"end": 8380,
"ctxt": 0
},
"value": "text",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 8367,
"end": 8380,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 8369,
"end": 8380,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 8369,
"end": 8380,
"ctxt": 0
},
"value": "ISourceText",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 8382,
"end": 8393,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 8382,
"end": 8393,
"ctxt": 0
},
"value": "pos",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 8385,
"end": 8393,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 8387,
"end": 8393,
"ctxt": 0
},
"kind": "number"
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 8395,
"end": 8422,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 8395,
"end": 8422,
"ctxt": 0
},
"value": "isMemberCompletion",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 8413,
"end": 8422,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 8415,
"end": 8422,
"ctxt": 0
},
"kind": "boolean"
}
}
}
}
],
"decorators": [],
"span": {
"start": 8300,
"end": 8744,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 8447,
"end": 8744,
"ctxt": 0
},
"stmts": [
{
"type": "VariableDeclaration",
"span": {
"start": 8457,
"end": 8544,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 8461,
"end": 8543,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 8461,
"end": 8468,
"ctxt": 0
},
"value": "context",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "NewExpression",
"span": {
"start": 8471,
"end": 8543,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 8475,
"end": 8496,
"ctxt": 0
},
"value": "EnclosingScopeContext",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 8497,
"end": 8503,
"ctxt": 0
},
"value": "logger",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 8505,
"end": 8511,
"ctxt": 0
},
"value": "script",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 8513,
"end": 8517,
"ctxt": 0
},
"value": "text",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 8519,
"end": 8522,
"ctxt": 0
},
"value": "pos",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 8524,
"end": 8542,
"ctxt": 0
},
"value": "isMemberCompletion",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 8554,
"end": 8644,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 8554,
"end": 8643,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 8554,
"end": 8591,
"ctxt": 0
},
"object": {
"type": "CallExpression",
"span": {
"start": 8554,
"end": 8586,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 8554,
"end": 8584,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 8554,
"end": 8564,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 8565,
"end": 8584,
"ctxt": 0
},
"value": "getAstWalkerFactory",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"property": {
"type": "Identifier",
"span": {
"start": 8587,
"end": 8591,
"ctxt": 0
},
"value": "walk",
"optional": false
}
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 8592,
"end": 8598,
"ctxt": 0
},
"value": "script",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 8600,
"end": 8621,
"ctxt": 0
},
"value": "preFindEnclosingScope",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "NullLiteral",
"span": {
"start": 8623,
"end": 8627,
"ctxt": 0
}
}
},
{
"spread": null,
"expression": {
"type": "NullLiteral",
"span": {
"start": 8629,
"end": 8633,
"ctxt": 0
}
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 8635,
"end": 8642,
"ctxt": 0
},
"value": "context",
"optional": false
}
}
],
"typeArguments": null
}
},
{
"type": "IfStatement",
"span": {
"start": 8654,
"end": 8714,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 8658,
"end": 8688,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 8658,
"end": 8679,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 8658,
"end": 8665,
"ctxt": 0
},
"value": "context",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 8666,
"end": 8679,
"ctxt": 0
},
"value": "scopeStartAST",
"optional": false
}
},
"right": {
"type": "NullLiteral",
"span": {
"start": 8684,
"end": 8688,
"ctxt": 0
}
}
},
"consequent": {
"type": "ReturnStatement",
"span": {
"start": 8702,
"end": 8714,
"ctxt": 0
},
"argument": {
"type": "NullLiteral",
"span": {
"start": 8709,
"end": 8713,
"ctxt": 0
}
}
},
"alternate": null
},
{
"type": "ReturnStatement",
"span": {
"start": 8723,
"end": 8738,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 8730,
"end": 8737,
"ctxt": 0
},
"value": "context",
"optional": false
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 8423,
"end": 8446,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 8425,
"end": 8446,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 8425,
"end": 8446,
"ctxt": 0
},
"value": "EnclosingScopeContext",
"optional": false
},
"typeParams": null
}
}
}
}
]
}
}
],
"interpreter": null
}