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

40546 lines
1.9 MiB

{
"type": "Script",
"span": {
"start": 212,
"end": 25296,
"ctxt": 0
},
"body": [
{
"type": "TsModuleDeclaration",
"span": {
"start": 212,
"end": 25296,
"ctxt": 0
},
"declare": false,
"global": false,
"id": {
"type": "Identifier",
"span": {
"start": 219,
"end": 229,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"body": {
"type": "TsModuleBlock",
"span": {
"start": 230,
"end": 25296,
"ctxt": 0
},
"body": [
{
"type": "ExportDeclaration",
"span": {
"start": 236,
"end": 373,
"ctxt": 0
},
"declaration": {
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 252,
"end": 258,
"ctxt": 0
},
"value": "lastOf",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 259,
"end": 271,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 259,
"end": 271,
"ctxt": 0
},
"value": "items",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 264,
"end": 271,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 266,
"end": 271,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 266,
"end": 269,
"ctxt": 0
},
"kind": "any"
}
}
}
}
}
],
"decorators": [],
"span": {
"start": 243,
"end": 373,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 278,
"end": 373,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 288,
"end": 367,
"ctxt": 0
},
"argument": {
"type": "ConditionalExpression",
"span": {
"start": 295,
"end": 366,
"ctxt": 0
},
"test": {
"type": "ParenthesisExpression",
"span": {
"start": 295,
"end": 333,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 296,
"end": 332,
"ctxt": 0
},
"operator": "||",
"left": {
"type": "BinaryExpression",
"span": {
"start": 296,
"end": 310,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "Identifier",
"span": {
"start": 296,
"end": 301,
"ctxt": 0
},
"value": "items",
"optional": false
},
"right": {
"type": "NullLiteral",
"span": {
"start": 306,
"end": 310,
"ctxt": 0
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 314,
"end": 332,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 314,
"end": 326,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 314,
"end": 319,
"ctxt": 0
},
"value": "items",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 320,
"end": 326,
"ctxt": 0
},
"value": "length",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 331,
"end": 332,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
},
"consequent": {
"type": "NullLiteral",
"span": {
"start": 336,
"end": 340,
"ctxt": 0
}
},
"alternate": {
"type": "MemberExpression",
"span": {
"start": 343,
"end": 366,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 343,
"end": 348,
"ctxt": 0
},
"value": "items",
"optional": false
},
"property": {
"type": "Computed",
"span": {
"start": 348,
"end": 366,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 349,
"end": 365,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 349,
"end": 361,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 349,
"end": 354,
"ctxt": 0
},
"value": "items",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 355,
"end": 361,
"ctxt": 0
},
"value": "length",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 364,
"end": 365,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 272,
"end": 277,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 274,
"end": 277,
"ctxt": 0
},
"kind": "any"
}
}
}
},
{
"type": "ExportDeclaration",
"span": {
"start": 379,
"end": 467,
"ctxt": 0
},
"declaration": {
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 395,
"end": 398,
"ctxt": 0
},
"value": "max",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 399,
"end": 408,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 399,
"end": 408,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 400,
"end": 408,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 402,
"end": 408,
"ctxt": 0
},
"kind": "number"
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 410,
"end": 419,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 410,
"end": 419,
"ctxt": 0
},
"value": "b",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 411,
"end": 419,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 413,
"end": 419,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"decorators": [],
"span": {
"start": 386,
"end": 467,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 429,
"end": 467,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 439,
"end": 461,
"ctxt": 0
},
"argument": {
"type": "ConditionalExpression",
"span": {
"start": 446,
"end": 460,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 446,
"end": 452,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "Identifier",
"span": {
"start": 446,
"end": 447,
"ctxt": 0
},
"value": "a",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 451,
"end": 452,
"ctxt": 0
},
"value": "b",
"optional": false
}
},
"consequent": {
"type": "Identifier",
"span": {
"start": 455,
"end": 456,
"ctxt": 0
},
"value": "a",
"optional": false
},
"alternate": {
"type": "Identifier",
"span": {
"start": 459,
"end": 460,
"ctxt": 0
},
"value": "b",
"optional": false
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 420,
"end": 428,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 422,
"end": 428,
"ctxt": 0
},
"kind": "number"
}
}
}
},
{
"type": "ExportDeclaration",
"span": {
"start": 473,
"end": 561,
"ctxt": 0
},
"declaration": {
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 489,
"end": 492,
"ctxt": 0
},
"value": "min",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 493,
"end": 502,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 493,
"end": 502,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 494,
"end": 502,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 496,
"end": 502,
"ctxt": 0
},
"kind": "number"
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 504,
"end": 513,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 504,
"end": 513,
"ctxt": 0
},
"value": "b",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 505,
"end": 513,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 507,
"end": 513,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"decorators": [],
"span": {
"start": 480,
"end": 561,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 523,
"end": 561,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 533,
"end": 555,
"ctxt": 0
},
"argument": {
"type": "ConditionalExpression",
"span": {
"start": 540,
"end": 554,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 540,
"end": 546,
"ctxt": 0
},
"operator": "<=",
"left": {
"type": "Identifier",
"span": {
"start": 540,
"end": 541,
"ctxt": 0
},
"value": "a",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 545,
"end": 546,
"ctxt": 0
},
"value": "b",
"optional": false
}
},
"consequent": {
"type": "Identifier",
"span": {
"start": 549,
"end": 550,
"ctxt": 0
},
"value": "a",
"optional": false
},
"alternate": {
"type": "Identifier",
"span": {
"start": 553,
"end": 554,
"ctxt": 0
},
"value": "b",
"optional": false
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 514,
"end": 522,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 516,
"end": 522,
"ctxt": 0
},
"kind": "number"
}
}
}
},
{
"type": "ExportDeclaration",
"span": {
"start": 725,
"end": 19134,
"ctxt": 0
},
"declaration": {
"type": "ClassDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 738,
"end": 745,
"ctxt": 0
},
"value": "AstPath",
"optional": false
},
"declare": false,
"span": {
"start": 732,
"end": 19134,
"ctxt": 0
},
"decorators": [],
"body": [
{
"type": "ClassProperty",
"span": {
"start": 756,
"end": 791,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 763,
"end": 767,
"ctxt": 0
},
"value": "asts",
"optional": false
},
"value": {
"type": "ArrayExpression",
"span": {
"start": 788,
"end": 790,
"ctxt": 0
},
"elements": []
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 767,
"end": 785,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 769,
"end": 785,
"ctxt": 0
},
"elemType": {
"type": "TsTypeReference",
"span": {
"start": 769,
"end": 783,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 769,
"end": 779,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 780,
"end": 783,
"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": 800,
"end": 824,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 807,
"end": 810,
"ctxt": 0
},
"value": "top",
"optional": false
},
"value": {
"type": "UnaryExpression",
"span": {
"start": 821,
"end": 823,
"ctxt": 0
},
"operator": "-",
"argument": {
"type": "NumericLiteral",
"span": {
"start": 822,
"end": 823,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 810,
"end": 818,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 812,
"end": 818,
"ctxt": 0
},
"kind": "number"
}
},
"isStatic": false,
"decorators": [],
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false,
"readonly": false,
"declare": false,
"definite": false
},
{
"type": "ClassMethod",
"span": {
"start": 834,
"end": 1004,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 841,
"end": 855,
"ctxt": 0
},
"value": "reverseIndexOf",
"optional": false
},
"function": {
"params": [
{
"type": "Parameter",
"span": {
"start": 856,
"end": 868,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 856,
"end": 868,
"ctxt": 0
},
"value": "items",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 861,
"end": 868,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 863,
"end": 868,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 863,
"end": 866,
"ctxt": 0
},
"kind": "any"
}
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 870,
"end": 883,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 870,
"end": 883,
"ctxt": 0
},
"value": "index",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 875,
"end": 883,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 877,
"end": 883,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"decorators": [],
"span": {
"start": 834,
"end": 1004,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 890,
"end": 1004,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 904,
"end": 994,
"ctxt": 0
},
"argument": {
"type": "ConditionalExpression",
"span": {
"start": 911,
"end": 993,
"ctxt": 0
},
"test": {
"type": "ParenthesisExpression",
"span": {
"start": 911,
"end": 952,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 912,
"end": 951,
"ctxt": 0
},
"operator": "||",
"left": {
"type": "BinaryExpression",
"span": {
"start": 912,
"end": 926,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "Identifier",
"span": {
"start": 912,
"end": 917,
"ctxt": 0
},
"value": "items",
"optional": false
},
"right": {
"type": "NullLiteral",
"span": {
"start": 922,
"end": 926,
"ctxt": 0
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 930,
"end": 951,
"ctxt": 0
},
"operator": "<=",
"left": {
"type": "MemberExpression",
"span": {
"start": 930,
"end": 942,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 930,
"end": 935,
"ctxt": 0
},
"value": "items",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 936,
"end": 942,
"ctxt": 0
},
"value": "length",
"optional": false
}
},
"right": {
"type": "Identifier",
"span": {
"start": 946,
"end": 951,
"ctxt": 0
},
"value": "index",
"optional": false
}
}
}
},
"consequent": {
"type": "NullLiteral",
"span": {
"start": 955,
"end": 959,
"ctxt": 0
}
},
"alternate": {
"type": "MemberExpression",
"span": {
"start": 962,
"end": 993,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 962,
"end": 967,
"ctxt": 0
},
"value": "items",
"optional": false
},
"property": {
"type": "Computed",
"span": {
"start": 967,
"end": 993,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 968,
"end": 992,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "BinaryExpression",
"span": {
"start": 968,
"end": 988,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 968,
"end": 980,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 968,
"end": 973,
"ctxt": 0
},
"value": "items",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 974,
"end": 980,
"ctxt": 0
},
"value": "length",
"optional": false
}
},
"right": {
"type": "Identifier",
"span": {
"start": 983,
"end": 988,
"ctxt": 0
},
"value": "index",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 991,
"end": 992,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 884,
"end": 889,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 886,
"end": 889,
"ctxt": 0
},
"kind": "any"
}
}
},
"kind": "method",
"isStatic": true,
"accessibility": null,
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 1014,
"end": 1218,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1021,
"end": 1026,
"ctxt": 0
},
"value": "clone",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 1014,
"end": 1218,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1038,
"end": 1218,
"ctxt": 0
},
"stmts": [
{
"type": "VariableDeclaration",
"span": {
"start": 1052,
"end": 1078,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1056,
"end": 1077,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1056,
"end": 1061,
"ctxt": 0
},
"value": "clone",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "NewExpression",
"span": {
"start": 1064,
"end": 1077,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1068,
"end": 1075,
"ctxt": 0
},
"value": "AstPath",
"optional": false
},
"arguments": [],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 1091,
"end": 1148,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 1091,
"end": 1147,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 1091,
"end": 1101,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 1091,
"end": 1096,
"ctxt": 0
},
"value": "clone",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 1097,
"end": 1101,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"right": {
"type": "CallExpression",
"span": {
"start": 1104,
"end": 1147,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 1104,
"end": 1117,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 1104,
"end": 1113,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 1104,
"end": 1108,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1109,
"end": 1113,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1114,
"end": 1117,
"ctxt": 0
},
"value": "map",
"optional": false
}
},
"arguments": [
{
"spread": null,
"expression": {
"type": "ArrowFunctionExpression",
"span": {
"start": 1118,
"end": 1146,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1119,
"end": 1124,
"ctxt": 0
},
"value": "value",
"optional": false,
"typeAnnotation": null
}
],
"body": {
"type": "BlockStatement",
"span": {
"start": 1129,
"end": 1146,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 1131,
"end": 1144,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 1138,
"end": 1143,
"ctxt": 0
},
"value": "value",
"optional": false
}
}
]
},
"async": false,
"generator": false,
"typeParameters": null,
"returnType": null
}
}
],
"typeArguments": null
}
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 1161,
"end": 1182,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 1161,
"end": 1181,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 1161,
"end": 1170,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 1161,
"end": 1166,
"ctxt": 0
},
"value": "clone",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 1167,
"end": 1170,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 1173,
"end": 1181,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 1173,
"end": 1177,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1178,
"end": 1181,
"ctxt": 0
},
"value": "top",
"optional": false
}
}
}
},
{
"type": "ReturnStatement",
"span": {
"start": 1195,
"end": 1208,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 1202,
"end": 1207,
"ctxt": 0
},
"value": "clone",
"optional": false
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 1028,
"end": 1037,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1030,
"end": 1037,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1030,
"end": 1037,
"ctxt": 0
},
"value": "AstPath",
"optional": false
},
"typeParams": null
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 1228,
"end": 1453,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1235,
"end": 1238,
"ctxt": 0
},
"value": "pop",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 1228,
"end": 1453,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1257,
"end": 1453,
"ctxt": 0
},
"stmts": [
{
"type": "VariableDeclaration",
"span": {
"start": 1271,
"end": 1293,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1275,
"end": 1292,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1275,
"end": 1279,
"ctxt": 0
},
"value": "head",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 1282,
"end": 1292,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 1282,
"end": 1290,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 1282,
"end": 1286,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1287,
"end": 1290,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 1306,
"end": 1316,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 1306,
"end": 1315,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 1306,
"end": 1313,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 1306,
"end": 1310,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1311,
"end": 1313,
"ctxt": 0
},
"value": "up",
"optional": false
}
},
"arguments": [],
"typeArguments": null
}
},
{
"type": "WhileStatement",
"span": {
"start": 1330,
"end": 1418,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 1337,
"end": 1368,
"ctxt": 0
},
"operator": ">",
"left": {
"type": "MemberExpression",
"span": {
"start": 1337,
"end": 1353,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 1337,
"end": 1346,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 1337,
"end": 1341,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1342,
"end": 1346,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1347,
"end": 1353,
"ctxt": 0
},
"value": "length",
"optional": false
}
},
"right": {
"type": "CallExpression",
"span": {
"start": 1356,
"end": 1368,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 1356,
"end": 1366,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 1356,
"end": 1360,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1361,
"end": 1366,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
}
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1370,
"end": 1418,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 1388,
"end": 1404,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 1388,
"end": 1403,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 1388,
"end": 1401,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 1388,
"end": 1397,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 1388,
"end": 1392,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1393,
"end": 1397,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1398,
"end": 1401,
"ctxt": 0
},
"value": "pop",
"optional": false
}
},
"arguments": [],
"typeArguments": null
}
}
]
}
},
{
"type": "ReturnStatement",
"span": {
"start": 1431,
"end": 1443,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 1438,
"end": 1442,
"ctxt": 0
},
"value": "head",
"optional": false
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 1240,
"end": 1256,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1242,
"end": 1256,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 1242,
"end": 1252,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 1253,
"end": 1256,
"ctxt": 0
},
"value": "AST",
"optional": false
}
},
"typeParams": null
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 1463,
"end": 1682,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1470,
"end": 1474,
"ctxt": 0
},
"value": "push",
"optional": false
},
"function": {
"params": [
{
"type": "Parameter",
"span": {
"start": 1475,
"end": 1494,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 1475,
"end": 1494,
"ctxt": 0
},
"value": "ast",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1478,
"end": 1494,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1480,
"end": 1494,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 1480,
"end": 1490,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 1491,
"end": 1494,
"ctxt": 0
},
"value": "AST",
"optional": false
}
},
"typeParams": null
}
}
}
}
],
"decorators": [],
"span": {
"start": 1463,
"end": 1682,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1496,
"end": 1682,
"ctxt": 0
},
"stmts": [
{
"type": "WhileStatement",
"span": {
"start": 1510,
"end": 1598,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 1517,
"end": 1548,
"ctxt": 0
},
"operator": ">",
"left": {
"type": "MemberExpression",
"span": {
"start": 1517,
"end": 1533,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 1517,
"end": 1526,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 1517,
"end": 1521,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1522,
"end": 1526,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1527,
"end": 1533,
"ctxt": 0
},
"value": "length",
"optional": false
}
},
"right": {
"type": "CallExpression",
"span": {
"start": 1536,
"end": 1548,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 1536,
"end": 1546,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 1536,
"end": 1540,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1541,
"end": 1546,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
}
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1550,
"end": 1598,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 1568,
"end": 1584,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 1568,
"end": 1583,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 1568,
"end": 1581,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 1568,
"end": 1577,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 1568,
"end": 1572,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1573,
"end": 1577,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1578,
"end": 1581,
"ctxt": 0
},
"value": "pop",
"optional": false
}
},
"arguments": [],
"typeArguments": null
}
}
]
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 1611,
"end": 1639,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 1611,
"end": 1638,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 1611,
"end": 1619,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 1611,
"end": 1615,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1616,
"end": 1619,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 1622,
"end": 1638,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 1622,
"end": 1631,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 1622,
"end": 1626,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1627,
"end": 1631,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1632,
"end": 1638,
"ctxt": 0
},
"value": "length",
"optional": false
}
}
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 1652,
"end": 1672,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 1652,
"end": 1671,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 1652,
"end": 1666,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 1652,
"end": 1661,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 1652,
"end": 1656,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1657,
"end": 1661,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1662,
"end": 1666,
"ctxt": 0
},
"value": "push",
"optional": false
}
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 1667,
"end": 1670,
"ctxt": 0
},
"value": "ast",
"optional": false
}
}
],
"typeArguments": null
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 1692,
"end": 1828,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1699,
"end": 1701,
"ctxt": 0
},
"value": "up",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 1692,
"end": 1828,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1704,
"end": 1828,
"ctxt": 0
},
"stmts": [
{
"type": "IfStatement",
"span": {
"start": 1718,
"end": 1794,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 1722,
"end": 1736,
"ctxt": 0
},
"operator": "<=",
"left": {
"type": "MemberExpression",
"span": {
"start": 1722,
"end": 1730,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 1722,
"end": 1726,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1727,
"end": 1730,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "UnaryExpression",
"span": {
"start": 1734,
"end": 1736,
"ctxt": 0
},
"operator": "-",
"argument": {
"type": "NumericLiteral",
"span": {
"start": 1735,
"end": 1736,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
},
"consequent": {
"type": "ThrowStatement",
"span": {
"start": 1754,
"end": 1794,
"ctxt": 0
},
"argument": {
"type": "NewExpression",
"span": {
"start": 1760,
"end": 1793,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1764,
"end": 1769,
"ctxt": 0
},
"value": "Error",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 1770,
"end": 1792,
"ctxt": 0
},
"value": "Invalid call to 'up'",
"raw": "\"Invalid call to 'up'\""
}
}
],
"typeArguments": null
}
},
"alternate": null
},
{
"type": "ExpressionStatement",
"span": {
"start": 1807,
"end": 1818,
"ctxt": 0
},
"expression": {
"type": "UpdateExpression",
"span": {
"start": 1807,
"end": 1817,
"ctxt": 0
},
"operator": "--",
"prefix": false,
"argument": {
"type": "MemberExpression",
"span": {
"start": 1807,
"end": 1815,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 1807,
"end": 1811,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1812,
"end": 1815,
"ctxt": 0
},
"value": "top",
"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": 1838,
"end": 1995,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1845,
"end": 1849,
"ctxt": 0
},
"value": "down",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 1838,
"end": 1995,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1852,
"end": 1995,
"ctxt": 0
},
"stmts": [
{
"type": "IfStatement",
"span": {
"start": 1866,
"end": 1961,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 1870,
"end": 1901,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 1870,
"end": 1878,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 1870,
"end": 1874,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1875,
"end": 1878,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 1882,
"end": 1901,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 1882,
"end": 1897,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 1882,
"end": 1890,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 1882,
"end": 1886,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1887,
"end": 1890,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1891,
"end": 1897,
"ctxt": 0
},
"value": "length",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 1900,
"end": 1901,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
},
"consequent": {
"type": "ThrowStatement",
"span": {
"start": 1919,
"end": 1961,
"ctxt": 0
},
"argument": {
"type": "NewExpression",
"span": {
"start": 1925,
"end": 1960,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1929,
"end": 1934,
"ctxt": 0
},
"value": "Error",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 1935,
"end": 1959,
"ctxt": 0
},
"value": "Invalid call to 'down'",
"raw": "\"Invalid call to 'down'\""
}
}
],
"typeArguments": null
}
},
"alternate": null
},
{
"type": "ExpressionStatement",
"span": {
"start": 1974,
"end": 1985,
"ctxt": 0
},
"expression": {
"type": "UpdateExpression",
"span": {
"start": 1974,
"end": 1984,
"ctxt": 0
},
"operator": "++",
"prefix": false,
"argument": {
"type": "MemberExpression",
"span": {
"start": 1974,
"end": 1982,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 1974,
"end": 1978,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1979,
"end": 1982,
"ctxt": 0
},
"value": "top",
"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": 2005,
"end": 2180,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 2012,
"end": 2020,
"ctxt": 0
},
"value": "nodeType",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 2005,
"end": 2180,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 2044,
"end": 2180,
"ctxt": 0
},
"stmts": [
{
"type": "IfStatement",
"span": {
"start": 2058,
"end": 2130,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 2062,
"end": 2080,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "CallExpression",
"span": {
"start": 2062,
"end": 2072,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 2062,
"end": 2070,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2062,
"end": 2066,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2067,
"end": 2070,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NullLiteral",
"span": {
"start": 2076,
"end": 2080,
"ctxt": 0
}
}
},
"consequent": {
"type": "ReturnStatement",
"span": {
"start": 2098,
"end": 2130,
"ctxt": 0
},
"argument": {
"type": "MemberExpression",
"span": {
"start": 2105,
"end": 2129,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 2105,
"end": 2124,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 2105,
"end": 2115,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 2116,
"end": 2124,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2125,
"end": 2129,
"ctxt": 0
},
"value": "None",
"optional": false
}
}
},
"alternate": null
},
{
"type": "ReturnStatement",
"span": {
"start": 2143,
"end": 2170,
"ctxt": 0
},
"argument": {
"type": "MemberExpression",
"span": {
"start": 2150,
"end": 2169,
"ctxt": 0
},
"object": {
"type": "CallExpression",
"span": {
"start": 2150,
"end": 2160,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 2150,
"end": 2158,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2150,
"end": 2154,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2155,
"end": 2158,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"property": {
"type": "Identifier",
"span": {
"start": 2161,
"end": 2169,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 2022,
"end": 2043,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2024,
"end": 2043,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 2024,
"end": 2034,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 2035,
"end": 2043,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"typeParams": null
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 2190,
"end": 2319,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 2197,
"end": 2200,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 2190,
"end": 2319,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 2203,
"end": 2319,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 2217,
"end": 2309,
"ctxt": 0
},
"argument": {
"type": "TsTypeAssertion",
"span": {
"start": 2224,
"end": 2308,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 2240,
"end": 2308,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 2240,
"end": 2262,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 2240,
"end": 2247,
"ctxt": 0
},
"value": "AstPath",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 2248,
"end": 2262,
"ctxt": 0
},
"value": "reverseIndexOf",
"optional": false
}
},
"arguments": [
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 2263,
"end": 2272,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2263,
"end": 2267,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2268,
"end": 2272,
"ctxt": 0
},
"value": "asts",
"optional": false
}
}
},
{
"spread": null,
"expression": {
"type": "BinaryExpression",
"span": {
"start": 2274,
"end": 2307,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 2274,
"end": 2290,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 2274,
"end": 2283,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2274,
"end": 2278,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2279,
"end": 2283,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2284,
"end": 2290,
"ctxt": 0
},
"value": "length",
"optional": false
}
},
"right": {
"type": "ParenthesisExpression",
"span": {
"start": 2293,
"end": 2307,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 2294,
"end": 2306,
"ctxt": 0
},
"operator": "+",
"left": {
"type": "MemberExpression",
"span": {
"start": 2294,
"end": 2302,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2294,
"end": 2298,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2299,
"end": 2302,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 2305,
"end": 2306,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
}
}
],
"typeArguments": null
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2225,
"end": 2239,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 2225,
"end": 2235,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 2236,
"end": 2239,
"ctxt": 0
},
"value": "AST",
"optional": false
}
},
"typeParams": null
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 2329,
"end": 2455,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 2336,
"end": 2342,
"ctxt": 0
},
"value": "parent",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 2329,
"end": 2455,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 2345,
"end": 2455,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 2359,
"end": 2445,
"ctxt": 0
},
"argument": {
"type": "TsTypeAssertion",
"span": {
"start": 2366,
"end": 2444,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 2382,
"end": 2444,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 2382,
"end": 2404,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 2382,
"end": 2389,
"ctxt": 0
},
"value": "AstPath",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 2390,
"end": 2404,
"ctxt": 0
},
"value": "reverseIndexOf",
"optional": false
}
},
"arguments": [
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 2405,
"end": 2414,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2405,
"end": 2409,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2410,
"end": 2414,
"ctxt": 0
},
"value": "asts",
"optional": false
}
}
},
{
"spread": null,
"expression": {
"type": "BinaryExpression",
"span": {
"start": 2416,
"end": 2443,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 2416,
"end": 2432,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 2416,
"end": 2425,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2416,
"end": 2420,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2421,
"end": 2425,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2426,
"end": 2432,
"ctxt": 0
},
"value": "length",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 2435,
"end": 2443,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2435,
"end": 2439,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2440,
"end": 2443,
"ctxt": 0
},
"value": "top",
"optional": false
}
}
}
}
],
"typeArguments": null
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2367,
"end": 2381,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 2367,
"end": 2377,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 2378,
"end": 2381,
"ctxt": 0
},
"value": "AST",
"optional": false
}
},
"typeParams": null
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 2465,
"end": 2524,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 2472,
"end": 2477,
"ctxt": 0
},
"value": "count",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 2465,
"end": 2524,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 2480,
"end": 2524,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 2494,
"end": 2514,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 2501,
"end": 2513,
"ctxt": 0
},
"operator": "+",
"left": {
"type": "MemberExpression",
"span": {
"start": 2501,
"end": 2509,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2501,
"end": 2505,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2506,
"end": 2509,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 2512,
"end": 2513,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 2534,
"end": 2624,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 2541,
"end": 2544,
"ctxt": 0
},
"value": "get",
"optional": false
},
"function": {
"params": [
{
"type": "Parameter",
"span": {
"start": 2545,
"end": 2558,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 2545,
"end": 2558,
"ctxt": 0
},
"value": "index",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2550,
"end": 2558,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2552,
"end": 2558,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"decorators": [],
"span": {
"start": 2534,
"end": 2624,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 2576,
"end": 2624,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 2590,
"end": 2614,
"ctxt": 0
},
"argument": {
"type": "MemberExpression",
"span": {
"start": 2597,
"end": 2613,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 2597,
"end": 2606,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2597,
"end": 2601,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2602,
"end": 2606,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 2606,
"end": 2613,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2607,
"end": 2612,
"ctxt": 0
},
"value": "index",
"optional": false
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 2559,
"end": 2575,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2561,
"end": 2575,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 2561,
"end": 2571,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 2572,
"end": 2575,
"ctxt": 0
},
"value": "AST",
"optional": false
}
},
"typeParams": null
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 2634,
"end": 3017,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 2641,
"end": 2654,
"ctxt": 0
},
"value": "isNameOfClass",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 2634,
"end": 3017,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 2666,
"end": 3017,
"ctxt": 0
},
"stmts": [
{
"type": "IfStatement",
"span": {
"start": 2680,
"end": 2760,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 2684,
"end": 2729,
"ctxt": 0
},
"operator": "||",
"left": {
"type": "BinaryExpression",
"span": {
"start": 2684,
"end": 2703,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "CallExpression",
"span": {
"start": 2684,
"end": 2694,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 2684,
"end": 2692,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2684,
"end": 2688,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2689,
"end": 2692,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NullLiteral",
"span": {
"start": 2699,
"end": 2703,
"ctxt": 0
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 2707,
"end": 2729,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "CallExpression",
"span": {
"start": 2707,
"end": 2720,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 2707,
"end": 2718,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2707,
"end": 2711,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2712,
"end": 2718,
"ctxt": 0
},
"value": "parent",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NullLiteral",
"span": {
"start": 2725,
"end": 2729,
"ctxt": 0
}
}
}
},
"consequent": {
"type": "ReturnStatement",
"span": {
"start": 2747,
"end": 2760,
"ctxt": 0
},
"argument": {
"type": "BooleanLiteral",
"span": {
"start": 2754,
"end": 2759,
"ctxt": 0
},
"value": false
}
},
"alternate": null
},
{
"type": "ReturnStatement",
"span": {
"start": 2774,
"end": 3007,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 2781,
"end": 3006,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 2781,
"end": 2916,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "ParenthesisExpression",
"span": {
"start": 2781,
"end": 2831,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 2782,
"end": 2830,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 2782,
"end": 2801,
"ctxt": 0
},
"object": {
"type": "CallExpression",
"span": {
"start": 2782,
"end": 2792,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 2782,
"end": 2790,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2782,
"end": 2786,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2787,
"end": 2790,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"property": {
"type": "Identifier",
"span": {
"start": 2793,
"end": 2801,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 2806,
"end": 2830,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 2806,
"end": 2825,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 2806,
"end": 2816,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 2817,
"end": 2825,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2826,
"end": 2830,
"ctxt": 0
},
"value": "Name",
"optional": false
}
}
}
},
"right": {
"type": "ParenthesisExpression",
"span": {
"start": 2851,
"end": 2916,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 2852,
"end": 2915,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 2852,
"end": 2874,
"ctxt": 0
},
"object": {
"type": "CallExpression",
"span": {
"start": 2852,
"end": 2865,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 2852,
"end": 2863,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2852,
"end": 2856,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2857,
"end": 2863,
"ctxt": 0
},
"value": "parent",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"property": {
"type": "Identifier",
"span": {
"start": 2866,
"end": 2874,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 2879,
"end": 2915,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 2879,
"end": 2898,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 2879,
"end": 2889,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 2890,
"end": 2898,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2899,
"end": 2915,
"ctxt": 0
},
"value": "ClassDeclaration",
"optional": false
}
}
}
}
},
"right": {
"type": "ParenthesisExpression",
"span": {
"start": 2936,
"end": 3006,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 2937,
"end": 3005,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 2937,
"end": 2990,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 2937,
"end": 2985,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 2938,
"end": 2984,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 2971,
"end": 2984,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 2971,
"end": 2982,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2971,
"end": 2975,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2976,
"end": 2982,
"ctxt": 0
},
"value": "parent",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2939,
"end": 2970,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 2939,
"end": 2949,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 2950,
"end": 2970,
"ctxt": 0
},
"value": "InterfaceDeclaration",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2986,
"end": 2990,
"ctxt": 0
},
"value": "name",
"optional": false
}
},
"right": {
"type": "CallExpression",
"span": {
"start": 2995,
"end": 3005,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 2995,
"end": 3003,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2995,
"end": 2999,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 3000,
"end": 3003,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
"arguments": [],
"typeArguments": null
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 2656,
"end": 2665,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2658,
"end": 2665,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 3027,
"end": 3418,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 3034,
"end": 3051,
"ctxt": 0
},
"value": "isNameOfInterface",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 3027,
"end": 3418,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 3063,
"end": 3418,
"ctxt": 0
},
"stmts": [
{
"type": "IfStatement",
"span": {
"start": 3077,
"end": 3157,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 3081,
"end": 3126,
"ctxt": 0
},
"operator": "||",
"left": {
"type": "BinaryExpression",
"span": {
"start": 3081,
"end": 3100,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "CallExpression",
"span": {
"start": 3081,
"end": 3091,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 3081,
"end": 3089,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 3081,
"end": 3085,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 3086,
"end": 3089,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NullLiteral",
"span": {
"start": 3096,
"end": 3100,
"ctxt": 0
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 3104,
"end": 3126,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "CallExpression",
"span": {
"start": 3104,
"end": 3117,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 3104,
"end": 3115,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 3104,
"end": 3108,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 3109,
"end": 3115,
"ctxt": 0
},
"value": "parent",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NullLiteral",
"span": {
"start": 3122,
"end": 3126,
"ctxt": 0
}
}
}
},
"consequent": {
"type": "ReturnStatement",
"span": {
"start": 3144,
"end": 3157,
"ctxt": 0
},
"argument": {
"type": "BooleanLiteral",
"span": {
"start": 3151,
"end": 3156,
"ctxt": 0
},
"value": false
}
},
"alternate": null
},
{
"type": "ReturnStatement",
"span": {
"start": 3171,
"end": 3408,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 3178,
"end": 3407,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 3178,
"end": 3317,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "ParenthesisExpression",
"span": {
"start": 3178,
"end": 3228,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 3179,
"end": 3227,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 3179,
"end": 3198,
"ctxt": 0
},
"object": {
"type": "CallExpression",
"span": {
"start": 3179,
"end": 3189,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 3179,
"end": 3187,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 3179,
"end": 3183,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 3184,
"end": 3187,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"property": {
"type": "Identifier",
"span": {
"start": 3190,
"end": 3198,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 3203,
"end": 3227,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 3203,
"end": 3222,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 3203,
"end": 3213,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 3214,
"end": 3222,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 3223,
"end": 3227,
"ctxt": 0
},
"value": "Name",
"optional": false
}
}
}
},
"right": {
"type": "ParenthesisExpression",
"span": {
"start": 3248,
"end": 3317,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 3249,
"end": 3316,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 3249,
"end": 3271,
"ctxt": 0
},
"object": {
"type": "CallExpression",
"span": {
"start": 3249,
"end": 3262,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 3249,
"end": 3260,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 3249,
"end": 3253,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 3254,
"end": 3260,
"ctxt": 0
},
"value": "parent",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"property": {
"type": "Identifier",
"span": {
"start": 3263,
"end": 3271,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 3276,
"end": 3316,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 3276,
"end": 3295,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 3276,
"end": 3286,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 3287,
"end": 3295,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 3296,
"end": 3316,
"ctxt": 0
},
"value": "InterfaceDeclaration",
"optional": false
}
}
}
}
},
"right": {
"type": "ParenthesisExpression",
"span": {
"start": 3337,
"end": 3407,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 3338,
"end": 3406,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 3338,
"end": 3391,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 3338,
"end": 3386,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 3339,
"end": 3385,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 3372,
"end": 3385,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 3372,
"end": 3383,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 3372,
"end": 3376,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 3377,
"end": 3383,
"ctxt": 0
},
"value": "parent",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3340,
"end": 3371,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 3340,
"end": 3350,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 3351,
"end": 3371,
"ctxt": 0
},
"value": "InterfaceDeclaration",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 3387,
"end": 3391,
"ctxt": 0
},
"value": "name",
"optional": false
}
},
"right": {
"type": "CallExpression",
"span": {
"start": 3396,
"end": 3406,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 3396,
"end": 3404,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 3396,
"end": 3400,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 3401,
"end": 3404,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
"arguments": [],
"typeArguments": null
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 3053,
"end": 3062,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3055,
"end": 3062,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 3428,
"end": 3790,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 3435,
"end": 3451,
"ctxt": 0
},
"value": "isNameOfArgument",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 3428,
"end": 3790,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 3463,
"end": 3790,
"ctxt": 0
},
"stmts": [
{
"type": "IfStatement",
"span": {
"start": 3477,
"end": 3557,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 3481,
"end": 3526,
"ctxt": 0
},
"operator": "||",
"left": {
"type": "BinaryExpression",
"span": {
"start": 3481,
"end": 3500,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "CallExpression",
"span": {
"start": 3481,
"end": 3491,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 3481,
"end": 3489,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 3481,
"end": 3485,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 3486,
"end": 3489,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NullLiteral",
"span": {
"start": 3496,
"end": 3500,
"ctxt": 0
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 3504,
"end": 3526,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "CallExpression",
"span": {
"start": 3504,
"end": 3517,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 3504,
"end": 3515,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 3504,
"end": 3508,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 3509,
"end": 3515,
"ctxt": 0
},
"value": "parent",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NullLiteral",
"span": {
"start": 3522,
"end": 3526,
"ctxt": 0
}
}
}
},
"consequent": {
"type": "ReturnStatement",
"span": {
"start": 3544,
"end": 3557,
"ctxt": 0
},
"argument": {
"type": "BooleanLiteral",
"span": {
"start": 3551,
"end": 3556,
"ctxt": 0
},
"value": false
}
},
"alternate": null
},
{
"type": "ReturnStatement",
"span": {
"start": 3571,
"end": 3780,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 3578,
"end": 3779,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 3578,
"end": 3704,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "ParenthesisExpression",
"span": {
"start": 3578,
"end": 3628,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 3579,
"end": 3627,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 3579,
"end": 3598,
"ctxt": 0
},
"object": {
"type": "CallExpression",
"span": {
"start": 3579,
"end": 3589,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 3579,
"end": 3587,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 3579,
"end": 3583,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 3584,
"end": 3587,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"property": {
"type": "Identifier",
"span": {
"start": 3590,
"end": 3598,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 3603,
"end": 3627,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 3603,
"end": 3622,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 3603,
"end": 3613,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 3614,
"end": 3622,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 3623,
"end": 3627,
"ctxt": 0
},
"value": "Name",
"optional": false
}
}
}
},
"right": {
"type": "ParenthesisExpression",
"span": {
"start": 3648,
"end": 3704,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 3649,
"end": 3703,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 3649,
"end": 3671,
"ctxt": 0
},
"object": {
"type": "CallExpression",
"span": {
"start": 3649,
"end": 3662,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 3649,
"end": 3660,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 3649,
"end": 3653,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 3654,
"end": 3660,
"ctxt": 0
},
"value": "parent",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"property": {
"type": "Identifier",
"span": {
"start": 3663,
"end": 3671,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 3676,
"end": 3703,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 3676,
"end": 3695,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 3676,
"end": 3686,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 3687,
"end": 3695,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 3696,
"end": 3703,
"ctxt": 0
},
"value": "ArgDecl",
"optional": false
}
}
}
}
},
"right": {
"type": "ParenthesisExpression",
"span": {
"start": 3724,
"end": 3779,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 3725,
"end": 3778,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 3725,
"end": 3763,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 3725,
"end": 3760,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 3726,
"end": 3759,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 3746,
"end": 3759,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 3746,
"end": 3757,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 3746,
"end": 3750,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 3751,
"end": 3757,
"ctxt": 0
},
"value": "parent",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3727,
"end": 3745,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 3727,
"end": 3737,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 3738,
"end": 3745,
"ctxt": 0
},
"value": "ArgDecl",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 3761,
"end": 3763,
"ctxt": 0
},
"value": "id",
"optional": false
}
},
"right": {
"type": "CallExpression",
"span": {
"start": 3768,
"end": 3778,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 3768,
"end": 3776,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 3768,
"end": 3772,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 3773,
"end": 3776,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
"arguments": [],
"typeArguments": null
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 3453,
"end": 3462,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3455,
"end": 3462,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 3800,
"end": 4162,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 3807,
"end": 3823,
"ctxt": 0
},
"value": "isNameOfVariable",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 3800,
"end": 4162,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 3835,
"end": 4162,
"ctxt": 0
},
"stmts": [
{
"type": "IfStatement",
"span": {
"start": 3849,
"end": 3929,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 3853,
"end": 3898,
"ctxt": 0
},
"operator": "||",
"left": {
"type": "BinaryExpression",
"span": {
"start": 3853,
"end": 3872,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "CallExpression",
"span": {
"start": 3853,
"end": 3863,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 3853,
"end": 3861,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 3853,
"end": 3857,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 3858,
"end": 3861,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NullLiteral",
"span": {
"start": 3868,
"end": 3872,
"ctxt": 0
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 3876,
"end": 3898,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "CallExpression",
"span": {
"start": 3876,
"end": 3889,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 3876,
"end": 3887,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 3876,
"end": 3880,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 3881,
"end": 3887,
"ctxt": 0
},
"value": "parent",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NullLiteral",
"span": {
"start": 3894,
"end": 3898,
"ctxt": 0
}
}
}
},
"consequent": {
"type": "ReturnStatement",
"span": {
"start": 3916,
"end": 3929,
"ctxt": 0
},
"argument": {
"type": "BooleanLiteral",
"span": {
"start": 3923,
"end": 3928,
"ctxt": 0
},
"value": false
}
},
"alternate": null
},
{
"type": "ReturnStatement",
"span": {
"start": 3943,
"end": 4152,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 3950,
"end": 4151,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 3950,
"end": 4076,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "ParenthesisExpression",
"span": {
"start": 3950,
"end": 4000,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 3951,
"end": 3999,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 3951,
"end": 3970,
"ctxt": 0
},
"object": {
"type": "CallExpression",
"span": {
"start": 3951,
"end": 3961,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 3951,
"end": 3959,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 3951,
"end": 3955,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 3956,
"end": 3959,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"property": {
"type": "Identifier",
"span": {
"start": 3962,
"end": 3970,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 3975,
"end": 3999,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 3975,
"end": 3994,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 3975,
"end": 3985,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 3986,
"end": 3994,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 3995,
"end": 3999,
"ctxt": 0
},
"value": "Name",
"optional": false
}
}
}
},
"right": {
"type": "ParenthesisExpression",
"span": {
"start": 4020,
"end": 4076,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 4021,
"end": 4075,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 4021,
"end": 4043,
"ctxt": 0
},
"object": {
"type": "CallExpression",
"span": {
"start": 4021,
"end": 4034,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 4021,
"end": 4032,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 4021,
"end": 4025,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 4026,
"end": 4032,
"ctxt": 0
},
"value": "parent",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"property": {
"type": "Identifier",
"span": {
"start": 4035,
"end": 4043,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 4048,
"end": 4075,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 4048,
"end": 4067,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 4048,
"end": 4058,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 4059,
"end": 4067,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 4068,
"end": 4075,
"ctxt": 0
},
"value": "VarDecl",
"optional": false
}
}
}
}
},
"right": {
"type": "ParenthesisExpression",
"span": {
"start": 4096,
"end": 4151,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 4097,
"end": 4150,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 4097,
"end": 4135,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 4097,
"end": 4132,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 4098,
"end": 4131,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 4118,
"end": 4131,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 4118,
"end": 4129,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 4118,
"end": 4122,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 4123,
"end": 4129,
"ctxt": 0
},
"value": "parent",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4099,
"end": 4117,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 4099,
"end": 4109,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 4110,
"end": 4117,
"ctxt": 0
},
"value": "VarDecl",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 4133,
"end": 4135,
"ctxt": 0
},
"value": "id",
"optional": false
}
},
"right": {
"type": "CallExpression",
"span": {
"start": 4140,
"end": 4150,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 4140,
"end": 4148,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 4140,
"end": 4144,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 4145,
"end": 4148,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
"arguments": [],
"typeArguments": null
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 3825,
"end": 3834,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3827,
"end": 3834,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 4172,
"end": 4554,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 4179,
"end": 4193,
"ctxt": 0
},
"value": "isNameOfModule",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 4172,
"end": 4554,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 4205,
"end": 4554,
"ctxt": 0
},
"stmts": [
{
"type": "IfStatement",
"span": {
"start": 4219,
"end": 4299,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 4223,
"end": 4268,
"ctxt": 0
},
"operator": "||",
"left": {
"type": "BinaryExpression",
"span": {
"start": 4223,
"end": 4242,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "CallExpression",
"span": {
"start": 4223,
"end": 4233,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 4223,
"end": 4231,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 4223,
"end": 4227,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 4228,
"end": 4231,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NullLiteral",
"span": {
"start": 4238,
"end": 4242,
"ctxt": 0
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 4246,
"end": 4268,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "CallExpression",
"span": {
"start": 4246,
"end": 4259,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 4246,
"end": 4257,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 4246,
"end": 4250,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 4251,
"end": 4257,
"ctxt": 0
},
"value": "parent",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NullLiteral",
"span": {
"start": 4264,
"end": 4268,
"ctxt": 0
}
}
}
},
"consequent": {
"type": "ReturnStatement",
"span": {
"start": 4286,
"end": 4299,
"ctxt": 0
},
"argument": {
"type": "BooleanLiteral",
"span": {
"start": 4293,
"end": 4298,
"ctxt": 0
},
"value": false
}
},
"alternate": null
},
{
"type": "ReturnStatement",
"span": {
"start": 4313,
"end": 4544,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 4320,
"end": 4543,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 4320,
"end": 4456,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "ParenthesisExpression",
"span": {
"start": 4320,
"end": 4370,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 4321,
"end": 4369,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 4321,
"end": 4340,
"ctxt": 0
},
"object": {
"type": "CallExpression",
"span": {
"start": 4321,
"end": 4331,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 4321,
"end": 4329,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 4321,
"end": 4325,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 4326,
"end": 4329,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"property": {
"type": "Identifier",
"span": {
"start": 4332,
"end": 4340,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 4345,
"end": 4369,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 4345,
"end": 4364,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 4345,
"end": 4355,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 4356,
"end": 4364,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 4365,
"end": 4369,
"ctxt": 0
},
"value": "Name",
"optional": false
}
}
}
},
"right": {
"type": "ParenthesisExpression",
"span": {
"start": 4390,
"end": 4456,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 4391,
"end": 4455,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 4391,
"end": 4413,
"ctxt": 0
},
"object": {
"type": "CallExpression",
"span": {
"start": 4391,
"end": 4404,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 4391,
"end": 4402,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 4391,
"end": 4395,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 4396,
"end": 4402,
"ctxt": 0
},
"value": "parent",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"property": {
"type": "Identifier",
"span": {
"start": 4405,
"end": 4413,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 4418,
"end": 4455,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 4418,
"end": 4437,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 4418,
"end": 4428,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 4429,
"end": 4437,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 4438,
"end": 4455,
"ctxt": 0
},
"value": "ModuleDeclaration",
"optional": false
}
}
}
}
},
"right": {
"type": "ParenthesisExpression",
"span": {
"start": 4476,
"end": 4543,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 4477,
"end": 4542,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 4477,
"end": 4527,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 4477,
"end": 4522,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 4478,
"end": 4521,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 4508,
"end": 4521,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 4508,
"end": 4519,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 4508,
"end": 4512,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 4513,
"end": 4519,
"ctxt": 0
},
"value": "parent",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4479,
"end": 4507,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 4479,
"end": 4489,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 4490,
"end": 4507,
"ctxt": 0
},
"value": "ModuleDeclaration",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 4523,
"end": 4527,
"ctxt": 0
},
"value": "name",
"optional": false
}
},
"right": {
"type": "CallExpression",
"span": {
"start": 4532,
"end": 4542,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 4532,
"end": 4540,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 4532,
"end": 4536,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 4537,
"end": 4540,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
"arguments": [],
"typeArguments": null
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 4195,
"end": 4204,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 4197,
"end": 4204,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 4564,
"end": 4930,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 4571,
"end": 4587,
"ctxt": 0
},
"value": "isNameOfFunction",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 4564,
"end": 4930,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 4599,
"end": 4930,
"ctxt": 0
},
"stmts": [
{
"type": "IfStatement",
"span": {
"start": 4613,
"end": 4693,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 4617,
"end": 4662,
"ctxt": 0
},
"operator": "||",
"left": {
"type": "BinaryExpression",
"span": {
"start": 4617,
"end": 4636,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "CallExpression",
"span": {
"start": 4617,
"end": 4627,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 4617,
"end": 4625,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 4617,
"end": 4621,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 4622,
"end": 4625,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NullLiteral",
"span": {
"start": 4632,
"end": 4636,
"ctxt": 0
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 4640,
"end": 4662,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "CallExpression",
"span": {
"start": 4640,
"end": 4653,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 4640,
"end": 4651,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 4640,
"end": 4644,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 4645,
"end": 4651,
"ctxt": 0
},
"value": "parent",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NullLiteral",
"span": {
"start": 4658,
"end": 4662,
"ctxt": 0
}
}
}
},
"consequent": {
"type": "ReturnStatement",
"span": {
"start": 4680,
"end": 4693,
"ctxt": 0
},
"argument": {
"type": "BooleanLiteral",
"span": {
"start": 4687,
"end": 4692,
"ctxt": 0
},
"value": false
}
},
"alternate": null
},
{
"type": "ReturnStatement",
"span": {
"start": 4707,
"end": 4920,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 4714,
"end": 4919,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 4714,
"end": 4841,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "ParenthesisExpression",
"span": {
"start": 4714,
"end": 4764,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 4715,
"end": 4763,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 4715,
"end": 4734,
"ctxt": 0
},
"object": {
"type": "CallExpression",
"span": {
"start": 4715,
"end": 4725,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 4715,
"end": 4723,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 4715,
"end": 4719,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 4720,
"end": 4723,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"property": {
"type": "Identifier",
"span": {
"start": 4726,
"end": 4734,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 4739,
"end": 4763,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 4739,
"end": 4758,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 4739,
"end": 4749,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 4750,
"end": 4758,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 4759,
"end": 4763,
"ctxt": 0
},
"value": "Name",
"optional": false
}
}
}
},
"right": {
"type": "ParenthesisExpression",
"span": {
"start": 4784,
"end": 4841,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 4785,
"end": 4840,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 4785,
"end": 4807,
"ctxt": 0
},
"object": {
"type": "CallExpression",
"span": {
"start": 4785,
"end": 4798,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 4785,
"end": 4796,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 4785,
"end": 4789,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 4790,
"end": 4796,
"ctxt": 0
},
"value": "parent",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"property": {
"type": "Identifier",
"span": {
"start": 4799,
"end": 4807,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 4812,
"end": 4840,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 4812,
"end": 4831,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 4812,
"end": 4822,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 4823,
"end": 4831,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 4832,
"end": 4840,
"ctxt": 0
},
"value": "FuncDecl",
"optional": false
}
}
}
}
},
"right": {
"type": "ParenthesisExpression",
"span": {
"start": 4861,
"end": 4919,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 4862,
"end": 4918,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 4862,
"end": 4903,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 4862,
"end": 4898,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 4863,
"end": 4897,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 4884,
"end": 4897,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 4884,
"end": 4895,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 4884,
"end": 4888,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 4889,
"end": 4895,
"ctxt": 0
},
"value": "parent",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4864,
"end": 4883,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 4864,
"end": 4874,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 4875,
"end": 4883,
"ctxt": 0
},
"value": "FuncDecl",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 4899,
"end": 4903,
"ctxt": 0
},
"value": "name",
"optional": false
}
},
"right": {
"type": "CallExpression",
"span": {
"start": 4908,
"end": 4918,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 4908,
"end": 4916,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 4908,
"end": 4912,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 4913,
"end": 4916,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
"arguments": [],
"typeArguments": null
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 4589,
"end": 4598,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 4591,
"end": 4598,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 4940,
"end": 5275,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 4947,
"end": 4962,
"ctxt": 0
},
"value": "isChildOfScript",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 4940,
"end": 5275,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 4974,
"end": 5275,
"ctxt": 0
},
"stmts": [
{
"type": "VariableDeclaration",
"span": {
"start": 4988,
"end": 5016,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 4992,
"end": 5015,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 4992,
"end": 4995,
"ctxt": 0
},
"value": "ast",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 4998,
"end": 5015,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 4998,
"end": 5004,
"ctxt": 0
},
"value": "lastOf",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 5005,
"end": 5014,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 5005,
"end": 5009,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5010,
"end": 5014,
"ctxt": 0
},
"value": "asts",
"optional": false
}
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "ReturnStatement",
"span": {
"start": 5029,
"end": 5265,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 5036,
"end": 5264,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 5036,
"end": 5181,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 5036,
"end": 5100,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 5036,
"end": 5053,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 5036,
"end": 5048,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 5036,
"end": 5046,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 5036,
"end": 5040,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5041,
"end": 5046,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 5052,
"end": 5053,
"ctxt": 0
},
"value": 3.0,
"raw": "3"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 5073,
"end": 5100,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 5073,
"end": 5092,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5073,
"end": 5082,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 5073,
"end": 5077,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5078,
"end": 5082,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 5082,
"end": 5092,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 5083,
"end": 5091,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 5083,
"end": 5087,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5088,
"end": 5091,
"ctxt": 0
},
"value": "top",
"optional": false
}
}
}
},
"right": {
"type": "Identifier",
"span": {
"start": 5097,
"end": 5100,
"ctxt": 0
},
"value": "ast",
"optional": false
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 5120,
"end": 5181,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 5120,
"end": 5152,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5120,
"end": 5143,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5120,
"end": 5129,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 5120,
"end": 5124,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5125,
"end": 5129,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 5129,
"end": 5143,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 5130,
"end": 5142,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 5130,
"end": 5138,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 5130,
"end": 5134,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5135,
"end": 5138,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 5141,
"end": 5142,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5144,
"end": 5152,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 5157,
"end": 5181,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5157,
"end": 5176,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 5157,
"end": 5167,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 5168,
"end": 5176,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5177,
"end": 5181,
"ctxt": 0
},
"value": "List",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 5201,
"end": 5264,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 5201,
"end": 5233,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5201,
"end": 5224,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5201,
"end": 5210,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 5201,
"end": 5205,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5206,
"end": 5210,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 5210,
"end": 5224,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 5211,
"end": 5223,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 5211,
"end": 5219,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 5211,
"end": 5215,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5216,
"end": 5219,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 5222,
"end": 5223,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5225,
"end": 5233,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 5238,
"end": 5264,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5238,
"end": 5257,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 5238,
"end": 5248,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 5249,
"end": 5257,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5258,
"end": 5264,
"ctxt": 0
},
"value": "Script",
"optional": false
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 4964,
"end": 4973,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 4966,
"end": 4973,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 5285,
"end": 5631,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 5292,
"end": 5307,
"ctxt": 0
},
"value": "isChildOfModule",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 5285,
"end": 5631,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 5319,
"end": 5631,
"ctxt": 0
},
"stmts": [
{
"type": "VariableDeclaration",
"span": {
"start": 5333,
"end": 5361,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5337,
"end": 5360,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5337,
"end": 5340,
"ctxt": 0
},
"value": "ast",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 5343,
"end": 5360,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 5343,
"end": 5349,
"ctxt": 0
},
"value": "lastOf",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 5350,
"end": 5359,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 5350,
"end": 5354,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5355,
"end": 5359,
"ctxt": 0
},
"value": "asts",
"optional": false
}
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "ReturnStatement",
"span": {
"start": 5374,
"end": 5621,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 5381,
"end": 5620,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 5381,
"end": 5526,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 5381,
"end": 5445,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 5381,
"end": 5398,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 5381,
"end": 5393,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 5381,
"end": 5391,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 5381,
"end": 5385,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5386,
"end": 5391,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 5397,
"end": 5398,
"ctxt": 0
},
"value": 3.0,
"raw": "3"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 5418,
"end": 5445,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 5418,
"end": 5437,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5418,
"end": 5427,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 5418,
"end": 5422,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5423,
"end": 5427,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 5427,
"end": 5437,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 5428,
"end": 5436,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 5428,
"end": 5432,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5433,
"end": 5436,
"ctxt": 0
},
"value": "top",
"optional": false
}
}
}
},
"right": {
"type": "Identifier",
"span": {
"start": 5442,
"end": 5445,
"ctxt": 0
},
"value": "ast",
"optional": false
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 5465,
"end": 5526,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 5465,
"end": 5497,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5465,
"end": 5488,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5465,
"end": 5474,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 5465,
"end": 5469,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5470,
"end": 5474,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 5474,
"end": 5488,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 5475,
"end": 5487,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 5475,
"end": 5483,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 5475,
"end": 5479,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5480,
"end": 5483,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 5486,
"end": 5487,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5489,
"end": 5497,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 5502,
"end": 5526,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5502,
"end": 5521,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 5502,
"end": 5512,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 5513,
"end": 5521,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5522,
"end": 5526,
"ctxt": 0
},
"value": "List",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 5546,
"end": 5620,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 5546,
"end": 5578,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5546,
"end": 5569,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5546,
"end": 5555,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 5546,
"end": 5550,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5551,
"end": 5555,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 5555,
"end": 5569,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 5556,
"end": 5568,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 5556,
"end": 5564,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 5556,
"end": 5560,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5561,
"end": 5564,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 5567,
"end": 5568,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5570,
"end": 5578,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 5583,
"end": 5620,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5583,
"end": 5602,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 5583,
"end": 5593,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 5594,
"end": 5602,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5603,
"end": 5620,
"ctxt": 0
},
"value": "ModuleDeclaration",
"optional": false
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 5309,
"end": 5318,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 5311,
"end": 5318,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 5641,
"end": 5985,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 5648,
"end": 5662,
"ctxt": 0
},
"value": "isChildOfClass",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 5641,
"end": 5985,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 5674,
"end": 5985,
"ctxt": 0
},
"stmts": [
{
"type": "VariableDeclaration",
"span": {
"start": 5688,
"end": 5716,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5692,
"end": 5715,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5692,
"end": 5695,
"ctxt": 0
},
"value": "ast",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 5698,
"end": 5715,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 5698,
"end": 5704,
"ctxt": 0
},
"value": "lastOf",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 5705,
"end": 5714,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 5705,
"end": 5709,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5710,
"end": 5714,
"ctxt": 0
},
"value": "asts",
"optional": false
}
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "ReturnStatement",
"span": {
"start": 5729,
"end": 5975,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 5736,
"end": 5974,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 5736,
"end": 5881,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 5736,
"end": 5800,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 5736,
"end": 5753,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 5736,
"end": 5748,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 5736,
"end": 5746,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 5736,
"end": 5740,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5741,
"end": 5746,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 5752,
"end": 5753,
"ctxt": 0
},
"value": 3.0,
"raw": "3"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 5773,
"end": 5800,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 5773,
"end": 5792,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5773,
"end": 5782,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 5773,
"end": 5777,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5778,
"end": 5782,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 5782,
"end": 5792,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 5783,
"end": 5791,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 5783,
"end": 5787,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5788,
"end": 5791,
"ctxt": 0
},
"value": "top",
"optional": false
}
}
}
},
"right": {
"type": "Identifier",
"span": {
"start": 5797,
"end": 5800,
"ctxt": 0
},
"value": "ast",
"optional": false
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 5820,
"end": 5881,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 5820,
"end": 5852,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5820,
"end": 5843,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5820,
"end": 5829,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 5820,
"end": 5824,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5825,
"end": 5829,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 5829,
"end": 5843,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 5830,
"end": 5842,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 5830,
"end": 5838,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 5830,
"end": 5834,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5835,
"end": 5838,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 5841,
"end": 5842,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5844,
"end": 5852,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 5857,
"end": 5881,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5857,
"end": 5876,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 5857,
"end": 5867,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 5868,
"end": 5876,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5877,
"end": 5881,
"ctxt": 0
},
"value": "List",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 5901,
"end": 5974,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 5901,
"end": 5933,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5901,
"end": 5924,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5901,
"end": 5910,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 5901,
"end": 5905,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5906,
"end": 5910,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 5910,
"end": 5924,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 5911,
"end": 5923,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 5911,
"end": 5919,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 5911,
"end": 5915,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5916,
"end": 5919,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 5922,
"end": 5923,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5925,
"end": 5933,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 5938,
"end": 5974,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 5938,
"end": 5957,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 5938,
"end": 5948,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 5949,
"end": 5957,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 5958,
"end": 5974,
"ctxt": 0
},
"value": "ClassDeclaration",
"optional": false
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 5664,
"end": 5673,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 5666,
"end": 5673,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 5995,
"end": 6827,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 6002,
"end": 6030,
"ctxt": 0
},
"value": "isArgumentOfClassConstructor",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 5995,
"end": 6827,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 6042,
"end": 6827,
"ctxt": 0
},
"stmts": [
{
"type": "VariableDeclaration",
"span": {
"start": 6056,
"end": 6084,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 6060,
"end": 6083,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 6060,
"end": 6063,
"ctxt": 0
},
"value": "ast",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 6066,
"end": 6083,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 6066,
"end": 6072,
"ctxt": 0
},
"value": "lastOf",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 6073,
"end": 6082,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 6073,
"end": 6077,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6078,
"end": 6082,
"ctxt": 0
},
"value": "asts",
"optional": false
}
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "ReturnStatement",
"span": {
"start": 6097,
"end": 6817,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 6104,
"end": 6816,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 6104,
"end": 6696,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 6104,
"end": 6590,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 6104,
"end": 6508,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 6104,
"end": 6415,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 6104,
"end": 6334,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 6104,
"end": 6249,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 6104,
"end": 6168,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 6104,
"end": 6121,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 6104,
"end": 6116,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 6104,
"end": 6114,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 6104,
"end": 6108,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6109,
"end": 6114,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 6120,
"end": 6121,
"ctxt": 0
},
"value": 5.0,
"raw": "5"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 6141,
"end": 6168,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 6141,
"end": 6160,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 6141,
"end": 6150,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 6141,
"end": 6145,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6146,
"end": 6150,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 6150,
"end": 6160,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 6151,
"end": 6159,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 6151,
"end": 6155,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6156,
"end": 6159,
"ctxt": 0
},
"value": "top",
"optional": false
}
}
}
},
"right": {
"type": "Identifier",
"span": {
"start": 6165,
"end": 6168,
"ctxt": 0
},
"value": "ast",
"optional": false
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 6188,
"end": 6249,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 6188,
"end": 6220,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 6188,
"end": 6211,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 6188,
"end": 6197,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 6188,
"end": 6192,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6193,
"end": 6197,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 6197,
"end": 6211,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 6198,
"end": 6210,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 6198,
"end": 6206,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 6198,
"end": 6202,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6203,
"end": 6206,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 6209,
"end": 6210,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6212,
"end": 6220,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 6225,
"end": 6249,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 6225,
"end": 6244,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 6225,
"end": 6235,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 6236,
"end": 6244,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6245,
"end": 6249,
"ctxt": 0
},
"value": "List",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 6269,
"end": 6334,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 6269,
"end": 6301,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 6269,
"end": 6292,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 6269,
"end": 6278,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 6269,
"end": 6273,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6274,
"end": 6278,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 6278,
"end": 6292,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 6279,
"end": 6291,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 6279,
"end": 6287,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 6279,
"end": 6283,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6284,
"end": 6287,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 6290,
"end": 6291,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6293,
"end": 6301,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 6306,
"end": 6334,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 6306,
"end": 6325,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 6306,
"end": 6316,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 6317,
"end": 6325,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6326,
"end": 6334,
"ctxt": 0
},
"value": "FuncDecl",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 6354,
"end": 6415,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 6354,
"end": 6386,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 6354,
"end": 6377,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 6354,
"end": 6363,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 6354,
"end": 6358,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6359,
"end": 6363,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 6363,
"end": 6377,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 6364,
"end": 6376,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 6364,
"end": 6372,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 6364,
"end": 6368,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6369,
"end": 6372,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 6375,
"end": 6376,
"ctxt": 0
},
"value": 3.0,
"raw": "3"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6378,
"end": 6386,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 6391,
"end": 6415,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 6391,
"end": 6410,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 6391,
"end": 6401,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 6402,
"end": 6410,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6411,
"end": 6415,
"ctxt": 0
},
"value": "List",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 6435,
"end": 6508,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 6435,
"end": 6467,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 6435,
"end": 6458,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 6435,
"end": 6444,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 6435,
"end": 6439,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6440,
"end": 6444,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 6444,
"end": 6458,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 6445,
"end": 6457,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 6445,
"end": 6453,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 6445,
"end": 6449,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6450,
"end": 6453,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 6456,
"end": 6457,
"ctxt": 0
},
"value": 4.0,
"raw": "4"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6459,
"end": 6467,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 6472,
"end": 6508,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 6472,
"end": 6491,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 6472,
"end": 6482,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 6483,
"end": 6491,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6492,
"end": 6508,
"ctxt": 0
},
"value": "ClassDeclaration",
"optional": false
}
}
}
},
"right": {
"type": "ParenthesisExpression",
"span": {
"start": 6528,
"end": 6590,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 6529,
"end": 6589,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 6529,
"end": 6575,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 6530,
"end": 6574,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 6551,
"end": 6574,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 6551,
"end": 6560,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 6551,
"end": 6555,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6556,
"end": 6560,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 6560,
"end": 6574,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 6561,
"end": 6573,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 6561,
"end": 6569,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 6561,
"end": 6565,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6566,
"end": 6569,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 6572,
"end": 6573,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 6531,
"end": 6550,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 6531,
"end": 6541,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 6542,
"end": 6550,
"ctxt": 0
},
"value": "FuncDecl",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6576,
"end": 6589,
"ctxt": 0
},
"value": "isConstructor",
"optional": false
}
}
}
},
"right": {
"type": "ParenthesisExpression",
"span": {
"start": 6610,
"end": 6696,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 6611,
"end": 6695,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 6611,
"end": 6667,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 6611,
"end": 6657,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 6612,
"end": 6656,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 6633,
"end": 6656,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 6633,
"end": 6642,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 6633,
"end": 6637,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6638,
"end": 6642,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 6642,
"end": 6656,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 6643,
"end": 6655,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 6643,
"end": 6651,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 6643,
"end": 6647,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6648,
"end": 6651,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 6654,
"end": 6655,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 6613,
"end": 6632,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 6613,
"end": 6623,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 6624,
"end": 6632,
"ctxt": 0
},
"value": "FuncDecl",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6658,
"end": 6667,
"ctxt": 0
},
"value": "arguments",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 6672,
"end": 6695,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 6672,
"end": 6681,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 6672,
"end": 6676,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6677,
"end": 6681,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 6681,
"end": 6695,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 6682,
"end": 6694,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 6682,
"end": 6690,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 6682,
"end": 6686,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6687,
"end": 6690,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 6693,
"end": 6694,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
}
}
}
},
"right": {
"type": "ParenthesisExpression",
"span": {
"start": 6716,
"end": 6816,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 6717,
"end": 6815,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 6717,
"end": 6787,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 6717,
"end": 6771,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 6718,
"end": 6770,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 6747,
"end": 6770,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 6747,
"end": 6756,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 6747,
"end": 6751,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6752,
"end": 6756,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 6756,
"end": 6770,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 6757,
"end": 6769,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 6757,
"end": 6765,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 6757,
"end": 6761,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6762,
"end": 6765,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 6768,
"end": 6769,
"ctxt": 0
},
"value": 4.0,
"raw": "4"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 6719,
"end": 6746,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 6719,
"end": 6729,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 6730,
"end": 6746,
"ctxt": 0
},
"value": "ClassDeclaration",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6772,
"end": 6787,
"ctxt": 0
},
"value": "constructorDecl",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 6792,
"end": 6815,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 6792,
"end": 6801,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 6792,
"end": 6796,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6797,
"end": 6801,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 6801,
"end": 6815,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 6802,
"end": 6814,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 6802,
"end": 6810,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 6802,
"end": 6806,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6807,
"end": 6810,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 6813,
"end": 6814,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 6032,
"end": 6041,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 6034,
"end": 6041,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 6837,
"end": 7189,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 6844,
"end": 6862,
"ctxt": 0
},
"value": "isChildOfInterface",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 6837,
"end": 7189,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 6874,
"end": 7189,
"ctxt": 0
},
"stmts": [
{
"type": "VariableDeclaration",
"span": {
"start": 6888,
"end": 6916,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 6892,
"end": 6915,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 6892,
"end": 6895,
"ctxt": 0
},
"value": "ast",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 6898,
"end": 6915,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 6898,
"end": 6904,
"ctxt": 0
},
"value": "lastOf",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 6905,
"end": 6914,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 6905,
"end": 6909,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6910,
"end": 6914,
"ctxt": 0
},
"value": "asts",
"optional": false
}
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "ReturnStatement",
"span": {
"start": 6929,
"end": 7179,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 6936,
"end": 7178,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 6936,
"end": 7081,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 6936,
"end": 7000,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 6936,
"end": 6953,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 6936,
"end": 6948,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 6936,
"end": 6946,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 6936,
"end": 6940,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6941,
"end": 6946,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 6952,
"end": 6953,
"ctxt": 0
},
"value": 3.0,
"raw": "3"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 6973,
"end": 7000,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 6973,
"end": 6992,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 6973,
"end": 6982,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 6973,
"end": 6977,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6978,
"end": 6982,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 6982,
"end": 6992,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 6983,
"end": 6991,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 6983,
"end": 6987,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 6988,
"end": 6991,
"ctxt": 0
},
"value": "top",
"optional": false
}
}
}
},
"right": {
"type": "Identifier",
"span": {
"start": 6997,
"end": 7000,
"ctxt": 0
},
"value": "ast",
"optional": false
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 7020,
"end": 7081,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 7020,
"end": 7052,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7020,
"end": 7043,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7020,
"end": 7029,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 7020,
"end": 7024,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7025,
"end": 7029,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 7029,
"end": 7043,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 7030,
"end": 7042,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 7030,
"end": 7038,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 7030,
"end": 7034,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7035,
"end": 7038,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 7041,
"end": 7042,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7044,
"end": 7052,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 7057,
"end": 7081,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7057,
"end": 7076,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 7057,
"end": 7067,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 7068,
"end": 7076,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7077,
"end": 7081,
"ctxt": 0
},
"value": "List",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 7101,
"end": 7178,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 7101,
"end": 7133,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7101,
"end": 7124,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7101,
"end": 7110,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 7101,
"end": 7105,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7106,
"end": 7110,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 7110,
"end": 7124,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 7111,
"end": 7123,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 7111,
"end": 7119,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 7111,
"end": 7115,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7116,
"end": 7119,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 7122,
"end": 7123,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7125,
"end": 7133,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 7138,
"end": 7178,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7138,
"end": 7157,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 7138,
"end": 7148,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 7149,
"end": 7157,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7158,
"end": 7178,
"ctxt": 0
},
"value": "InterfaceDeclaration",
"optional": false
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 6864,
"end": 6873,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 6866,
"end": 6873,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 7199,
"end": 7508,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 7206,
"end": 7230,
"ctxt": 0
},
"value": "isTopLevelImplicitModule",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 7199,
"end": 7508,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 7233,
"end": 7508,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 7247,
"end": 7498,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 7254,
"end": 7497,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 7254,
"end": 7361,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 7254,
"end": 7271,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 7254,
"end": 7266,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 7254,
"end": 7264,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 7254,
"end": 7258,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7259,
"end": 7264,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 7270,
"end": 7271,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 7291,
"end": 7361,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 7291,
"end": 7319,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7291,
"end": 7310,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7291,
"end": 7300,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 7291,
"end": 7295,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7296,
"end": 7300,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 7300,
"end": 7310,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 7301,
"end": 7309,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 7301,
"end": 7305,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7306,
"end": 7309,
"ctxt": 0
},
"value": "top",
"optional": false
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7311,
"end": 7319,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 7324,
"end": 7361,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7324,
"end": 7343,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 7324,
"end": 7334,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 7335,
"end": 7343,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7344,
"end": 7361,
"ctxt": 0
},
"value": "ModuleDeclaration",
"optional": false
}
}
}
},
"right": {
"type": "CallExpression",
"span": {
"start": 7381,
"end": 7497,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 7381,
"end": 7399,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 7381,
"end": 7391,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 7392,
"end": 7399,
"ctxt": 0
},
"value": "hasFlag",
"optional": false
}
},
"arguments": [
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 7400,
"end": 7460,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 7400,
"end": 7451,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 7401,
"end": 7450,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 7431,
"end": 7450,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7431,
"end": 7440,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 7431,
"end": 7435,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7436,
"end": 7440,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 7440,
"end": 7450,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 7441,
"end": 7449,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 7441,
"end": 7445,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7446,
"end": 7449,
"ctxt": 0
},
"value": "top",
"optional": false
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 7402,
"end": 7430,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 7402,
"end": 7412,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 7413,
"end": 7430,
"ctxt": 0
},
"value": "ModuleDeclaration",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7452,
"end": 7460,
"ctxt": 0
},
"value": "modFlags",
"optional": false
}
}
},
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 7462,
"end": 7496,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7462,
"end": 7484,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 7462,
"end": 7472,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 7473,
"end": 7484,
"ctxt": 0
},
"value": "ModuleFlags",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7485,
"end": 7496,
"ctxt": 0
},
"value": "IsWholeFile",
"optional": false
}
}
}
],
"typeArguments": null
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 7518,
"end": 8033,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 7525,
"end": 7555,
"ctxt": 0
},
"value": "isBodyOfTopLevelImplicitModule",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 7518,
"end": 8033,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 7558,
"end": 8033,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 7572,
"end": 8023,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 7579,
"end": 8022,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 7579,
"end": 7882,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 7579,
"end": 7771,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 7579,
"end": 7677,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 7579,
"end": 7596,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 7579,
"end": 7591,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 7579,
"end": 7589,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 7579,
"end": 7583,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7584,
"end": 7589,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 7595,
"end": 7596,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 7616,
"end": 7677,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 7616,
"end": 7648,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7616,
"end": 7639,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7616,
"end": 7625,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 7616,
"end": 7620,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7621,
"end": 7625,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 7625,
"end": 7639,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 7626,
"end": 7638,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 7626,
"end": 7634,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 7626,
"end": 7630,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7631,
"end": 7634,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 7637,
"end": 7638,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7640,
"end": 7648,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 7653,
"end": 7677,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7653,
"end": 7672,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 7653,
"end": 7663,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 7664,
"end": 7672,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7673,
"end": 7677,
"ctxt": 0
},
"value": "List",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 7697,
"end": 7771,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 7697,
"end": 7729,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7697,
"end": 7720,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7697,
"end": 7706,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 7697,
"end": 7701,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7702,
"end": 7706,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 7706,
"end": 7720,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 7707,
"end": 7719,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 7707,
"end": 7715,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 7707,
"end": 7711,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7712,
"end": 7715,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 7718,
"end": 7719,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7721,
"end": 7729,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 7734,
"end": 7771,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7734,
"end": 7753,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 7734,
"end": 7744,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 7745,
"end": 7753,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7754,
"end": 7771,
"ctxt": 0
},
"value": "ModuleDeclaration",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 7792,
"end": 7882,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 7792,
"end": 7855,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 7792,
"end": 7847,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 7793,
"end": 7846,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 7823,
"end": 7846,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7823,
"end": 7832,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 7823,
"end": 7827,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7828,
"end": 7832,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 7832,
"end": 7846,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 7833,
"end": 7845,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 7833,
"end": 7841,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 7833,
"end": 7837,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7838,
"end": 7841,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 7844,
"end": 7845,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 7794,
"end": 7822,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 7794,
"end": 7804,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 7805,
"end": 7822,
"ctxt": 0
},
"value": "ModuleDeclaration",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7848,
"end": 7855,
"ctxt": 0
},
"value": "members",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 7859,
"end": 7882,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7859,
"end": 7868,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 7859,
"end": 7863,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7864,
"end": 7868,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 7868,
"end": 7882,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 7869,
"end": 7881,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 7869,
"end": 7877,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 7869,
"end": 7873,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7874,
"end": 7877,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 7880,
"end": 7881,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
},
"right": {
"type": "CallExpression",
"span": {
"start": 7902,
"end": 8022,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 7902,
"end": 7920,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 7902,
"end": 7912,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 7913,
"end": 7920,
"ctxt": 0
},
"value": "hasFlag",
"optional": false
}
},
"arguments": [
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 7921,
"end": 7985,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 7921,
"end": 7976,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 7922,
"end": 7975,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 7952,
"end": 7975,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7952,
"end": 7961,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 7952,
"end": 7956,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7957,
"end": 7961,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 7961,
"end": 7975,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 7962,
"end": 7974,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 7962,
"end": 7970,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 7962,
"end": 7966,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7967,
"end": 7970,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 7973,
"end": 7974,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 7923,
"end": 7951,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 7923,
"end": 7933,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 7934,
"end": 7951,
"ctxt": 0
},
"value": "ModuleDeclaration",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 7977,
"end": 7985,
"ctxt": 0
},
"value": "modFlags",
"optional": false
}
}
},
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 7987,
"end": 8021,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 7987,
"end": 8009,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 7987,
"end": 7997,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 7998,
"end": 8009,
"ctxt": 0
},
"value": "ModuleFlags",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8010,
"end": 8021,
"ctxt": 0
},
"value": "IsWholeFile",
"optional": false
}
}
}
],
"typeArguments": null
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 8043,
"end": 8304,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 8050,
"end": 8064,
"ctxt": 0
},
"value": "isBodyOfScript",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 8043,
"end": 8304,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 8076,
"end": 8304,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 8090,
"end": 8294,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 8097,
"end": 8293,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 8097,
"end": 8197,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 8097,
"end": 8114,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 8097,
"end": 8109,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 8097,
"end": 8107,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 8097,
"end": 8101,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8102,
"end": 8107,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 8113,
"end": 8114,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 8134,
"end": 8197,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 8134,
"end": 8166,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 8134,
"end": 8157,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 8134,
"end": 8143,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 8134,
"end": 8138,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8139,
"end": 8143,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 8143,
"end": 8157,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 8144,
"end": 8156,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 8144,
"end": 8152,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 8144,
"end": 8148,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8149,
"end": 8152,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 8155,
"end": 8156,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8158,
"end": 8166,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 8171,
"end": 8197,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 8171,
"end": 8190,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 8171,
"end": 8181,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 8182,
"end": 8190,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8191,
"end": 8197,
"ctxt": 0
},
"value": "Script",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 8218,
"end": 8293,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 8218,
"end": 8266,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 8218,
"end": 8262,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 8219,
"end": 8261,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 8238,
"end": 8261,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 8238,
"end": 8247,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 8238,
"end": 8242,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8243,
"end": 8247,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 8247,
"end": 8261,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 8248,
"end": 8260,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 8248,
"end": 8256,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 8248,
"end": 8252,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8253,
"end": 8256,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 8259,
"end": 8260,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 8220,
"end": 8237,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 8220,
"end": 8230,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 8231,
"end": 8237,
"ctxt": 0
},
"value": "Script",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8263,
"end": 8266,
"ctxt": 0
},
"value": "bod",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 8270,
"end": 8293,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 8270,
"end": 8279,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 8270,
"end": 8274,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8275,
"end": 8279,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 8279,
"end": 8293,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 8280,
"end": 8292,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 8280,
"end": 8288,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 8280,
"end": 8284,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8285,
"end": 8288,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 8291,
"end": 8292,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 8066,
"end": 8075,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 8068,
"end": 8075,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 8314,
"end": 8589,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 8321,
"end": 8335,
"ctxt": 0
},
"value": "isBodyOfSwitch",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 8314,
"end": 8589,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 8347,
"end": 8589,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 8361,
"end": 8579,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 8368,
"end": 8578,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 8368,
"end": 8468,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 8368,
"end": 8385,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 8368,
"end": 8380,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 8368,
"end": 8378,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 8368,
"end": 8372,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8373,
"end": 8378,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 8384,
"end": 8385,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 8405,
"end": 8468,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 8405,
"end": 8437,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 8405,
"end": 8428,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 8405,
"end": 8414,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 8405,
"end": 8409,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8410,
"end": 8414,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 8414,
"end": 8428,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 8415,
"end": 8427,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 8415,
"end": 8423,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 8415,
"end": 8419,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8420,
"end": 8423,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 8426,
"end": 8427,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8429,
"end": 8437,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 8442,
"end": 8468,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 8442,
"end": 8461,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 8442,
"end": 8452,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 8453,
"end": 8461,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8462,
"end": 8468,
"ctxt": 0
},
"value": "Switch",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 8489,
"end": 8578,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 8489,
"end": 8551,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 8489,
"end": 8542,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 8490,
"end": 8541,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 8518,
"end": 8541,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 8518,
"end": 8527,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 8518,
"end": 8522,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8523,
"end": 8527,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 8527,
"end": 8541,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 8528,
"end": 8540,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 8528,
"end": 8536,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 8528,
"end": 8532,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8533,
"end": 8536,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 8539,
"end": 8540,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 8491,
"end": 8517,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 8491,
"end": 8501,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 8502,
"end": 8517,
"ctxt": 0
},
"value": "SwitchStatement",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8543,
"end": 8551,
"ctxt": 0
},
"value": "caseList",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 8555,
"end": 8578,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 8555,
"end": 8564,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 8555,
"end": 8559,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8560,
"end": 8564,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 8564,
"end": 8578,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 8565,
"end": 8577,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 8565,
"end": 8573,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 8565,
"end": 8569,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8570,
"end": 8573,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 8576,
"end": 8577,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 8337,
"end": 8346,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 8339,
"end": 8346,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 8599,
"end": 8886,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 8606,
"end": 8620,
"ctxt": 0
},
"value": "isBodyOfModule",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 8599,
"end": 8886,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 8632,
"end": 8886,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 8646,
"end": 8876,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 8653,
"end": 8875,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 8653,
"end": 8764,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 8653,
"end": 8670,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 8653,
"end": 8665,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 8653,
"end": 8663,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 8653,
"end": 8657,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8658,
"end": 8663,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 8669,
"end": 8670,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 8690,
"end": 8764,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 8690,
"end": 8722,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 8690,
"end": 8713,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 8690,
"end": 8699,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 8690,
"end": 8694,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8695,
"end": 8699,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 8699,
"end": 8713,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 8700,
"end": 8712,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 8700,
"end": 8708,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 8700,
"end": 8704,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8705,
"end": 8708,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 8711,
"end": 8712,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8714,
"end": 8722,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 8727,
"end": 8764,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 8727,
"end": 8746,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 8727,
"end": 8737,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 8738,
"end": 8746,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8747,
"end": 8764,
"ctxt": 0
},
"value": "ModuleDeclaration",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 8785,
"end": 8875,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 8785,
"end": 8848,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 8785,
"end": 8840,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 8786,
"end": 8839,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 8816,
"end": 8839,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 8816,
"end": 8825,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 8816,
"end": 8820,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8821,
"end": 8825,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 8825,
"end": 8839,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 8826,
"end": 8838,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 8826,
"end": 8834,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 8826,
"end": 8830,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8831,
"end": 8834,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 8837,
"end": 8838,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 8787,
"end": 8815,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 8787,
"end": 8797,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 8798,
"end": 8815,
"ctxt": 0
},
"value": "ModuleDeclaration",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8841,
"end": 8848,
"ctxt": 0
},
"value": "members",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 8852,
"end": 8875,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 8852,
"end": 8861,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 8852,
"end": 8856,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8857,
"end": 8861,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 8861,
"end": 8875,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 8862,
"end": 8874,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 8862,
"end": 8870,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 8862,
"end": 8866,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8867,
"end": 8870,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 8873,
"end": 8874,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 8622,
"end": 8631,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 8624,
"end": 8631,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 8896,
"end": 9180,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 8903,
"end": 8916,
"ctxt": 0
},
"value": "isBodyOfClass",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 8896,
"end": 9180,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 8928,
"end": 9180,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 8942,
"end": 9170,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 8949,
"end": 9169,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 8949,
"end": 9059,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 8949,
"end": 8966,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 8949,
"end": 8961,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 8949,
"end": 8959,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 8949,
"end": 8953,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8954,
"end": 8959,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 8965,
"end": 8966,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 8986,
"end": 9059,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 8986,
"end": 9018,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 8986,
"end": 9009,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 8986,
"end": 8995,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 8986,
"end": 8990,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 8991,
"end": 8995,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 8995,
"end": 9009,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 8996,
"end": 9008,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 8996,
"end": 9004,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 8996,
"end": 9000,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9001,
"end": 9004,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 9007,
"end": 9008,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9010,
"end": 9018,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 9023,
"end": 9059,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 9023,
"end": 9042,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 9023,
"end": 9033,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 9034,
"end": 9042,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9043,
"end": 9059,
"ctxt": 0
},
"value": "ClassDeclaration",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 9080,
"end": 9169,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 9080,
"end": 9142,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 9080,
"end": 9134,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 9081,
"end": 9133,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 9110,
"end": 9133,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 9110,
"end": 9119,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 9110,
"end": 9114,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9115,
"end": 9119,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 9119,
"end": 9133,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 9120,
"end": 9132,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 9120,
"end": 9128,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 9120,
"end": 9124,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9125,
"end": 9128,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 9131,
"end": 9132,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 9082,
"end": 9109,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 9082,
"end": 9092,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 9093,
"end": 9109,
"ctxt": 0
},
"value": "ClassDeclaration",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9135,
"end": 9142,
"ctxt": 0
},
"value": "members",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 9146,
"end": 9169,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 9146,
"end": 9155,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 9146,
"end": 9150,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9151,
"end": 9155,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 9155,
"end": 9169,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 9156,
"end": 9168,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 9156,
"end": 9164,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 9156,
"end": 9160,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9161,
"end": 9164,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 9167,
"end": 9168,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 8918,
"end": 8927,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 8920,
"end": 8927,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 9190,
"end": 9457,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 9197,
"end": 9213,
"ctxt": 0
},
"value": "isBodyOfFunction",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 9190,
"end": 9457,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 9225,
"end": 9457,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 9239,
"end": 9447,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 9246,
"end": 9446,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 9246,
"end": 9348,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 9246,
"end": 9263,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 9246,
"end": 9258,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 9246,
"end": 9256,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 9246,
"end": 9250,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9251,
"end": 9256,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 9262,
"end": 9263,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 9283,
"end": 9348,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 9283,
"end": 9315,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 9283,
"end": 9306,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 9283,
"end": 9292,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 9283,
"end": 9287,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9288,
"end": 9292,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 9292,
"end": 9306,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 9293,
"end": 9305,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 9293,
"end": 9301,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 9293,
"end": 9297,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9298,
"end": 9301,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 9304,
"end": 9305,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9307,
"end": 9315,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 9320,
"end": 9348,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 9320,
"end": 9339,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 9320,
"end": 9330,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 9331,
"end": 9339,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9340,
"end": 9348,
"ctxt": 0
},
"value": "FuncDecl",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 9369,
"end": 9446,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 9369,
"end": 9419,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 9369,
"end": 9415,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 9370,
"end": 9414,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 9391,
"end": 9414,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 9391,
"end": 9400,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 9391,
"end": 9395,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9396,
"end": 9400,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 9400,
"end": 9414,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 9401,
"end": 9413,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 9401,
"end": 9409,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 9401,
"end": 9405,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9406,
"end": 9409,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 9412,
"end": 9413,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 9371,
"end": 9390,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 9371,
"end": 9381,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 9382,
"end": 9390,
"ctxt": 0
},
"value": "FuncDecl",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9416,
"end": 9419,
"ctxt": 0
},
"value": "bod",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 9423,
"end": 9446,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 9423,
"end": 9432,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 9423,
"end": 9427,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9428,
"end": 9432,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 9432,
"end": 9446,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 9433,
"end": 9445,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 9433,
"end": 9441,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 9433,
"end": 9437,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9438,
"end": 9441,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 9444,
"end": 9445,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 9215,
"end": 9224,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 9217,
"end": 9224,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 9467,
"end": 9763,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 9474,
"end": 9491,
"ctxt": 0
},
"value": "isBodyOfInterface",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 9467,
"end": 9763,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 9503,
"end": 9763,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 9517,
"end": 9753,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 9524,
"end": 9752,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 9524,
"end": 9638,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 9524,
"end": 9541,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 9524,
"end": 9536,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 9524,
"end": 9534,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 9524,
"end": 9528,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9529,
"end": 9534,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 9540,
"end": 9541,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 9561,
"end": 9638,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 9561,
"end": 9593,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 9561,
"end": 9584,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 9561,
"end": 9570,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 9561,
"end": 9565,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9566,
"end": 9570,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 9570,
"end": 9584,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 9571,
"end": 9583,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 9571,
"end": 9579,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 9571,
"end": 9575,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9576,
"end": 9579,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 9582,
"end": 9583,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9585,
"end": 9593,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 9598,
"end": 9638,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 9598,
"end": 9617,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 9598,
"end": 9608,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 9609,
"end": 9617,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9618,
"end": 9638,
"ctxt": 0
},
"value": "InterfaceDeclaration",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 9659,
"end": 9752,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 9659,
"end": 9725,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 9659,
"end": 9717,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 9660,
"end": 9716,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 9693,
"end": 9716,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 9693,
"end": 9702,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 9693,
"end": 9697,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9698,
"end": 9702,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 9702,
"end": 9716,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 9703,
"end": 9715,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 9703,
"end": 9711,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 9703,
"end": 9707,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9708,
"end": 9711,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 9714,
"end": 9715,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 9661,
"end": 9692,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 9661,
"end": 9671,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 9672,
"end": 9692,
"ctxt": 0
},
"value": "InterfaceDeclaration",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9718,
"end": 9725,
"ctxt": 0
},
"value": "members",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 9729,
"end": 9752,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 9729,
"end": 9738,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 9729,
"end": 9733,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9734,
"end": 9738,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 9738,
"end": 9752,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 9739,
"end": 9751,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 9739,
"end": 9747,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 9739,
"end": 9743,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9744,
"end": 9747,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 9750,
"end": 9751,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 9493,
"end": 9502,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 9495,
"end": 9502,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 9773,
"end": 10037,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 9780,
"end": 9793,
"ctxt": 0
},
"value": "isBodyOfBlock",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 9773,
"end": 10037,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 9805,
"end": 10037,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 9819,
"end": 10027,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 9826,
"end": 10026,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 9826,
"end": 9925,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 9826,
"end": 9843,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 9826,
"end": 9838,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 9826,
"end": 9836,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 9826,
"end": 9830,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9831,
"end": 9836,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 9842,
"end": 9843,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 9863,
"end": 9925,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 9863,
"end": 9895,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 9863,
"end": 9886,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 9863,
"end": 9872,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 9863,
"end": 9867,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9868,
"end": 9872,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 9872,
"end": 9886,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 9873,
"end": 9885,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 9873,
"end": 9881,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 9873,
"end": 9877,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9878,
"end": 9881,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 9884,
"end": 9885,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9887,
"end": 9895,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 9900,
"end": 9925,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 9900,
"end": 9919,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 9900,
"end": 9910,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 9911,
"end": 9919,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9920,
"end": 9925,
"ctxt": 0
},
"value": "Block",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 9945,
"end": 10026,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 9945,
"end": 9999,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 9945,
"end": 9988,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 9946,
"end": 9987,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 9964,
"end": 9987,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 9964,
"end": 9973,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 9964,
"end": 9968,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9969,
"end": 9973,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 9973,
"end": 9987,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 9974,
"end": 9986,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 9974,
"end": 9982,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 9974,
"end": 9978,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9979,
"end": 9982,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 9985,
"end": 9986,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 9947,
"end": 9963,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 9947,
"end": 9957,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 9958,
"end": 9963,
"ctxt": 0
},
"value": "Block",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 9989,
"end": 9999,
"ctxt": 0
},
"value": "statements",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 10003,
"end": 10026,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 10003,
"end": 10012,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 10003,
"end": 10007,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10008,
"end": 10012,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 10012,
"end": 10026,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 10013,
"end": 10025,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 10013,
"end": 10021,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 10013,
"end": 10017,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10018,
"end": 10021,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 10024,
"end": 10025,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 9795,
"end": 9804,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 9797,
"end": 9804,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 10047,
"end": 10308,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 10054,
"end": 10065,
"ctxt": 0
},
"value": "isBodyOfFor",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 10047,
"end": 10308,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 10077,
"end": 10308,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 10091,
"end": 10298,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 10098,
"end": 10297,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 10098,
"end": 10195,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 10098,
"end": 10115,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 10098,
"end": 10110,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 10098,
"end": 10108,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 10098,
"end": 10102,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10103,
"end": 10108,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 10114,
"end": 10115,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 10135,
"end": 10195,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 10135,
"end": 10167,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 10135,
"end": 10158,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 10135,
"end": 10144,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 10135,
"end": 10139,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10140,
"end": 10144,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 10144,
"end": 10158,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 10145,
"end": 10157,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 10145,
"end": 10153,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 10145,
"end": 10149,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10150,
"end": 10153,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 10156,
"end": 10157,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10159,
"end": 10167,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 10172,
"end": 10195,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 10172,
"end": 10191,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 10172,
"end": 10182,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 10183,
"end": 10191,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10192,
"end": 10195,
"ctxt": 0
},
"value": "For",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 10215,
"end": 10297,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 10215,
"end": 10270,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 10215,
"end": 10265,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 10216,
"end": 10264,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 10241,
"end": 10264,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 10241,
"end": 10250,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 10241,
"end": 10245,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10246,
"end": 10250,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 10250,
"end": 10264,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 10251,
"end": 10263,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 10251,
"end": 10259,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 10251,
"end": 10255,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10256,
"end": 10259,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 10262,
"end": 10263,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 10217,
"end": 10240,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 10217,
"end": 10227,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 10228,
"end": 10240,
"ctxt": 0
},
"value": "ForStatement",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10266,
"end": 10270,
"ctxt": 0
},
"value": "body",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 10274,
"end": 10297,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 10274,
"end": 10283,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 10274,
"end": 10278,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10279,
"end": 10283,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 10283,
"end": 10297,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 10284,
"end": 10296,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 10284,
"end": 10292,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 10284,
"end": 10288,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10289,
"end": 10292,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 10295,
"end": 10296,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 10067,
"end": 10076,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 10069,
"end": 10076,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 10318,
"end": 10582,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 10325,
"end": 10337,
"ctxt": 0
},
"value": "isBodyOfCase",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 10318,
"end": 10582,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 10349,
"end": 10582,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 10363,
"end": 10572,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 10370,
"end": 10571,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 10370,
"end": 10468,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 10370,
"end": 10387,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 10370,
"end": 10382,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 10370,
"end": 10380,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 10370,
"end": 10374,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10375,
"end": 10380,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 10386,
"end": 10387,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 10407,
"end": 10468,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 10407,
"end": 10439,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 10407,
"end": 10430,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 10407,
"end": 10416,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 10407,
"end": 10411,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10412,
"end": 10416,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 10416,
"end": 10430,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 10417,
"end": 10429,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 10417,
"end": 10425,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 10417,
"end": 10421,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10422,
"end": 10425,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 10428,
"end": 10429,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10431,
"end": 10439,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 10444,
"end": 10468,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 10444,
"end": 10463,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 10444,
"end": 10454,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 10455,
"end": 10463,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10464,
"end": 10468,
"ctxt": 0
},
"value": "Case",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 10488,
"end": 10571,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 10488,
"end": 10544,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 10488,
"end": 10539,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 10489,
"end": 10538,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 10515,
"end": 10538,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 10515,
"end": 10524,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 10515,
"end": 10519,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10520,
"end": 10524,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 10524,
"end": 10538,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 10525,
"end": 10537,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 10525,
"end": 10533,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 10525,
"end": 10529,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10530,
"end": 10533,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 10536,
"end": 10537,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 10490,
"end": 10514,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 10490,
"end": 10500,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 10501,
"end": 10514,
"ctxt": 0
},
"value": "CaseStatement",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10540,
"end": 10544,
"ctxt": 0
},
"value": "body",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 10548,
"end": 10571,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 10548,
"end": 10557,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 10548,
"end": 10552,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10553,
"end": 10557,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 10557,
"end": 10571,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 10558,
"end": 10570,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 10558,
"end": 10566,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 10558,
"end": 10562,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10563,
"end": 10566,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 10569,
"end": 10570,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 10339,
"end": 10348,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 10341,
"end": 10348,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 10592,
"end": 10844,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 10599,
"end": 10610,
"ctxt": 0
},
"value": "isBodyOfTry",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 10592,
"end": 10844,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 10622,
"end": 10844,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 10636,
"end": 10834,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 10643,
"end": 10833,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 10643,
"end": 10740,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 10643,
"end": 10660,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 10643,
"end": 10655,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 10643,
"end": 10653,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 10643,
"end": 10647,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10648,
"end": 10653,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 10659,
"end": 10660,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 10680,
"end": 10740,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 10680,
"end": 10712,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 10680,
"end": 10703,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 10680,
"end": 10689,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 10680,
"end": 10684,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10685,
"end": 10689,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 10689,
"end": 10703,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 10690,
"end": 10702,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 10690,
"end": 10698,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 10690,
"end": 10694,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10695,
"end": 10698,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 10701,
"end": 10702,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10704,
"end": 10712,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 10717,
"end": 10740,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 10717,
"end": 10736,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 10717,
"end": 10727,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 10728,
"end": 10736,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10737,
"end": 10740,
"ctxt": 0
},
"value": "Try",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 10760,
"end": 10833,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 10760,
"end": 10806,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 10760,
"end": 10801,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 10761,
"end": 10800,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 10777,
"end": 10800,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 10777,
"end": 10786,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 10777,
"end": 10781,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10782,
"end": 10786,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 10786,
"end": 10800,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 10787,
"end": 10799,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 10787,
"end": 10795,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 10787,
"end": 10791,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10792,
"end": 10795,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 10798,
"end": 10799,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 10762,
"end": 10776,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 10762,
"end": 10772,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 10773,
"end": 10776,
"ctxt": 0
},
"value": "Try",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10802,
"end": 10806,
"ctxt": 0
},
"value": "body",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 10810,
"end": 10833,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 10810,
"end": 10819,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 10810,
"end": 10814,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10815,
"end": 10819,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 10819,
"end": 10833,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 10820,
"end": 10832,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 10820,
"end": 10828,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 10820,
"end": 10824,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10825,
"end": 10828,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 10831,
"end": 10832,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 10612,
"end": 10621,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 10614,
"end": 10621,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 10854,
"end": 11112,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 10861,
"end": 10874,
"ctxt": 0
},
"value": "isBodyOfCatch",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 10854,
"end": 11112,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 10886,
"end": 11112,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 10900,
"end": 11102,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 10907,
"end": 11101,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 10907,
"end": 11006,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 10907,
"end": 10924,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 10907,
"end": 10919,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 10907,
"end": 10917,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 10907,
"end": 10911,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10912,
"end": 10917,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 10923,
"end": 10924,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 10944,
"end": 11006,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 10944,
"end": 10976,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 10944,
"end": 10967,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 10944,
"end": 10953,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 10944,
"end": 10948,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10949,
"end": 10953,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 10953,
"end": 10967,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 10954,
"end": 10966,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 10954,
"end": 10962,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 10954,
"end": 10958,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10959,
"end": 10962,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 10965,
"end": 10966,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 10968,
"end": 10976,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 10981,
"end": 11006,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 10981,
"end": 11000,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 10981,
"end": 10991,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 10992,
"end": 11000,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11001,
"end": 11006,
"ctxt": 0
},
"value": "Catch",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 11026,
"end": 11101,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 11026,
"end": 11074,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 11026,
"end": 11069,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 11027,
"end": 11068,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 11045,
"end": 11068,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 11045,
"end": 11054,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 11045,
"end": 11049,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11050,
"end": 11054,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 11054,
"end": 11068,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 11055,
"end": 11067,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 11055,
"end": 11063,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 11055,
"end": 11059,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11060,
"end": 11063,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 11066,
"end": 11067,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 11028,
"end": 11044,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 11028,
"end": 11038,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 11039,
"end": 11044,
"ctxt": 0
},
"value": "Catch",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11070,
"end": 11074,
"ctxt": 0
},
"value": "body",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 11078,
"end": 11101,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 11078,
"end": 11087,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 11078,
"end": 11082,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11083,
"end": 11087,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 11087,
"end": 11101,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 11088,
"end": 11100,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 11088,
"end": 11096,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 11088,
"end": 11092,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11093,
"end": 11096,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 11099,
"end": 11100,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 10876,
"end": 10885,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 10878,
"end": 10885,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 11122,
"end": 11395,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 11129,
"end": 11144,
"ctxt": 0
},
"value": "isBodyOfDoWhile",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 11122,
"end": 11395,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 11156,
"end": 11395,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 11170,
"end": 11385,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 11177,
"end": 11384,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 11177,
"end": 11278,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 11177,
"end": 11194,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 11177,
"end": 11189,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 11177,
"end": 11187,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 11177,
"end": 11181,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11182,
"end": 11187,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 11193,
"end": 11194,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 11214,
"end": 11278,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 11214,
"end": 11246,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 11214,
"end": 11237,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 11214,
"end": 11223,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 11214,
"end": 11218,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11219,
"end": 11223,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 11223,
"end": 11237,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 11224,
"end": 11236,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 11224,
"end": 11232,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 11224,
"end": 11228,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11229,
"end": 11232,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 11235,
"end": 11236,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11238,
"end": 11246,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 11251,
"end": 11278,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 11251,
"end": 11270,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 11251,
"end": 11261,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 11262,
"end": 11270,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11271,
"end": 11278,
"ctxt": 0
},
"value": "DoWhile",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 11298,
"end": 11384,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 11298,
"end": 11357,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 11298,
"end": 11352,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 11299,
"end": 11351,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 11328,
"end": 11351,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 11328,
"end": 11337,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 11328,
"end": 11332,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11333,
"end": 11337,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 11337,
"end": 11351,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 11338,
"end": 11350,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 11338,
"end": 11346,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 11338,
"end": 11342,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11343,
"end": 11346,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 11349,
"end": 11350,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 11300,
"end": 11327,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 11300,
"end": 11310,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 11311,
"end": 11327,
"ctxt": 0
},
"value": "DoWhileStatement",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11353,
"end": 11357,
"ctxt": 0
},
"value": "body",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 11361,
"end": 11384,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 11361,
"end": 11370,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 11361,
"end": 11365,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11366,
"end": 11370,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 11370,
"end": 11384,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 11371,
"end": 11383,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 11371,
"end": 11379,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 11371,
"end": 11375,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11376,
"end": 11379,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 11382,
"end": 11383,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 11146,
"end": 11155,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 11148,
"end": 11155,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 11405,
"end": 11672,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 11412,
"end": 11425,
"ctxt": 0
},
"value": "isBodyOfWhile",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 11405,
"end": 11672,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 11437,
"end": 11672,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 11451,
"end": 11662,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 11458,
"end": 11661,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 11458,
"end": 11557,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 11458,
"end": 11475,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 11458,
"end": 11470,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 11458,
"end": 11468,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 11458,
"end": 11462,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11463,
"end": 11468,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 11474,
"end": 11475,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 11495,
"end": 11557,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 11495,
"end": 11527,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 11495,
"end": 11518,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 11495,
"end": 11504,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 11495,
"end": 11499,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11500,
"end": 11504,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 11504,
"end": 11518,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 11505,
"end": 11517,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 11505,
"end": 11513,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 11505,
"end": 11509,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11510,
"end": 11513,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 11516,
"end": 11517,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11519,
"end": 11527,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 11532,
"end": 11557,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 11532,
"end": 11551,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 11532,
"end": 11542,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 11543,
"end": 11551,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11552,
"end": 11557,
"ctxt": 0
},
"value": "While",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 11577,
"end": 11661,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 11577,
"end": 11634,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 11577,
"end": 11629,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 11578,
"end": 11628,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 11605,
"end": 11628,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 11605,
"end": 11614,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 11605,
"end": 11609,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11610,
"end": 11614,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 11614,
"end": 11628,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 11615,
"end": 11627,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 11615,
"end": 11623,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 11615,
"end": 11619,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11620,
"end": 11623,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 11626,
"end": 11627,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 11579,
"end": 11604,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 11579,
"end": 11589,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 11590,
"end": 11604,
"ctxt": 0
},
"value": "WhileStatement",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11630,
"end": 11634,
"ctxt": 0
},
"value": "body",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 11638,
"end": 11661,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 11638,
"end": 11647,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 11638,
"end": 11642,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11643,
"end": 11647,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 11647,
"end": 11661,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 11648,
"end": 11660,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 11648,
"end": 11656,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 11648,
"end": 11652,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11653,
"end": 11656,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 11659,
"end": 11660,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 11427,
"end": 11436,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 11429,
"end": 11436,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 11682,
"end": 11949,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 11689,
"end": 11702,
"ctxt": 0
},
"value": "isBodyOfForIn",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 11682,
"end": 11949,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 11714,
"end": 11949,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 11728,
"end": 11939,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 11735,
"end": 11938,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 11735,
"end": 11834,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 11735,
"end": 11752,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 11735,
"end": 11747,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 11735,
"end": 11745,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 11735,
"end": 11739,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11740,
"end": 11745,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 11751,
"end": 11752,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 11772,
"end": 11834,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 11772,
"end": 11804,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 11772,
"end": 11795,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 11772,
"end": 11781,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 11772,
"end": 11776,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11777,
"end": 11781,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 11781,
"end": 11795,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 11782,
"end": 11794,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 11782,
"end": 11790,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 11782,
"end": 11786,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11787,
"end": 11790,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 11793,
"end": 11794,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11796,
"end": 11804,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 11809,
"end": 11834,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 11809,
"end": 11828,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 11809,
"end": 11819,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 11820,
"end": 11828,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11829,
"end": 11834,
"ctxt": 0
},
"value": "ForIn",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 11854,
"end": 11938,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 11854,
"end": 11911,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 11854,
"end": 11906,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 11855,
"end": 11905,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 11882,
"end": 11905,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 11882,
"end": 11891,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 11882,
"end": 11886,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11887,
"end": 11891,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 11891,
"end": 11905,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 11892,
"end": 11904,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 11892,
"end": 11900,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 11892,
"end": 11896,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11897,
"end": 11900,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 11903,
"end": 11904,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 11856,
"end": 11881,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 11856,
"end": 11866,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 11867,
"end": 11881,
"ctxt": 0
},
"value": "ForInStatement",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11907,
"end": 11911,
"ctxt": 0
},
"value": "body",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 11915,
"end": 11938,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 11915,
"end": 11924,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 11915,
"end": 11919,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11920,
"end": 11924,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 11924,
"end": 11938,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 11925,
"end": 11937,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 11925,
"end": 11933,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 11925,
"end": 11929,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 11930,
"end": 11933,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 11936,
"end": 11937,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 11704,
"end": 11713,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 11706,
"end": 11713,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 11959,
"end": 12223,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 11966,
"end": 11978,
"ctxt": 0
},
"value": "isBodyOfWith",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 11959,
"end": 12223,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 11990,
"end": 12223,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 12004,
"end": 12213,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 12011,
"end": 12212,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 12011,
"end": 12109,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 12011,
"end": 12028,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 12011,
"end": 12023,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 12011,
"end": 12021,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 12011,
"end": 12015,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12016,
"end": 12021,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 12027,
"end": 12028,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 12048,
"end": 12109,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 12048,
"end": 12080,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 12048,
"end": 12071,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 12048,
"end": 12057,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 12048,
"end": 12052,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12053,
"end": 12057,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 12057,
"end": 12071,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 12058,
"end": 12070,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 12058,
"end": 12066,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 12058,
"end": 12062,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12063,
"end": 12066,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 12069,
"end": 12070,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12072,
"end": 12080,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 12085,
"end": 12109,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 12085,
"end": 12104,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 12085,
"end": 12095,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 12096,
"end": 12104,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12105,
"end": 12109,
"ctxt": 0
},
"value": "With",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 12129,
"end": 12212,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 12129,
"end": 12185,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 12129,
"end": 12180,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 12130,
"end": 12179,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 12156,
"end": 12179,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 12156,
"end": 12165,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 12156,
"end": 12160,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12161,
"end": 12165,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 12165,
"end": 12179,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 12166,
"end": 12178,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 12166,
"end": 12174,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 12166,
"end": 12170,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12171,
"end": 12174,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 12177,
"end": 12178,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 12131,
"end": 12155,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 12131,
"end": 12141,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 12142,
"end": 12155,
"ctxt": 0
},
"value": "WithStatement",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12181,
"end": 12185,
"ctxt": 0
},
"value": "body",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 12189,
"end": 12212,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 12189,
"end": 12198,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 12189,
"end": 12193,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12194,
"end": 12198,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 12198,
"end": 12212,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 12199,
"end": 12211,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 12199,
"end": 12207,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 12199,
"end": 12203,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12204,
"end": 12207,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 12210,
"end": 12211,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 11980,
"end": 11989,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 11982,
"end": 11989,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 12233,
"end": 12497,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 12240,
"end": 12255,
"ctxt": 0
},
"value": "isBodyOfFinally",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 12233,
"end": 12497,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 12267,
"end": 12497,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 12281,
"end": 12487,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 12288,
"end": 12486,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 12288,
"end": 12389,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 12288,
"end": 12305,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 12288,
"end": 12300,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 12288,
"end": 12298,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 12288,
"end": 12292,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12293,
"end": 12298,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 12304,
"end": 12305,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 12325,
"end": 12389,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 12325,
"end": 12357,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 12325,
"end": 12348,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 12325,
"end": 12334,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 12325,
"end": 12329,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12330,
"end": 12334,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 12334,
"end": 12348,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 12335,
"end": 12347,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 12335,
"end": 12343,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 12335,
"end": 12339,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12340,
"end": 12343,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 12346,
"end": 12347,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12349,
"end": 12357,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 12362,
"end": 12389,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 12362,
"end": 12381,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 12362,
"end": 12372,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 12373,
"end": 12381,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12382,
"end": 12389,
"ctxt": 0
},
"value": "Finally",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 12409,
"end": 12486,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 12409,
"end": 12459,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 12409,
"end": 12454,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 12410,
"end": 12453,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 12430,
"end": 12453,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 12430,
"end": 12439,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 12430,
"end": 12434,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12435,
"end": 12439,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 12439,
"end": 12453,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 12440,
"end": 12452,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 12440,
"end": 12448,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 12440,
"end": 12444,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12445,
"end": 12448,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 12451,
"end": 12452,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 12411,
"end": 12429,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 12411,
"end": 12421,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 12422,
"end": 12429,
"ctxt": 0
},
"value": "Finally",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12455,
"end": 12459,
"ctxt": 0
},
"value": "body",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 12463,
"end": 12486,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 12463,
"end": 12472,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 12463,
"end": 12467,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12468,
"end": 12472,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 12472,
"end": 12486,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 12473,
"end": 12485,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 12473,
"end": 12481,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 12473,
"end": 12477,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12478,
"end": 12481,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 12484,
"end": 12485,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 12257,
"end": 12266,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 12259,
"end": 12266,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 12507,
"end": 12862,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 12514,
"end": 12528,
"ctxt": 0
},
"value": "isCaseOfSwitch",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 12507,
"end": 12862,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 12540,
"end": 12862,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 12554,
"end": 12852,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 12561,
"end": 12851,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 12561,
"end": 12742,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 12561,
"end": 12661,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 12561,
"end": 12578,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 12561,
"end": 12573,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 12561,
"end": 12571,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 12561,
"end": 12565,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12566,
"end": 12571,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 12577,
"end": 12578,
"ctxt": 0
},
"value": 3.0,
"raw": "3"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 12598,
"end": 12661,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 12598,
"end": 12630,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 12598,
"end": 12621,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 12598,
"end": 12607,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 12598,
"end": 12602,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12603,
"end": 12607,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 12607,
"end": 12621,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 12608,
"end": 12620,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 12608,
"end": 12616,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 12608,
"end": 12612,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12613,
"end": 12616,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 12619,
"end": 12620,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12622,
"end": 12630,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 12635,
"end": 12661,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 12635,
"end": 12654,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 12635,
"end": 12645,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 12646,
"end": 12654,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12655,
"end": 12661,
"ctxt": 0
},
"value": "Switch",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 12681,
"end": 12742,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 12681,
"end": 12713,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 12681,
"end": 12704,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 12681,
"end": 12690,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 12681,
"end": 12685,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12686,
"end": 12690,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 12690,
"end": 12704,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 12691,
"end": 12703,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 12691,
"end": 12699,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 12691,
"end": 12695,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12696,
"end": 12699,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 12702,
"end": 12703,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12705,
"end": 12713,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 12718,
"end": 12742,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 12718,
"end": 12737,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 12718,
"end": 12728,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 12729,
"end": 12737,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12738,
"end": 12742,
"ctxt": 0
},
"value": "List",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 12762,
"end": 12851,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 12762,
"end": 12824,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 12762,
"end": 12815,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 12763,
"end": 12814,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 12791,
"end": 12814,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 12791,
"end": 12800,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 12791,
"end": 12795,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12796,
"end": 12800,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 12800,
"end": 12814,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 12801,
"end": 12813,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 12801,
"end": 12809,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 12801,
"end": 12805,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12806,
"end": 12809,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 12812,
"end": 12813,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 12764,
"end": 12790,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 12764,
"end": 12774,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 12775,
"end": 12790,
"ctxt": 0
},
"value": "SwitchStatement",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12816,
"end": 12824,
"ctxt": 0
},
"value": "caseList",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 12828,
"end": 12851,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 12828,
"end": 12837,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 12828,
"end": 12832,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12833,
"end": 12837,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 12837,
"end": 12851,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 12838,
"end": 12850,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 12838,
"end": 12846,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 12838,
"end": 12842,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12843,
"end": 12846,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 12849,
"end": 12850,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 12530,
"end": 12539,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 12532,
"end": 12539,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 12872,
"end": 13346,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 12879,
"end": 12900,
"ctxt": 0
},
"value": "isDefaultCaseOfSwitch",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 12872,
"end": 13346,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 12912,
"end": 13346,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 12926,
"end": 13336,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 12933,
"end": 13335,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 12933,
"end": 13223,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 12933,
"end": 13114,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 12933,
"end": 13033,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 12933,
"end": 12950,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 12933,
"end": 12945,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 12933,
"end": 12943,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 12933,
"end": 12937,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12938,
"end": 12943,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 12949,
"end": 12950,
"ctxt": 0
},
"value": 3.0,
"raw": "3"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 12970,
"end": 13033,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 12970,
"end": 13002,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 12970,
"end": 12993,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 12970,
"end": 12979,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 12970,
"end": 12974,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12975,
"end": 12979,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 12979,
"end": 12993,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 12980,
"end": 12992,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 12980,
"end": 12988,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 12980,
"end": 12984,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12985,
"end": 12988,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 12991,
"end": 12992,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 12994,
"end": 13002,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 13007,
"end": 13033,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 13007,
"end": 13026,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 13007,
"end": 13017,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 13018,
"end": 13026,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13027,
"end": 13033,
"ctxt": 0
},
"value": "Switch",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 13053,
"end": 13114,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 13053,
"end": 13085,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 13053,
"end": 13076,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 13053,
"end": 13062,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 13053,
"end": 13057,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13058,
"end": 13062,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 13062,
"end": 13076,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 13063,
"end": 13075,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 13063,
"end": 13071,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 13063,
"end": 13067,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13068,
"end": 13071,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 13074,
"end": 13075,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13077,
"end": 13085,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 13090,
"end": 13114,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 13090,
"end": 13109,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 13090,
"end": 13100,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 13101,
"end": 13109,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13110,
"end": 13114,
"ctxt": 0
},
"value": "List",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 13134,
"end": 13223,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 13134,
"end": 13196,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 13134,
"end": 13187,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 13135,
"end": 13186,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 13163,
"end": 13186,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 13163,
"end": 13172,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 13163,
"end": 13167,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13168,
"end": 13172,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 13172,
"end": 13186,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 13173,
"end": 13185,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 13173,
"end": 13181,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 13173,
"end": 13177,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13178,
"end": 13181,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 13184,
"end": 13185,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 13136,
"end": 13162,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 13136,
"end": 13146,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 13147,
"end": 13162,
"ctxt": 0
},
"value": "SwitchStatement",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13188,
"end": 13196,
"ctxt": 0
},
"value": "caseList",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 13200,
"end": 13223,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 13200,
"end": 13209,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 13200,
"end": 13204,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13205,
"end": 13209,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 13209,
"end": 13223,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 13210,
"end": 13222,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 13210,
"end": 13218,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 13210,
"end": 13214,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13215,
"end": 13218,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 13221,
"end": 13222,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 13243,
"end": 13335,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 13243,
"end": 13308,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 13243,
"end": 13296,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 13244,
"end": 13295,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 13272,
"end": 13295,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 13272,
"end": 13281,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 13272,
"end": 13276,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13277,
"end": 13281,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 13281,
"end": 13295,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 13282,
"end": 13294,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 13282,
"end": 13290,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 13282,
"end": 13286,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13287,
"end": 13290,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 13293,
"end": 13294,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 13245,
"end": 13271,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 13245,
"end": 13255,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 13256,
"end": 13271,
"ctxt": 0
},
"value": "SwitchStatement",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13297,
"end": 13308,
"ctxt": 0
},
"value": "defaultCase",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 13312,
"end": 13335,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 13312,
"end": 13321,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 13312,
"end": 13316,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13317,
"end": 13321,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 13321,
"end": 13335,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 13322,
"end": 13334,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 13322,
"end": 13330,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 13322,
"end": 13326,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13327,
"end": 13330,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 13333,
"end": 13334,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 12902,
"end": 12911,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 12904,
"end": 12911,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 13356,
"end": 13716,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 13363,
"end": 13380,
"ctxt": 0
},
"value": "isListOfObjectLit",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 13356,
"end": 13716,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 13392,
"end": 13716,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 13406,
"end": 13706,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 13413,
"end": 13705,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 13413,
"end": 13597,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 13413,
"end": 13516,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 13413,
"end": 13430,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 13413,
"end": 13425,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 13413,
"end": 13423,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 13413,
"end": 13417,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13418,
"end": 13423,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 13429,
"end": 13430,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 13450,
"end": 13516,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 13450,
"end": 13482,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 13450,
"end": 13473,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 13450,
"end": 13459,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 13450,
"end": 13454,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13455,
"end": 13459,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 13459,
"end": 13473,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 13460,
"end": 13472,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 13460,
"end": 13468,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 13460,
"end": 13464,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13465,
"end": 13468,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 13471,
"end": 13472,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13474,
"end": 13482,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 13487,
"end": 13516,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 13487,
"end": 13506,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 13487,
"end": 13497,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 13498,
"end": 13506,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13507,
"end": 13516,
"ctxt": 0
},
"value": "ObjectLit",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 13536,
"end": 13597,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 13536,
"end": 13568,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 13536,
"end": 13559,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 13536,
"end": 13545,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 13536,
"end": 13540,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13541,
"end": 13545,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 13545,
"end": 13559,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 13546,
"end": 13558,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 13546,
"end": 13554,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 13546,
"end": 13550,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13551,
"end": 13554,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 13557,
"end": 13558,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13560,
"end": 13568,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 13573,
"end": 13597,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 13573,
"end": 13592,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 13573,
"end": 13583,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 13584,
"end": 13592,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13593,
"end": 13597,
"ctxt": 0
},
"value": "List",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 13617,
"end": 13705,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 13617,
"end": 13678,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 13617,
"end": 13670,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 13618,
"end": 13669,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 13646,
"end": 13669,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 13646,
"end": 13655,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 13646,
"end": 13650,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13651,
"end": 13655,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 13655,
"end": 13669,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 13656,
"end": 13668,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 13656,
"end": 13664,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 13656,
"end": 13660,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13661,
"end": 13664,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 13667,
"end": 13668,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 13619,
"end": 13645,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 13619,
"end": 13629,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 13630,
"end": 13645,
"ctxt": 0
},
"value": "UnaryExpression",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13671,
"end": 13678,
"ctxt": 0
},
"value": "operand",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 13682,
"end": 13705,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 13682,
"end": 13691,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 13682,
"end": 13686,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13687,
"end": 13691,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 13691,
"end": 13705,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 13692,
"end": 13704,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 13692,
"end": 13700,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 13692,
"end": 13696,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13697,
"end": 13700,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 13703,
"end": 13704,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 13382,
"end": 13391,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 13384,
"end": 13391,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 13726,
"end": 13818,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 13733,
"end": 13750,
"ctxt": 0
},
"value": "isBodyOfObjectLit",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 13726,
"end": 13818,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 13762,
"end": 13818,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 13776,
"end": 13808,
"ctxt": 0
},
"argument": {
"type": "CallExpression",
"span": {
"start": 13783,
"end": 13807,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 13783,
"end": 13805,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 13783,
"end": 13787,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13788,
"end": 13805,
"ctxt": 0
},
"value": "isListOfObjectLit",
"optional": false
}
},
"arguments": [],
"typeArguments": null
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 13752,
"end": 13761,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 13754,
"end": 13761,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 13828,
"end": 14278,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 13835,
"end": 13857,
"ctxt": 0
},
"value": "isEmptyListOfObjectLit",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 13828,
"end": 14278,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 13869,
"end": 14278,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 13883,
"end": 14268,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 13890,
"end": 14267,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 13890,
"end": 14182,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 13890,
"end": 14074,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 13890,
"end": 13993,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 13890,
"end": 13907,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 13890,
"end": 13902,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 13890,
"end": 13900,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 13890,
"end": 13894,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13895,
"end": 13900,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 13906,
"end": 13907,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 13927,
"end": 13993,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 13927,
"end": 13959,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 13927,
"end": 13950,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 13927,
"end": 13936,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 13927,
"end": 13931,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13932,
"end": 13936,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 13936,
"end": 13950,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 13937,
"end": 13949,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 13937,
"end": 13945,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 13937,
"end": 13941,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13942,
"end": 13945,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 13948,
"end": 13949,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13951,
"end": 13959,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 13964,
"end": 13993,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 13964,
"end": 13983,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 13964,
"end": 13974,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 13975,
"end": 13983,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 13984,
"end": 13993,
"ctxt": 0
},
"value": "ObjectLit",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 14013,
"end": 14074,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 14013,
"end": 14045,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 14013,
"end": 14036,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 14013,
"end": 14022,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 14013,
"end": 14017,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14018,
"end": 14022,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 14022,
"end": 14036,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 14023,
"end": 14035,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 14023,
"end": 14031,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 14023,
"end": 14027,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14028,
"end": 14031,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 14034,
"end": 14035,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14037,
"end": 14045,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 14050,
"end": 14074,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 14050,
"end": 14069,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 14050,
"end": 14060,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 14061,
"end": 14069,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14070,
"end": 14074,
"ctxt": 0
},
"value": "List",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 14094,
"end": 14182,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 14094,
"end": 14155,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 14094,
"end": 14147,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 14095,
"end": 14146,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 14123,
"end": 14146,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 14123,
"end": 14132,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 14123,
"end": 14127,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14128,
"end": 14132,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 14132,
"end": 14146,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 14133,
"end": 14145,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 14133,
"end": 14141,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 14133,
"end": 14137,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14138,
"end": 14141,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 14144,
"end": 14145,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 14096,
"end": 14122,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 14096,
"end": 14106,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 14107,
"end": 14122,
"ctxt": 0
},
"value": "UnaryExpression",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14148,
"end": 14155,
"ctxt": 0
},
"value": "operand",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 14159,
"end": 14182,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 14159,
"end": 14168,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 14159,
"end": 14163,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14164,
"end": 14168,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 14168,
"end": 14182,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 14169,
"end": 14181,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 14169,
"end": 14177,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 14169,
"end": 14173,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14174,
"end": 14177,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 14180,
"end": 14181,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 14202,
"end": 14267,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 14202,
"end": 14262,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 14202,
"end": 14255,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 14202,
"end": 14247,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 14203,
"end": 14246,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 14223,
"end": 14246,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 14223,
"end": 14232,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 14223,
"end": 14227,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14228,
"end": 14232,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 14232,
"end": 14246,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 14233,
"end": 14245,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 14233,
"end": 14241,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 14233,
"end": 14237,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14238,
"end": 14241,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 14244,
"end": 14245,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 14204,
"end": 14222,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 14204,
"end": 14214,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 14215,
"end": 14222,
"ctxt": 0
},
"value": "ASTList",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14248,
"end": 14255,
"ctxt": 0
},
"value": "members",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14256,
"end": 14262,
"ctxt": 0
},
"value": "length",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 14266,
"end": 14267,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 13859,
"end": 13868,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 13861,
"end": 13868,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 14288,
"end": 14733,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 14295,
"end": 14314,
"ctxt": 0
},
"value": "isMemberOfObjectLit",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 14288,
"end": 14733,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 14326,
"end": 14733,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 14340,
"end": 14723,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 14347,
"end": 14722,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 14347,
"end": 14614,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 14347,
"end": 14531,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 14347,
"end": 14450,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 14347,
"end": 14364,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 14347,
"end": 14359,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 14347,
"end": 14357,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 14347,
"end": 14351,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14352,
"end": 14357,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 14363,
"end": 14364,
"ctxt": 0
},
"value": 3.0,
"raw": "3"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 14384,
"end": 14450,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 14384,
"end": 14416,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 14384,
"end": 14407,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 14384,
"end": 14393,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 14384,
"end": 14388,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14389,
"end": 14393,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 14393,
"end": 14407,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 14394,
"end": 14406,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 14394,
"end": 14402,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 14394,
"end": 14398,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14399,
"end": 14402,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 14405,
"end": 14406,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14408,
"end": 14416,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 14421,
"end": 14450,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 14421,
"end": 14440,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 14421,
"end": 14431,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 14432,
"end": 14440,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14441,
"end": 14450,
"ctxt": 0
},
"value": "ObjectLit",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 14470,
"end": 14531,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 14470,
"end": 14502,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 14470,
"end": 14493,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 14470,
"end": 14479,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 14470,
"end": 14474,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14475,
"end": 14479,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 14479,
"end": 14493,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 14480,
"end": 14492,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 14480,
"end": 14488,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 14480,
"end": 14484,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14485,
"end": 14488,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 14491,
"end": 14492,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14494,
"end": 14502,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 14507,
"end": 14531,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 14507,
"end": 14526,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 14507,
"end": 14517,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 14518,
"end": 14526,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14527,
"end": 14531,
"ctxt": 0
},
"value": "List",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 14551,
"end": 14614,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 14551,
"end": 14583,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 14551,
"end": 14574,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 14551,
"end": 14560,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 14551,
"end": 14555,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14556,
"end": 14560,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 14560,
"end": 14574,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 14561,
"end": 14573,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 14561,
"end": 14569,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 14561,
"end": 14565,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14566,
"end": 14569,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 14572,
"end": 14573,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14575,
"end": 14583,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 14588,
"end": 14614,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 14588,
"end": 14607,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 14588,
"end": 14598,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 14599,
"end": 14607,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14608,
"end": 14614,
"ctxt": 0
},
"value": "Member",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 14634,
"end": 14722,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 14634,
"end": 14695,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 14634,
"end": 14687,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 14635,
"end": 14686,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 14663,
"end": 14686,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 14663,
"end": 14672,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 14663,
"end": 14667,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14668,
"end": 14672,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 14672,
"end": 14686,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 14673,
"end": 14685,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 14673,
"end": 14681,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 14673,
"end": 14677,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14678,
"end": 14681,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 14684,
"end": 14685,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 14636,
"end": 14662,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 14636,
"end": 14646,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 14647,
"end": 14662,
"ctxt": 0
},
"value": "UnaryExpression",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14688,
"end": 14695,
"ctxt": 0
},
"value": "operand",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 14699,
"end": 14722,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 14699,
"end": 14708,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 14699,
"end": 14703,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14704,
"end": 14708,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 14708,
"end": 14722,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 14709,
"end": 14721,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 14709,
"end": 14717,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 14709,
"end": 14713,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14714,
"end": 14717,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 14720,
"end": 14721,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 14316,
"end": 14325,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 14318,
"end": 14325,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 14743,
"end": 15275,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 14750,
"end": 14775,
"ctxt": 0
},
"value": "isNameOfMemberOfObjectLit",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 14743,
"end": 15275,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 14787,
"end": 15275,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 14801,
"end": 15265,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 14808,
"end": 15264,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 14808,
"end": 15156,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 14808,
"end": 15075,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 14808,
"end": 14992,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 14808,
"end": 14911,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 14808,
"end": 14825,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 14808,
"end": 14820,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 14808,
"end": 14818,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 14808,
"end": 14812,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14813,
"end": 14818,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 14824,
"end": 14825,
"ctxt": 0
},
"value": 4.0,
"raw": "4"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 14845,
"end": 14911,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 14845,
"end": 14877,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 14845,
"end": 14868,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 14845,
"end": 14854,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 14845,
"end": 14849,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14850,
"end": 14854,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 14854,
"end": 14868,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 14855,
"end": 14867,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 14855,
"end": 14863,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 14855,
"end": 14859,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14860,
"end": 14863,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 14866,
"end": 14867,
"ctxt": 0
},
"value": 3.0,
"raw": "3"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14869,
"end": 14877,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 14882,
"end": 14911,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 14882,
"end": 14901,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 14882,
"end": 14892,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 14893,
"end": 14901,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14902,
"end": 14911,
"ctxt": 0
},
"value": "ObjectLit",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 14931,
"end": 14992,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 14931,
"end": 14963,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 14931,
"end": 14954,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 14931,
"end": 14940,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 14931,
"end": 14935,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14936,
"end": 14940,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 14940,
"end": 14954,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 14941,
"end": 14953,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 14941,
"end": 14949,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 14941,
"end": 14945,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14946,
"end": 14949,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 14952,
"end": 14953,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14955,
"end": 14963,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 14968,
"end": 14992,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 14968,
"end": 14987,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 14968,
"end": 14978,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 14979,
"end": 14987,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 14988,
"end": 14992,
"ctxt": 0
},
"value": "List",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 15012,
"end": 15075,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 15012,
"end": 15044,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 15012,
"end": 15035,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 15012,
"end": 15021,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 15012,
"end": 15016,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15017,
"end": 15021,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 15021,
"end": 15035,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 15022,
"end": 15034,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 15022,
"end": 15030,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 15022,
"end": 15026,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15027,
"end": 15030,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 15033,
"end": 15034,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15036,
"end": 15044,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 15049,
"end": 15075,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 15049,
"end": 15068,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 15049,
"end": 15059,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 15060,
"end": 15068,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15069,
"end": 15075,
"ctxt": 0
},
"value": "Member",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 15095,
"end": 15156,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 15095,
"end": 15127,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 15095,
"end": 15118,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 15095,
"end": 15104,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 15095,
"end": 15099,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15100,
"end": 15104,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 15104,
"end": 15118,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 15105,
"end": 15117,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 15105,
"end": 15113,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 15105,
"end": 15109,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15110,
"end": 15113,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 15116,
"end": 15117,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15119,
"end": 15127,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 15132,
"end": 15156,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 15132,
"end": 15151,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 15132,
"end": 15142,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 15143,
"end": 15151,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15152,
"end": 15156,
"ctxt": 0
},
"value": "Name",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 15176,
"end": 15264,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 15176,
"end": 15237,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 15176,
"end": 15229,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 15177,
"end": 15228,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 15205,
"end": 15228,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 15205,
"end": 15214,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 15205,
"end": 15209,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15210,
"end": 15214,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 15214,
"end": 15228,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 15215,
"end": 15227,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 15215,
"end": 15223,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 15215,
"end": 15219,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15220,
"end": 15223,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 15226,
"end": 15227,
"ctxt": 0
},
"value": 3.0,
"raw": "3"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 15178,
"end": 15204,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 15178,
"end": 15188,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 15189,
"end": 15204,
"ctxt": 0
},
"value": "UnaryExpression",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15230,
"end": 15237,
"ctxt": 0
},
"value": "operand",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 15241,
"end": 15264,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 15241,
"end": 15250,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 15241,
"end": 15245,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15246,
"end": 15250,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 15250,
"end": 15264,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 15251,
"end": 15263,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 15251,
"end": 15259,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 15251,
"end": 15255,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15256,
"end": 15259,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 15262,
"end": 15263,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 14777,
"end": 14786,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 14779,
"end": 14786,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 15285,
"end": 15643,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 15292,
"end": 15308,
"ctxt": 0
},
"value": "isListOfArrayLit",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 15285,
"end": 15643,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 15320,
"end": 15643,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 15334,
"end": 15633,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 15341,
"end": 15632,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 15341,
"end": 15524,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 15341,
"end": 15443,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 15341,
"end": 15358,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 15341,
"end": 15353,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 15341,
"end": 15351,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 15341,
"end": 15345,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15346,
"end": 15351,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 15357,
"end": 15358,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 15378,
"end": 15443,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 15378,
"end": 15410,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 15378,
"end": 15401,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 15378,
"end": 15387,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 15378,
"end": 15382,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15383,
"end": 15387,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 15387,
"end": 15401,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 15388,
"end": 15400,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 15388,
"end": 15396,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 15388,
"end": 15392,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15393,
"end": 15396,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 15399,
"end": 15400,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15402,
"end": 15410,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 15415,
"end": 15443,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 15415,
"end": 15434,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 15415,
"end": 15425,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 15426,
"end": 15434,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15435,
"end": 15443,
"ctxt": 0
},
"value": "ArrayLit",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 15463,
"end": 15524,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 15463,
"end": 15495,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 15463,
"end": 15486,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 15463,
"end": 15472,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 15463,
"end": 15467,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15468,
"end": 15472,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 15472,
"end": 15486,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 15473,
"end": 15485,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 15473,
"end": 15481,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 15473,
"end": 15477,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15478,
"end": 15481,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 15484,
"end": 15485,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15487,
"end": 15495,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 15500,
"end": 15524,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 15500,
"end": 15519,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 15500,
"end": 15510,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 15511,
"end": 15519,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15520,
"end": 15524,
"ctxt": 0
},
"value": "List",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 15544,
"end": 15632,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 15544,
"end": 15605,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 15544,
"end": 15597,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 15545,
"end": 15596,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 15573,
"end": 15596,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 15573,
"end": 15582,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 15573,
"end": 15577,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15578,
"end": 15582,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 15582,
"end": 15596,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 15583,
"end": 15595,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 15583,
"end": 15591,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 15583,
"end": 15587,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15588,
"end": 15591,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 15594,
"end": 15595,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 15546,
"end": 15572,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 15546,
"end": 15556,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 15557,
"end": 15572,
"ctxt": 0
},
"value": "UnaryExpression",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15598,
"end": 15605,
"ctxt": 0
},
"value": "operand",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 15609,
"end": 15632,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 15609,
"end": 15618,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 15609,
"end": 15613,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15614,
"end": 15618,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 15618,
"end": 15632,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 15619,
"end": 15631,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 15619,
"end": 15627,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 15619,
"end": 15623,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15624,
"end": 15627,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 15630,
"end": 15631,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 15310,
"end": 15319,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 15312,
"end": 15319,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 15653,
"end": 15931,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 15660,
"end": 15676,
"ctxt": 0
},
"value": "isTargetOfMember",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 15653,
"end": 15931,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 15688,
"end": 15931,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 15702,
"end": 15921,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 15709,
"end": 15920,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 15709,
"end": 15809,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 15709,
"end": 15726,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 15709,
"end": 15721,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 15709,
"end": 15719,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 15709,
"end": 15713,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15714,
"end": 15719,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 15725,
"end": 15726,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 15746,
"end": 15809,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 15746,
"end": 15778,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 15746,
"end": 15769,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 15746,
"end": 15755,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 15746,
"end": 15750,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15751,
"end": 15755,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 15755,
"end": 15769,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 15756,
"end": 15768,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 15756,
"end": 15764,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 15756,
"end": 15760,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15761,
"end": 15764,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 15767,
"end": 15768,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15770,
"end": 15778,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 15783,
"end": 15809,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 15783,
"end": 15802,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 15783,
"end": 15793,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 15794,
"end": 15802,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15803,
"end": 15809,
"ctxt": 0
},
"value": "Member",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 15829,
"end": 15920,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 15829,
"end": 15892,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 15829,
"end": 15883,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 15830,
"end": 15882,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 15859,
"end": 15882,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 15859,
"end": 15868,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 15859,
"end": 15863,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15864,
"end": 15868,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 15868,
"end": 15882,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 15869,
"end": 15881,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 15869,
"end": 15877,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 15869,
"end": 15873,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15874,
"end": 15877,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 15880,
"end": 15881,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 15831,
"end": 15858,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 15831,
"end": 15841,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 15842,
"end": 15858,
"ctxt": 0
},
"value": "BinaryExpression",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15884,
"end": 15892,
"ctxt": 0
},
"value": "operand1",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 15897,
"end": 15920,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 15897,
"end": 15906,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 15897,
"end": 15901,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15902,
"end": 15906,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 15906,
"end": 15920,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 15907,
"end": 15919,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 15907,
"end": 15915,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 15907,
"end": 15911,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 15912,
"end": 15915,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 15918,
"end": 15919,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 15678,
"end": 15687,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 15680,
"end": 15687,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 15941,
"end": 16219,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 15948,
"end": 15964,
"ctxt": 0
},
"value": "isMemberOfMember",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 15941,
"end": 16219,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 15976,
"end": 16219,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 15990,
"end": 16209,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 15997,
"end": 16208,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 15997,
"end": 16097,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 15997,
"end": 16014,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 15997,
"end": 16009,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 15997,
"end": 16007,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 15997,
"end": 16001,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16002,
"end": 16007,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 16013,
"end": 16014,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 16034,
"end": 16097,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 16034,
"end": 16066,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 16034,
"end": 16057,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 16034,
"end": 16043,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 16034,
"end": 16038,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16039,
"end": 16043,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 16043,
"end": 16057,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 16044,
"end": 16056,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 16044,
"end": 16052,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 16044,
"end": 16048,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16049,
"end": 16052,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 16055,
"end": 16056,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16058,
"end": 16066,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 16071,
"end": 16097,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 16071,
"end": 16090,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 16071,
"end": 16081,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 16082,
"end": 16090,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16091,
"end": 16097,
"ctxt": 0
},
"value": "Member",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 16117,
"end": 16208,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 16117,
"end": 16180,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 16117,
"end": 16171,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 16118,
"end": 16170,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 16147,
"end": 16170,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 16147,
"end": 16156,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 16147,
"end": 16151,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16152,
"end": 16156,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 16156,
"end": 16170,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 16157,
"end": 16169,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 16157,
"end": 16165,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 16157,
"end": 16161,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16162,
"end": 16165,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 16168,
"end": 16169,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 16119,
"end": 16146,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 16119,
"end": 16129,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 16130,
"end": 16146,
"ctxt": 0
},
"value": "BinaryExpression",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16172,
"end": 16180,
"ctxt": 0
},
"value": "operand2",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 16185,
"end": 16208,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 16185,
"end": 16194,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 16185,
"end": 16189,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16190,
"end": 16194,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 16194,
"end": 16208,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 16195,
"end": 16207,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 16195,
"end": 16203,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 16195,
"end": 16199,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16200,
"end": 16203,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 16206,
"end": 16207,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 15966,
"end": 15975,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 15968,
"end": 15975,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 16229,
"end": 16483,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 16236,
"end": 16248,
"ctxt": 0
},
"value": "isItemOfList",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 16229,
"end": 16483,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 16260,
"end": 16483,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 16274,
"end": 16380,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 16281,
"end": 16379,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 16281,
"end": 16298,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 16281,
"end": 16293,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 16281,
"end": 16291,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 16281,
"end": 16285,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16286,
"end": 16291,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 16297,
"end": 16298,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 16318,
"end": 16379,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 16318,
"end": 16350,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 16318,
"end": 16341,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 16318,
"end": 16327,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 16318,
"end": 16322,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16323,
"end": 16327,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 16327,
"end": 16341,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 16328,
"end": 16340,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 16328,
"end": 16336,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 16328,
"end": 16332,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16333,
"end": 16336,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 16339,
"end": 16340,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16342,
"end": 16350,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 16355,
"end": 16379,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 16355,
"end": 16374,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 16355,
"end": 16365,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 16366,
"end": 16374,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16375,
"end": 16379,
"ctxt": 0
},
"value": "List",
"optional": false
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 16250,
"end": 16259,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 16252,
"end": 16259,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 16493,
"end": 16754,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 16500,
"end": 16510,
"ctxt": 0
},
"value": "isThenOfIf",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 16493,
"end": 16754,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 16522,
"end": 16754,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 16536,
"end": 16744,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 16543,
"end": 16743,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 16543,
"end": 16639,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 16543,
"end": 16560,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 16543,
"end": 16555,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 16543,
"end": 16553,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 16543,
"end": 16547,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16548,
"end": 16553,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 16559,
"end": 16560,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 16580,
"end": 16639,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 16580,
"end": 16612,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 16580,
"end": 16603,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 16580,
"end": 16589,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 16580,
"end": 16584,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16585,
"end": 16589,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 16589,
"end": 16603,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 16590,
"end": 16602,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 16590,
"end": 16598,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 16590,
"end": 16594,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16595,
"end": 16598,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 16601,
"end": 16602,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16604,
"end": 16612,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 16617,
"end": 16639,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 16617,
"end": 16636,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 16617,
"end": 16627,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 16628,
"end": 16636,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16637,
"end": 16639,
"ctxt": 0
},
"value": "If",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 16659,
"end": 16743,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 16659,
"end": 16716,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 16659,
"end": 16708,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 16660,
"end": 16707,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 16684,
"end": 16707,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 16684,
"end": 16693,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 16684,
"end": 16688,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16689,
"end": 16693,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 16693,
"end": 16707,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 16694,
"end": 16706,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 16694,
"end": 16702,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 16694,
"end": 16698,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16699,
"end": 16702,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 16705,
"end": 16706,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 16661,
"end": 16683,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 16661,
"end": 16671,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 16672,
"end": 16683,
"ctxt": 0
},
"value": "IfStatement",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16709,
"end": 16716,
"ctxt": 0
},
"value": "thenBod",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 16720,
"end": 16743,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 16720,
"end": 16729,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 16720,
"end": 16724,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16725,
"end": 16729,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 16729,
"end": 16743,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 16730,
"end": 16742,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 16730,
"end": 16738,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 16730,
"end": 16734,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16735,
"end": 16738,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 16741,
"end": 16742,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 16512,
"end": 16521,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 16514,
"end": 16521,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 16764,
"end": 17025,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 16771,
"end": 16781,
"ctxt": 0
},
"value": "isElseOfIf",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 16764,
"end": 17025,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 16793,
"end": 17025,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 16807,
"end": 17015,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 16814,
"end": 17014,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 16814,
"end": 16910,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 16814,
"end": 16831,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 16814,
"end": 16826,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 16814,
"end": 16824,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 16814,
"end": 16818,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16819,
"end": 16824,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 16830,
"end": 16831,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 16851,
"end": 16910,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 16851,
"end": 16883,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 16851,
"end": 16874,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 16851,
"end": 16860,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 16851,
"end": 16855,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16856,
"end": 16860,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 16860,
"end": 16874,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 16861,
"end": 16873,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 16861,
"end": 16869,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 16861,
"end": 16865,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16866,
"end": 16869,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 16872,
"end": 16873,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16875,
"end": 16883,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 16888,
"end": 16910,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 16888,
"end": 16907,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 16888,
"end": 16898,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 16899,
"end": 16907,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16908,
"end": 16910,
"ctxt": 0
},
"value": "If",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 16930,
"end": 17014,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "MemberExpression",
"span": {
"start": 16930,
"end": 16987,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 16930,
"end": 16979,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 16931,
"end": 16978,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 16955,
"end": 16978,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 16955,
"end": 16964,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 16955,
"end": 16959,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16960,
"end": 16964,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 16964,
"end": 16978,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 16965,
"end": 16977,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 16965,
"end": 16973,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 16965,
"end": 16969,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16970,
"end": 16973,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 16976,
"end": 16977,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 16932,
"end": 16954,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 16932,
"end": 16942,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 16943,
"end": 16954,
"ctxt": 0
},
"value": "IfStatement",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16980,
"end": 16987,
"ctxt": 0
},
"value": "elseBod",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 16991,
"end": 17014,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 16991,
"end": 17000,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 16991,
"end": 16995,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 16996,
"end": 17000,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 17000,
"end": 17014,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 17001,
"end": 17013,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 17001,
"end": 17009,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 17001,
"end": 17005,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17006,
"end": 17009,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 17012,
"end": 17013,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 16783,
"end": 16792,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 16785,
"end": 16792,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 17035,
"end": 17124,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 17042,
"end": 17061,
"ctxt": 0
},
"value": "isBodyOfDefaultCase",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 17035,
"end": 17124,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 17073,
"end": 17124,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 17087,
"end": 17114,
"ctxt": 0
},
"argument": {
"type": "CallExpression",
"span": {
"start": 17094,
"end": 17113,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 17094,
"end": 17111,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 17094,
"end": 17098,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17099,
"end": 17111,
"ctxt": 0
},
"value": "isBodyOfCase",
"optional": false
}
},
"arguments": [],
"typeArguments": null
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 17063,
"end": 17072,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 17065,
"end": 17072,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 17134,
"end": 17382,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 17141,
"end": 17162,
"ctxt": 0
},
"value": "isSingleStatementList",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 17134,
"end": 17382,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 17174,
"end": 17382,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 17188,
"end": 17372,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 17195,
"end": 17371,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 17195,
"end": 17289,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 17195,
"end": 17212,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 17195,
"end": 17207,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 17195,
"end": 17205,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 17195,
"end": 17199,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17200,
"end": 17205,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 17211,
"end": 17212,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 17232,
"end": 17289,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 17232,
"end": 17260,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 17232,
"end": 17251,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 17232,
"end": 17241,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 17232,
"end": 17236,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17237,
"end": 17241,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 17241,
"end": 17251,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 17242,
"end": 17250,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 17242,
"end": 17246,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17247,
"end": 17250,
"ctxt": 0
},
"value": "top",
"optional": false
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17252,
"end": 17260,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 17265,
"end": 17289,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 17265,
"end": 17284,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 17265,
"end": 17275,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 17276,
"end": 17284,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17285,
"end": 17289,
"ctxt": 0
},
"value": "List",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 17309,
"end": 17371,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 17309,
"end": 17365,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 17309,
"end": 17358,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 17309,
"end": 17350,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 17310,
"end": 17349,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 17330,
"end": 17349,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 17330,
"end": 17339,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 17330,
"end": 17334,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17335,
"end": 17339,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 17339,
"end": 17349,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 17340,
"end": 17348,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 17340,
"end": 17344,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17345,
"end": 17348,
"ctxt": 0
},
"value": "top",
"optional": false
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 17311,
"end": 17329,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 17311,
"end": 17321,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 17322,
"end": 17329,
"ctxt": 0
},
"value": "ASTList",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17351,
"end": 17358,
"ctxt": 0
},
"value": "members",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17359,
"end": 17365,
"ctxt": 0
},
"value": "length",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 17370,
"end": 17371,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 17164,
"end": 17173,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 17166,
"end": 17173,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 17392,
"end": 17754,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 17399,
"end": 17423,
"ctxt": 0
},
"value": "isArgumentListOfFunction",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 17392,
"end": 17754,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 17435,
"end": 17754,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 17449,
"end": 17744,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 17456,
"end": 17743,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 17456,
"end": 17639,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 17456,
"end": 17554,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 17456,
"end": 17473,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 17456,
"end": 17468,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 17456,
"end": 17466,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 17456,
"end": 17460,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17461,
"end": 17466,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 17472,
"end": 17473,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 17493,
"end": 17554,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 17493,
"end": 17525,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 17493,
"end": 17516,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 17493,
"end": 17502,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 17493,
"end": 17497,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17498,
"end": 17502,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 17502,
"end": 17516,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 17503,
"end": 17515,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 17503,
"end": 17511,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 17503,
"end": 17507,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17508,
"end": 17511,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 17514,
"end": 17515,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17517,
"end": 17525,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 17530,
"end": 17554,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 17530,
"end": 17549,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 17530,
"end": 17540,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 17541,
"end": 17549,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17550,
"end": 17554,
"ctxt": 0
},
"value": "List",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 17574,
"end": 17639,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 17574,
"end": 17606,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 17574,
"end": 17597,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 17574,
"end": 17583,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 17574,
"end": 17578,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17579,
"end": 17583,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 17583,
"end": 17597,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 17584,
"end": 17596,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 17584,
"end": 17592,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 17584,
"end": 17588,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17589,
"end": 17592,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 17595,
"end": 17596,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17598,
"end": 17606,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 17611,
"end": 17639,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 17611,
"end": 17630,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 17611,
"end": 17621,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 17622,
"end": 17630,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17631,
"end": 17639,
"ctxt": 0
},
"value": "FuncDecl",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 17659,
"end": 17743,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 17659,
"end": 17715,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 17659,
"end": 17705,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 17660,
"end": 17704,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 17681,
"end": 17704,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 17681,
"end": 17690,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 17681,
"end": 17685,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17686,
"end": 17690,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 17690,
"end": 17704,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 17691,
"end": 17703,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 17691,
"end": 17699,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 17691,
"end": 17695,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17696,
"end": 17699,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 17702,
"end": 17703,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 17661,
"end": 17680,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 17661,
"end": 17671,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 17672,
"end": 17680,
"ctxt": 0
},
"value": "FuncDecl",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17706,
"end": 17715,
"ctxt": 0
},
"value": "arguments",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 17720,
"end": 17743,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 17720,
"end": 17729,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 17720,
"end": 17724,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17725,
"end": 17729,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 17729,
"end": 17743,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 17730,
"end": 17742,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 17730,
"end": 17738,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 17730,
"end": 17734,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17735,
"end": 17738,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 17741,
"end": 17742,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 17425,
"end": 17434,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 17427,
"end": 17434,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 17764,
"end": 18122,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 17771,
"end": 17791,
"ctxt": 0
},
"value": "isArgumentOfFunction",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 17764,
"end": 18122,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 17803,
"end": 18122,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 17817,
"end": 18112,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 17824,
"end": 18111,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 17824,
"end": 18007,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 17824,
"end": 17922,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 17824,
"end": 17841,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 17824,
"end": 17836,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 17824,
"end": 17834,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 17824,
"end": 17828,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17829,
"end": 17834,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 17840,
"end": 17841,
"ctxt": 0
},
"value": 3.0,
"raw": "3"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 17861,
"end": 17922,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 17861,
"end": 17893,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 17861,
"end": 17884,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 17861,
"end": 17870,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 17861,
"end": 17865,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17866,
"end": 17870,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 17870,
"end": 17884,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 17871,
"end": 17883,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 17871,
"end": 17879,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 17871,
"end": 17875,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17876,
"end": 17879,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 17882,
"end": 17883,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17885,
"end": 17893,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 17898,
"end": 17922,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 17898,
"end": 17917,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 17898,
"end": 17908,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 17909,
"end": 17917,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17918,
"end": 17922,
"ctxt": 0
},
"value": "List",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 17942,
"end": 18007,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 17942,
"end": 17974,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 17942,
"end": 17965,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 17942,
"end": 17951,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 17942,
"end": 17946,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17947,
"end": 17951,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 17951,
"end": 17965,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 17952,
"end": 17964,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 17952,
"end": 17960,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 17952,
"end": 17956,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17957,
"end": 17960,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 17963,
"end": 17964,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17966,
"end": 17974,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 17979,
"end": 18007,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 17979,
"end": 17998,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 17979,
"end": 17989,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 17990,
"end": 17998,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 17999,
"end": 18007,
"ctxt": 0
},
"value": "FuncDecl",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 18027,
"end": 18111,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 18027,
"end": 18083,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 18027,
"end": 18073,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 18028,
"end": 18072,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 18049,
"end": 18072,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 18049,
"end": 18058,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 18049,
"end": 18053,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18054,
"end": 18058,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 18058,
"end": 18072,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 18059,
"end": 18071,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 18059,
"end": 18067,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 18059,
"end": 18063,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18064,
"end": 18067,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 18070,
"end": 18071,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 18029,
"end": 18048,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 18029,
"end": 18039,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 18040,
"end": 18048,
"ctxt": 0
},
"value": "FuncDecl",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18074,
"end": 18083,
"ctxt": 0
},
"value": "arguments",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 18088,
"end": 18111,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 18088,
"end": 18097,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 18088,
"end": 18092,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18093,
"end": 18097,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 18097,
"end": 18111,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 18098,
"end": 18110,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 18098,
"end": 18106,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 18098,
"end": 18102,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18103,
"end": 18106,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 18109,
"end": 18110,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 17793,
"end": 17802,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 17795,
"end": 17802,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 18132,
"end": 18492,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 18139,
"end": 18159,
"ctxt": 0
},
"value": "isArgumentListOfCall",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 18132,
"end": 18492,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 18171,
"end": 18492,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 18185,
"end": 18482,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 18192,
"end": 18481,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 18192,
"end": 18371,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 18192,
"end": 18290,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 18192,
"end": 18209,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 18192,
"end": 18204,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 18192,
"end": 18202,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 18192,
"end": 18196,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18197,
"end": 18202,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 18208,
"end": 18209,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 18229,
"end": 18290,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 18229,
"end": 18261,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 18229,
"end": 18252,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 18229,
"end": 18238,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 18229,
"end": 18233,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18234,
"end": 18238,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 18238,
"end": 18252,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 18239,
"end": 18251,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 18239,
"end": 18247,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 18239,
"end": 18243,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18244,
"end": 18247,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 18250,
"end": 18251,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18253,
"end": 18261,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 18266,
"end": 18290,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 18266,
"end": 18285,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 18266,
"end": 18276,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 18277,
"end": 18285,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18286,
"end": 18290,
"ctxt": 0
},
"value": "List",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 18310,
"end": 18371,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 18310,
"end": 18342,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 18310,
"end": 18333,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 18310,
"end": 18319,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 18310,
"end": 18314,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18315,
"end": 18319,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 18319,
"end": 18333,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 18320,
"end": 18332,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 18320,
"end": 18328,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 18320,
"end": 18324,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18325,
"end": 18328,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 18331,
"end": 18332,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18334,
"end": 18342,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 18347,
"end": 18371,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 18347,
"end": 18366,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 18347,
"end": 18357,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 18358,
"end": 18366,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18367,
"end": 18371,
"ctxt": 0
},
"value": "Call",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 18391,
"end": 18481,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 18391,
"end": 18453,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 18391,
"end": 18443,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 18392,
"end": 18442,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 18419,
"end": 18442,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 18419,
"end": 18428,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 18419,
"end": 18423,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18424,
"end": 18428,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 18428,
"end": 18442,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 18429,
"end": 18441,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 18429,
"end": 18437,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 18429,
"end": 18433,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18434,
"end": 18437,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 18440,
"end": 18441,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 18393,
"end": 18418,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 18393,
"end": 18403,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 18404,
"end": 18418,
"ctxt": 0
},
"value": "CallExpression",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18444,
"end": 18453,
"ctxt": 0
},
"value": "arguments",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 18458,
"end": 18481,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 18458,
"end": 18467,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 18458,
"end": 18462,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18463,
"end": 18467,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 18467,
"end": 18481,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 18468,
"end": 18480,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 18468,
"end": 18476,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 18468,
"end": 18472,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18473,
"end": 18476,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 18479,
"end": 18480,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 18161,
"end": 18170,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 18163,
"end": 18170,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 18502,
"end": 18860,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 18509,
"end": 18528,
"ctxt": 0
},
"value": "isArgumentListOfNew",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 18502,
"end": 18860,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 18540,
"end": 18860,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 18554,
"end": 18850,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 18561,
"end": 18849,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 18561,
"end": 18739,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 18561,
"end": 18659,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 18561,
"end": 18578,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 18561,
"end": 18573,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 18561,
"end": 18571,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 18561,
"end": 18565,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18566,
"end": 18571,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 18577,
"end": 18578,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 18598,
"end": 18659,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 18598,
"end": 18630,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 18598,
"end": 18621,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 18598,
"end": 18607,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 18598,
"end": 18602,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18603,
"end": 18607,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 18607,
"end": 18621,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 18608,
"end": 18620,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 18608,
"end": 18616,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 18608,
"end": 18612,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18613,
"end": 18616,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 18619,
"end": 18620,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18622,
"end": 18630,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 18635,
"end": 18659,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 18635,
"end": 18654,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 18635,
"end": 18645,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 18646,
"end": 18654,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18655,
"end": 18659,
"ctxt": 0
},
"value": "List",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 18679,
"end": 18739,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 18679,
"end": 18711,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 18679,
"end": 18702,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 18679,
"end": 18688,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 18679,
"end": 18683,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18684,
"end": 18688,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 18688,
"end": 18702,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 18689,
"end": 18701,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 18689,
"end": 18697,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 18689,
"end": 18693,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18694,
"end": 18697,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 18700,
"end": 18701,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18703,
"end": 18711,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 18716,
"end": 18739,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 18716,
"end": 18735,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 18716,
"end": 18726,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 18727,
"end": 18735,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18736,
"end": 18739,
"ctxt": 0
},
"value": "New",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 18759,
"end": 18849,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 18759,
"end": 18821,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 18759,
"end": 18811,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 18760,
"end": 18810,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 18787,
"end": 18810,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 18787,
"end": 18796,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 18787,
"end": 18791,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18792,
"end": 18796,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 18796,
"end": 18810,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 18797,
"end": 18809,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 18797,
"end": 18805,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 18797,
"end": 18801,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18802,
"end": 18805,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 18808,
"end": 18809,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 18761,
"end": 18786,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 18761,
"end": 18771,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 18772,
"end": 18786,
"ctxt": 0
},
"value": "CallExpression",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18812,
"end": 18821,
"ctxt": 0
},
"value": "arguments",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 18826,
"end": 18849,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 18826,
"end": 18835,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 18826,
"end": 18830,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18831,
"end": 18835,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 18835,
"end": 18849,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 18836,
"end": 18848,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 18836,
"end": 18844,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 18836,
"end": 18840,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18841,
"end": 18844,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 18847,
"end": 18848,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 18530,
"end": 18539,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 18532,
"end": 18539,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 18870,
"end": 19128,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 18877,
"end": 18895,
"ctxt": 0
},
"value": "isSynthesizedBlock",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 18870,
"end": 19128,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 18907,
"end": 19128,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 18921,
"end": 19118,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 18928,
"end": 19117,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 18928,
"end": 19027,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 18928,
"end": 18945,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "CallExpression",
"span": {
"start": 18928,
"end": 18940,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 18928,
"end": 18938,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 18928,
"end": 18932,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18933,
"end": 18938,
"ctxt": 0
},
"value": "count",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 18944,
"end": 18945,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 18965,
"end": 19027,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 18965,
"end": 18997,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 18965,
"end": 18988,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 18965,
"end": 18974,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 18965,
"end": 18969,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18970,
"end": 18974,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 18974,
"end": 18988,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 18975,
"end": 18987,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 18975,
"end": 18983,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 18975,
"end": 18979,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18980,
"end": 18983,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 18986,
"end": 18987,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 18989,
"end": 18997,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 19002,
"end": 19027,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 19002,
"end": 19021,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 19002,
"end": 19012,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 19013,
"end": 19021,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 19022,
"end": 19027,
"ctxt": 0
},
"value": "Block",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 19047,
"end": 19117,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 19047,
"end": 19107,
"ctxt": 0
},
"object": {
"type": "ParenthesisExpression",
"span": {
"start": 19047,
"end": 19090,
"ctxt": 0
},
"expression": {
"type": "TsTypeAssertion",
"span": {
"start": 19048,
"end": 19089,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 19066,
"end": 19089,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 19066,
"end": 19075,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 19066,
"end": 19070,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 19071,
"end": 19075,
"ctxt": 0
},
"value": "asts",
"optional": false
}
},
"property": {
"type": "Computed",
"span": {
"start": 19075,
"end": 19089,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 19076,
"end": 19088,
"ctxt": 0
},
"operator": "-",
"left": {
"type": "MemberExpression",
"span": {
"start": 19076,
"end": 19084,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 19076,
"end": 19080,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 19081,
"end": 19084,
"ctxt": 0
},
"value": "top",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 19087,
"end": 19088,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 19049,
"end": 19065,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 19049,
"end": 19059,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 19060,
"end": 19065,
"ctxt": 0
},
"value": "Block",
"optional": false
}
},
"typeParams": null
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 19091,
"end": 19107,
"ctxt": 0
},
"value": "isStatementBlock",
"optional": false
}
},
"right": {
"type": "BooleanLiteral",
"span": {
"start": 19112,
"end": 19117,
"ctxt": 0
},
"value": false
}
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 18897,
"end": 18906,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 18899,
"end": 18906,
"ctxt": 0
},
"kind": "boolean"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false
}
],
"superClass": null,
"isAbstract": false,
"typeParams": null,
"superTypeParams": null,
"implements": []
}
},
{
"type": "ExportDeclaration",
"span": {
"start": 19140,
"end": 19367,
"ctxt": 0
},
"declaration": {
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 19156,
"end": 19170,
"ctxt": 0
},
"value": "isValidAstNode",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 19171,
"end": 19194,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 19171,
"end": 19194,
"ctxt": 0
},
"value": "ast",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 19174,
"end": 19194,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 19176,
"end": 19194,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 19176,
"end": 19186,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 19187,
"end": 19194,
"ctxt": 0
},
"value": "ASTSpan",
"optional": false
}
},
"typeParams": null
}
}
}
}
],
"decorators": [],
"span": {
"start": 19147,
"end": 19367,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 19205,
"end": 19367,
"ctxt": 0
},
"stmts": [
{
"type": "IfStatement",
"span": {
"start": 19215,
"end": 19258,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 19219,
"end": 19231,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "Identifier",
"span": {
"start": 19219,
"end": 19222,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"right": {
"type": "NullLiteral",
"span": {
"start": 19227,
"end": 19231,
"ctxt": 0
}
}
},
"consequent": {
"type": "ReturnStatement",
"span": {
"start": 19245,
"end": 19258,
"ctxt": 0
},
"argument": {
"type": "BooleanLiteral",
"span": {
"start": 19252,
"end": 19257,
"ctxt": 0
},
"value": false
}
},
"alternate": null
},
{
"type": "IfStatement",
"span": {
"start": 19268,
"end": 19339,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 19272,
"end": 19312,
"ctxt": 0
},
"operator": "||",
"left": {
"type": "BinaryExpression",
"span": {
"start": 19272,
"end": 19290,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 19272,
"end": 19283,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 19272,
"end": 19275,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 19276,
"end": 19283,
"ctxt": 0
},
"value": "minChar",
"optional": false
}
},
"right": {
"type": "UnaryExpression",
"span": {
"start": 19288,
"end": 19290,
"ctxt": 0
},
"operator": "-",
"argument": {
"type": "NumericLiteral",
"span": {
"start": 19289,
"end": 19290,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 19294,
"end": 19312,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 19294,
"end": 19305,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 19294,
"end": 19297,
"ctxt": 0
},
"value": "ast",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 19298,
"end": 19305,
"ctxt": 0
},
"value": "limChar",
"optional": false
}
},
"right": {
"type": "UnaryExpression",
"span": {
"start": 19310,
"end": 19312,
"ctxt": 0
},
"operator": "-",
"argument": {
"type": "NumericLiteral",
"span": {
"start": 19311,
"end": 19312,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
},
"consequent": {
"type": "ReturnStatement",
"span": {
"start": 19326,
"end": 19339,
"ctxt": 0
},
"argument": {
"type": "BooleanLiteral",
"span": {
"start": 19333,
"end": 19338,
"ctxt": 0
},
"value": false
}
},
"alternate": null
},
{
"type": "ReturnStatement",
"span": {
"start": 19349,
"end": 19361,
"ctxt": 0
},
"argument": {
"type": "BooleanLiteral",
"span": {
"start": 19356,
"end": 19360,
"ctxt": 0
},
"value": true
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 19195,
"end": 19204,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 19197,
"end": 19204,
"ctxt": 0
},
"kind": "boolean"
}
}
}
},
{
"type": "ExportDeclaration",
"span": {
"start": 19373,
"end": 19456,
"ctxt": 0
},
"declaration": {
"type": "ClassDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 19386,
"end": 19400,
"ctxt": 0
},
"value": "AstPathContext",
"optional": false
},
"declare": false,
"span": {
"start": 19380,
"end": 19456,
"ctxt": 0
},
"decorators": [],
"body": [
{
"type": "ClassProperty",
"span": {
"start": 19411,
"end": 19450,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 19418,
"end": 19422,
"ctxt": 0
},
"value": "path",
"optional": false
},
"value": {
"type": "NewExpression",
"span": {
"start": 19425,
"end": 19449,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 19429,
"end": 19447,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 19429,
"end": 19439,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 19440,
"end": 19447,
"ctxt": 0
},
"value": "AstPath",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"typeAnnotation": null,
"isStatic": false,
"decorators": [],
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false,
"readonly": false,
"declare": false,
"definite": false
}
],
"superClass": null,
"isAbstract": false,
"typeParams": null,
"superTypeParams": null,
"implements": []
}
},
{
"type": "ExportDeclaration",
"span": {
"start": 19462,
"end": 20178,
"ctxt": 0
},
"declaration": {
"type": "TsEnumDeclaration",
"span": {
"start": 19469,
"end": 20178,
"ctxt": 0
},
"declare": false,
"isConst": false,
"id": {
"type": "Identifier",
"span": {
"start": 19474,
"end": 19491,
"ctxt": 0
},
"value": "GetAstPathOptions",
"optional": false
},
"members": [
{
"type": "TsEnumMember",
"span": {
"start": 19502,
"end": 19513,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 19502,
"end": 19509,
"ctxt": 0
},
"value": "Default",
"optional": false
},
"init": {
"type": "NumericLiteral",
"span": {
"start": 19512,
"end": 19513,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
},
{
"type": "TsEnumMember",
"span": {
"start": 19523,
"end": 19540,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 19523,
"end": 19536,
"ctxt": 0
},
"value": "EdgeInclusive",
"optional": false
},
"init": {
"type": "NumericLiteral",
"span": {
"start": 19539,
"end": 19540,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
},
{
"type": "TsEnumMember",
"span": {
"start": 20132,
"end": 20171,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 20132,
"end": 20162,
"ctxt": 0
},
"value": "DontPruneSearchBasedOnPosition",
"optional": false
},
"init": {
"type": "BinaryExpression",
"span": {
"start": 20165,
"end": 20171,
"ctxt": 0
},
"operator": "<<",
"left": {
"type": "NumericLiteral",
"span": {
"start": 20165,
"end": 20166,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 20170,
"end": 20171,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
]
}
},
{
"type": "ExportDeclaration",
"span": {
"start": 20260,
"end": 23469,
"ctxt": 0
},
"declaration": {
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 20276,
"end": 20296,
"ctxt": 0
},
"value": "getAstPathToPosition",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 20297,
"end": 20319,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 20297,
"end": 20319,
"ctxt": 0
},
"value": "script",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 20303,
"end": 20319,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 20305,
"end": 20319,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 20305,
"end": 20315,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 20316,
"end": 20319,
"ctxt": 0
},
"value": "AST",
"optional": false
}
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 20321,
"end": 20332,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 20321,
"end": 20332,
"ctxt": 0
},
"value": "pos",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 20324,
"end": 20332,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 20326,
"end": 20332,
"ctxt": 0
},
"kind": "number"
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 20334,
"end": 20369,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "AssignmentPattern",
"span": {
"start": 20334,
"end": 20369,
"ctxt": 0
},
"left": {
"type": "Identifier",
"span": {
"start": 20334,
"end": 20341,
"ctxt": 0
},
"value": "options",
"optional": false,
"typeAnnotation": null
},
"right": {
"type": "MemberExpression",
"span": {
"start": 20344,
"end": 20369,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 20344,
"end": 20361,
"ctxt": 0
},
"value": "GetAstPathOptions",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 20362,
"end": 20369,
"ctxt": 0
},
"value": "Default",
"optional": false
}
},
"typeAnnotation": null
}
}
],
"decorators": [],
"span": {
"start": 20267,
"end": 23469,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 20391,
"end": 23469,
"ctxt": 0
},
"stmts": [
{
"type": "VariableDeclaration",
"span": {
"start": 20401,
"end": 21039,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 20405,
"end": 21039,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 20405,
"end": 20419,
"ctxt": 0
},
"value": "lookInComments",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 20422,
"end": 21039,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 20423,
"end": 20453,
"ctxt": 0
},
"value": "comments",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 20431,
"end": 20453,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 20433,
"end": 20453,
"ctxt": 0
},
"elemType": {
"type": "TsTypeReference",
"span": {
"start": 20433,
"end": 20451,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 20433,
"end": 20443,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 20444,
"end": 20451,
"ctxt": 0
},
"value": "Comment",
"optional": false
}
},
"typeParams": null
}
}
}
}
],
"body": {
"type": "BlockStatement",
"span": {
"start": 20458,
"end": 21039,
"ctxt": 0
},
"stmts": [
{
"type": "IfStatement",
"span": {
"start": 20472,
"end": 21029,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 20476,
"end": 20507,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "Identifier",
"span": {
"start": 20476,
"end": 20484,
"ctxt": 0
},
"value": "comments",
"optional": false
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 20488,
"end": 20507,
"ctxt": 0
},
"operator": ">",
"left": {
"type": "MemberExpression",
"span": {
"start": 20488,
"end": 20503,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 20488,
"end": 20496,
"ctxt": 0
},
"value": "comments",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 20497,
"end": 20503,
"ctxt": 0
},
"value": "length",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 20506,
"end": 20507,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
},
"consequent": {
"type": "BlockStatement",
"span": {
"start": 20509,
"end": 21029,
"ctxt": 0
},
"stmts": [
{
"type": "ForStatement",
"span": {
"start": 20527,
"end": 21015,
"ctxt": 0
},
"init": {
"type": "VariableDeclaration",
"span": {
"start": 20532,
"end": 20541,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 20536,
"end": 20541,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 20536,
"end": 20537,
"ctxt": 0
},
"value": "i",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "NumericLiteral",
"span": {
"start": 20540,
"end": 20541,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
},
"definite": false
}
]
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 20543,
"end": 20562,
"ctxt": 0
},
"operator": "<",
"left": {
"type": "Identifier",
"span": {
"start": 20543,
"end": 20544,
"ctxt": 0
},
"value": "i",
"optional": false
},
"right": {
"type": "MemberExpression",
"span": {
"start": 20547,
"end": 20562,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 20547,
"end": 20555,
"ctxt": 0
},
"value": "comments",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 20556,
"end": 20562,
"ctxt": 0
},
"value": "length",
"optional": false
}
}
},
"update": {
"type": "UpdateExpression",
"span": {
"start": 20564,
"end": 20567,
"ctxt": 0
},
"operator": "++",
"prefix": false,
"argument": {
"type": "Identifier",
"span": {
"start": 20564,
"end": 20565,
"ctxt": 0
},
"value": "i",
"optional": false
}
},
"body": {
"type": "BlockStatement",
"span": {
"start": 20569,
"end": 21015,
"ctxt": 0
},
"stmts": [
{
"type": "VariableDeclaration",
"span": {
"start": 20591,
"end": 20625,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 20595,
"end": 20624,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 20595,
"end": 20602,
"ctxt": 0
},
"value": "minChar",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "MemberExpression",
"span": {
"start": 20605,
"end": 20624,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 20605,
"end": 20616,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 20605,
"end": 20613,
"ctxt": 0
},
"value": "comments",
"optional": false
},
"property": {
"type": "Computed",
"span": {
"start": 20613,
"end": 20616,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 20614,
"end": 20615,
"ctxt": 0
},
"value": "i",
"optional": false
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 20617,
"end": 20624,
"ctxt": 0
},
"value": "minChar",
"optional": false
}
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 20646,
"end": 20680,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 20650,
"end": 20679,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 20650,
"end": 20657,
"ctxt": 0
},
"value": "limChar",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "MemberExpression",
"span": {
"start": 20660,
"end": 20679,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 20660,
"end": 20671,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 20660,
"end": 20668,
"ctxt": 0
},
"value": "comments",
"optional": false
},
"property": {
"type": "Computed",
"span": {
"start": 20668,
"end": 20671,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 20669,
"end": 20670,
"ctxt": 0
},
"value": "i",
"optional": false
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 20672,
"end": 20679,
"ctxt": 0
},
"value": "limChar",
"optional": false
}
},
"definite": false
}
]
},
{
"type": "IfStatement",
"span": {
"start": 20701,
"end": 20864,
"ctxt": 0
},
"test": {
"type": "UnaryExpression",
"span": {
"start": 20705,
"end": 20732,
"ctxt": 0
},
"operator": "!",
"argument": {
"type": "MemberExpression",
"span": {
"start": 20706,
"end": 20732,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 20706,
"end": 20717,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 20706,
"end": 20714,
"ctxt": 0
},
"value": "comments",
"optional": false
},
"property": {
"type": "Computed",
"span": {
"start": 20714,
"end": 20717,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 20715,
"end": 20716,
"ctxt": 0
},
"value": "i",
"optional": false
}
}
},
"property": {
"type": "Identifier",
"span": {
"start": 20718,
"end": 20732,
"ctxt": 0
},
"value": "isBlockComment",
"optional": false
}
}
},
"consequent": {
"type": "BlockStatement",
"span": {
"start": 20734,
"end": 20864,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 20760,
"end": 20770,
"ctxt": 0
},
"expression": {
"type": "UpdateExpression",
"span": {
"start": 20760,
"end": 20769,
"ctxt": 0
},
"operator": "++",
"prefix": false,
"argument": {
"type": "Identifier",
"span": {
"start": 20760,
"end": 20767,
"ctxt": 0
},
"value": "limChar",
"optional": false
}
}
}
]
},
"alternate": null
},
{
"type": "IfStatement",
"span": {
"start": 20885,
"end": 20997,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 20889,
"end": 20920,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 20889,
"end": 20903,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "Identifier",
"span": {
"start": 20889,
"end": 20892,
"ctxt": 0
},
"value": "pos",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 20896,
"end": 20903,
"ctxt": 0
},
"value": "minChar",
"optional": false
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 20907,
"end": 20920,
"ctxt": 0
},
"operator": "<",
"left": {
"type": "Identifier",
"span": {
"start": 20907,
"end": 20910,
"ctxt": 0
},
"value": "pos",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 20913,
"end": 20920,
"ctxt": 0
},
"value": "limChar",
"optional": false
}
}
},
"consequent": {
"type": "BlockStatement",
"span": {
"start": 20922,
"end": 20997,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 20948,
"end": 20975,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 20948,
"end": 20974,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 20948,
"end": 20961,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 20948,
"end": 20956,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 20948,
"end": 20951,
"ctxt": 0
},
"value": "ctx",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 20952,
"end": 20956,
"ctxt": 0
},
"value": "path",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 20957,
"end": 20961,
"ctxt": 0
},
"value": "push",
"optional": false
}
},
"arguments": [
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 20962,
"end": 20973,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 20962,
"end": 20970,
"ctxt": 0
},
"value": "comments",
"optional": false
},
"property": {
"type": "Computed",
"span": {
"start": 20970,
"end": 20973,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 20971,
"end": 20972,
"ctxt": 0
},
"value": "i",
"optional": false
}
}
}
}
],
"typeArguments": null
}
}
]
},
"alternate": null
}
]
}
}
]
},
"alternate": null
}
]
},
"async": false,
"generator": false,
"typeParameters": null,
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 21049,
"end": 23320,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 21053,
"end": 23320,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 21053,
"end": 21056,
"ctxt": 0
},
"value": "pre",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "FunctionExpression",
"identifier": null,
"params": [
{
"type": "Parameter",
"span": {
"start": 21069,
"end": 21088,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 21069,
"end": 21088,
"ctxt": 0
},
"value": "cur",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 21072,
"end": 21088,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 21074,
"end": 21088,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 21074,
"end": 21084,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 21085,
"end": 21088,
"ctxt": 0
},
"value": "AST",
"optional": false
}
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 21090,
"end": 21112,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 21090,
"end": 21112,
"ctxt": 0
},
"value": "parent",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 21096,
"end": 21112,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 21098,
"end": 21112,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 21098,
"end": 21108,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 21109,
"end": 21112,
"ctxt": 0
},
"value": "AST",
"optional": false
}
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 21114,
"end": 21132,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 21114,
"end": 21132,
"ctxt": 0
},
"value": "walker",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 21120,
"end": 21132,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 21122,
"end": 21132,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 21122,
"end": 21132,
"ctxt": 0
},
"value": "IAstWalker",
"optional": false
},
"typeParams": null
}
}
}
}
],
"decorators": [],
"span": {
"start": 21059,
"end": 23320,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 21134,
"end": 23320,
"ctxt": 0
},
"stmts": [
{
"type": "IfStatement",
"span": {
"start": 21148,
"end": 23286,
"ctxt": 0
},
"test": {
"type": "CallExpression",
"span": {
"start": 21152,
"end": 21171,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 21152,
"end": 21166,
"ctxt": 0
},
"value": "isValidAstNode",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 21167,
"end": 21170,
"ctxt": 0
},
"value": "cur",
"optional": false
}
}
],
"typeArguments": null
},
"consequent": {
"type": "BlockStatement",
"span": {
"start": 21173,
"end": 23286,
"ctxt": 0
},
"stmts": [
{
"type": "VariableDeclaration",
"span": {
"start": 21666,
"end": 21863,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 21670,
"end": 21862,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 21670,
"end": 21679,
"ctxt": 0
},
"value": "inclusive",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "BinaryExpression",
"span": {
"start": 21702,
"end": 21862,
"ctxt": 0
},
"operator": "||",
"left": {
"type": "BinaryExpression",
"span": {
"start": 21702,
"end": 21816,
"ctxt": 0
},
"operator": "||",
"left": {
"type": "CallExpression",
"span": {
"start": 21702,
"end": 21751,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 21702,
"end": 21709,
"ctxt": 0
},
"value": "hasFlag",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 21710,
"end": 21717,
"ctxt": 0
},
"value": "options",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 21719,
"end": 21750,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 21719,
"end": 21736,
"ctxt": 0
},
"value": "GetAstPathOptions",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 21737,
"end": 21750,
"ctxt": 0
},
"value": "EdgeInclusive",
"optional": false
}
}
}
],
"typeArguments": null
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 21775,
"end": 21816,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "MemberExpression",
"span": {
"start": 21775,
"end": 21787,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 21775,
"end": 21778,
"ctxt": 0
},
"value": "cur",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 21779,
"end": 21787,
"ctxt": 0
},
"value": "nodeType",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 21792,
"end": 21816,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 21792,
"end": 21811,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 21792,
"end": 21802,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 21803,
"end": 21811,
"ctxt": 0
},
"value": "NodeType",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 21812,
"end": 21816,
"ctxt": 0
},
"value": "Name",
"optional": false
}
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 21840,
"end": 21862,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "Identifier",
"span": {
"start": 21840,
"end": 21843,
"ctxt": 0
},
"value": "pos",
"optional": false
},
"right": {
"type": "MemberExpression",
"span": {
"start": 21848,
"end": 21862,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 21848,
"end": 21854,
"ctxt": 0
},
"value": "script",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 21855,
"end": 21862,
"ctxt": 0
},
"value": "limChar",
"optional": false
}
}
}
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 21903,
"end": 21929,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 21907,
"end": 21928,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 21907,
"end": 21914,
"ctxt": 0
},
"value": "minChar",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "MemberExpression",
"span": {
"start": 21917,
"end": 21928,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 21917,
"end": 21920,
"ctxt": 0
},
"value": "cur",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 21921,
"end": 21928,
"ctxt": 0
},
"value": "minChar",
"optional": false
}
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 21946,
"end": 21993,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 21950,
"end": 21993,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 21950,
"end": 21957,
"ctxt": 0
},
"value": "limChar",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "BinaryExpression",
"span": {
"start": 21960,
"end": 21993,
"ctxt": 0
},
"operator": "+",
"left": {
"type": "MemberExpression",
"span": {
"start": 21960,
"end": 21971,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 21960,
"end": 21963,
"ctxt": 0
},
"value": "cur",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 21964,
"end": 21971,
"ctxt": 0
},
"value": "limChar",
"optional": false
}
},
"right": {
"type": "ParenthesisExpression",
"span": {
"start": 21974,
"end": 21993,
"ctxt": 0
},
"expression": {
"type": "ConditionalExpression",
"span": {
"start": 21975,
"end": 21992,
"ctxt": 0
},
"test": {
"type": "Identifier",
"span": {
"start": 21975,
"end": 21984,
"ctxt": 0
},
"value": "inclusive",
"optional": false
},
"consequent": {
"type": "NumericLiteral",
"span": {
"start": 21987,
"end": 21988,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
},
"alternate": {
"type": "NumericLiteral",
"span": {
"start": 21991,
"end": 21992,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
}
},
"definite": false
}
]
},
{
"type": "IfStatement",
"span": {
"start": 22010,
"end": 22637,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 22014,
"end": 22045,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 22014,
"end": 22028,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "Identifier",
"span": {
"start": 22014,
"end": 22017,
"ctxt": 0
},
"value": "pos",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 22021,
"end": 22028,
"ctxt": 0
},
"value": "minChar",
"optional": false
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 22032,
"end": 22045,
"ctxt": 0
},
"operator": "<",
"left": {
"type": "Identifier",
"span": {
"start": 22032,
"end": 22035,
"ctxt": 0
},
"value": "pos",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 22038,
"end": 22045,
"ctxt": 0
},
"value": "limChar",
"optional": false
}
}
},
"consequent": {
"type": "BlockStatement",
"span": {
"start": 22047,
"end": 22637,
"ctxt": 0
},
"stmts": [
{
"type": "VariableDeclaration",
"span": {
"start": 22233,
"end": 22263,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 22237,
"end": 22262,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 22237,
"end": 22245,
"ctxt": 0
},
"value": "previous",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 22248,
"end": 22262,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 22248,
"end": 22260,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 22248,
"end": 22256,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 22248,
"end": 22251,
"ctxt": 0
},
"value": "ctx",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 22252,
"end": 22256,
"ctxt": 0
},
"value": "path",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 22257,
"end": 22260,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "IfStatement",
"span": {
"start": 22284,
"end": 22619,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 22288,
"end": 22376,
"ctxt": 0
},
"operator": "||",
"left": {
"type": "BinaryExpression",
"span": {
"start": 22288,
"end": 22304,
"ctxt": 0
},
"operator": "==",
"left": {
"type": "Identifier",
"span": {
"start": 22288,
"end": 22296,
"ctxt": 0
},
"value": "previous",
"optional": false
},
"right": {
"type": "NullLiteral",
"span": {
"start": 22300,
"end": 22304,
"ctxt": 0
}
}
},
"right": {
"type": "ParenthesisExpression",
"span": {
"start": 22308,
"end": 22376,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 22309,
"end": 22375,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 22309,
"end": 22340,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "MemberExpression",
"span": {
"start": 22309,
"end": 22320,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 22309,
"end": 22312,
"ctxt": 0
},
"value": "cur",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 22313,
"end": 22320,
"ctxt": 0
},
"value": "minChar",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 22324,
"end": 22340,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 22324,
"end": 22332,
"ctxt": 0
},
"value": "previous",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 22333,
"end": 22340,
"ctxt": 0
},
"value": "minChar",
"optional": false
}
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 22344,
"end": 22375,
"ctxt": 0
},
"operator": "<=",
"left": {
"type": "MemberExpression",
"span": {
"start": 22344,
"end": 22355,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 22344,
"end": 22347,
"ctxt": 0
},
"value": "cur",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 22348,
"end": 22355,
"ctxt": 0
},
"value": "limChar",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 22359,
"end": 22375,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 22359,
"end": 22367,
"ctxt": 0
},
"value": "previous",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 22368,
"end": 22375,
"ctxt": 0
},
"value": "limChar",
"optional": false
}
}
}
}
}
},
"consequent": {
"type": "BlockStatement",
"span": {
"start": 22378,
"end": 22445,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 22404,
"end": 22423,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 22404,
"end": 22422,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 22404,
"end": 22417,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 22404,
"end": 22412,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 22404,
"end": 22407,
"ctxt": 0
},
"value": "ctx",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 22408,
"end": 22412,
"ctxt": 0
},
"value": "path",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 22413,
"end": 22417,
"ctxt": 0
},
"value": "push",
"optional": false
}
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 22418,
"end": 22421,
"ctxt": 0
},
"value": "cur",
"optional": false
}
}
],
"typeArguments": null
}
}
]
},
"alternate": {
"type": "BlockStatement",
"span": {
"start": 22471,
"end": 22619,
"ctxt": 0
},
"stmts": []
}
}
]
},
"alternate": null
},
{
"type": "IfStatement",
"span": {
"start": 22783,
"end": 22874,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 22787,
"end": 22800,
"ctxt": 0
},
"operator": "<",
"left": {
"type": "Identifier",
"span": {
"start": 22787,
"end": 22790,
"ctxt": 0
},
"value": "pos",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 22793,
"end": 22800,
"ctxt": 0
},
"value": "limChar",
"optional": false
}
},
"consequent": {
"type": "BlockStatement",
"span": {
"start": 22802,
"end": 22874,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 22824,
"end": 22856,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 22824,
"end": 22855,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 22824,
"end": 22838,
"ctxt": 0
},
"value": "lookInComments",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 22839,
"end": 22854,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 22839,
"end": 22842,
"ctxt": 0
},
"value": "cur",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 22843,
"end": 22854,
"ctxt": 0
},
"value": "preComments",
"optional": false
}
}
}
],
"typeArguments": null
}
}
]
},
"alternate": null
},
{
"type": "IfStatement",
"span": {
"start": 22891,
"end": 22984,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 22895,
"end": 22909,
"ctxt": 0
},
"operator": ">=",
"left": {
"type": "Identifier",
"span": {
"start": 22895,
"end": 22898,
"ctxt": 0
},
"value": "pos",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 22902,
"end": 22909,
"ctxt": 0
},
"value": "minChar",
"optional": false
}
},
"consequent": {
"type": "BlockStatement",
"span": {
"start": 22911,
"end": 22984,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 22933,
"end": 22966,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 22933,
"end": 22965,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 22933,
"end": 22947,
"ctxt": 0
},
"value": "lookInComments",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 22948,
"end": 22964,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 22948,
"end": 22951,
"ctxt": 0
},
"value": "cur",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 22952,
"end": 22964,
"ctxt": 0
},
"value": "postComments",
"optional": false
}
}
}
],
"typeArguments": null
}
}
]
},
"alternate": null
},
{
"type": "IfStatement",
"span": {
"start": 23002,
"end": 23272,
"ctxt": 0
},
"test": {
"type": "UnaryExpression",
"span": {
"start": 23006,
"end": 23073,
"ctxt": 0
},
"operator": "!",
"argument": {
"type": "CallExpression",
"span": {
"start": 23007,
"end": 23073,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 23007,
"end": 23014,
"ctxt": 0
},
"value": "hasFlag",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 23015,
"end": 23022,
"ctxt": 0
},
"value": "options",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 23024,
"end": 23072,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 23024,
"end": 23041,
"ctxt": 0
},
"value": "GetAstPathOptions",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 23042,
"end": 23072,
"ctxt": 0
},
"value": "DontPruneSearchBasedOnPosition",
"optional": false
}
}
}
],
"typeArguments": null
}
},
"consequent": {
"type": "BlockStatement",
"span": {
"start": 23075,
"end": 23272,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 23191,
"end": 23254,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 23191,
"end": 23253,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 23191,
"end": 23216,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 23191,
"end": 23205,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 23191,
"end": 23197,
"ctxt": 0
},
"value": "walker",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 23198,
"end": 23205,
"ctxt": 0
},
"value": "options",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 23206,
"end": 23216,
"ctxt": 0
},
"value": "goChildren",
"optional": false
}
},
"right": {
"type": "ParenthesisExpression",
"span": {
"start": 23219,
"end": 23253,
"ctxt": 0
},
"expression": {
"type": "BinaryExpression",
"span": {
"start": 23220,
"end": 23252,
"ctxt": 0
},
"operator": "&&",
"left": {
"type": "BinaryExpression",
"span": {
"start": 23220,
"end": 23234,
"ctxt": 0
},
"operator": "<=",
"left": {
"type": "Identifier",
"span": {
"start": 23220,
"end": 23227,
"ctxt": 0
},
"value": "minChar",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 23231,
"end": 23234,
"ctxt": 0
},
"value": "pos",
"optional": false
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 23238,
"end": 23252,
"ctxt": 0
},
"operator": "<=",
"left": {
"type": "Identifier",
"span": {
"start": 23238,
"end": 23241,
"ctxt": 0
},
"value": "pos",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 23245,
"end": 23252,
"ctxt": 0
},
"value": "limChar",
"optional": false
}
}
}
}
}
}
]
},
"alternate": null
}
]
},
"alternate": null
},
{
"type": "ReturnStatement",
"span": {
"start": 23299,
"end": 23310,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 23306,
"end": 23309,
"ctxt": 0
},
"value": "cur",
"optional": false
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 23330,
"end": 23361,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 23334,
"end": 23360,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 23334,
"end": 23337,
"ctxt": 0
},
"value": "ctx",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "NewExpression",
"span": {
"start": 23340,
"end": 23360,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 23344,
"end": 23358,
"ctxt": 0
},
"value": "AstPathContext",
"optional": false
},
"arguments": [],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 23370,
"end": 23438,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 23370,
"end": 23437,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 23370,
"end": 23407,
"ctxt": 0
},
"object": {
"type": "CallExpression",
"span": {
"start": 23370,
"end": 23402,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 23370,
"end": 23400,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 23370,
"end": 23380,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 23381,
"end": 23400,
"ctxt": 0
},
"value": "getAstWalkerFactory",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"property": {
"type": "Identifier",
"span": {
"start": 23403,
"end": 23407,
"ctxt": 0
},
"value": "walk",
"optional": false
}
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 23408,
"end": 23414,
"ctxt": 0
},
"value": "script",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 23416,
"end": 23419,
"ctxt": 0
},
"value": "pre",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "NullLiteral",
"span": {
"start": 23421,
"end": 23425,
"ctxt": 0
}
}
},
{
"spread": null,
"expression": {
"type": "NullLiteral",
"span": {
"start": 23427,
"end": 23431,
"ctxt": 0
}
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 23433,
"end": 23436,
"ctxt": 0
},
"value": "ctx",
"optional": false
}
}
],
"typeArguments": null
}
},
{
"type": "ReturnStatement",
"span": {
"start": 23447,
"end": 23463,
"ctxt": 0
},
"argument": {
"type": "MemberExpression",
"span": {
"start": 23454,
"end": 23462,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 23454,
"end": 23457,
"ctxt": 0
},
"value": "ctx",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 23458,
"end": 23462,
"ctxt": 0
},
"value": "path",
"optional": false
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 20370,
"end": 20390,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 20372,
"end": 20390,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 20372,
"end": 20382,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 20383,
"end": 20390,
"ctxt": 0
},
"value": "AstPath",
"optional": false
}
},
"typeParams": null
}
}
}
},
{
"type": "ExportDeclaration",
"span": {
"start": 23654,
"end": 24481,
"ctxt": 0
},
"declaration": {
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 23670,
"end": 23691,
"ctxt": 0
},
"value": "getTokenizationOffset",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 23692,
"end": 23717,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 23692,
"end": 23717,
"ctxt": 0
},
"value": "script",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 23698,
"end": 23717,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 23700,
"end": 23717,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 23700,
"end": 23710,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 23711,
"end": 23717,
"ctxt": 0
},
"value": "Script",
"optional": false
}
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 23719,
"end": 23735,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 23719,
"end": 23735,
"ctxt": 0
},
"value": "position",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 23727,
"end": 23735,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 23729,
"end": 23735,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"decorators": [],
"span": {
"start": 23661,
"end": 24481,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 23745,
"end": 24481,
"ctxt": 0
},
"stmts": [
{
"type": "VariableDeclaration",
"span": {
"start": 23755,
"end": 23774,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 23759,
"end": 23773,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 23759,
"end": 23769,
"ctxt": 0
},
"value": "bestOffset",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "NumericLiteral",
"span": {
"start": 23772,
"end": 23773,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 23783,
"end": 24387,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 23787,
"end": 24387,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 23787,
"end": 23790,
"ctxt": 0
},
"value": "pre",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 23793,
"end": 24387,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 23794,
"end": 23813,
"ctxt": 0
},
"value": "cur",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 23797,
"end": 23813,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 23799,
"end": 23813,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 23799,
"end": 23809,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 23810,
"end": 23813,
"ctxt": 0
},
"value": "AST",
"optional": false
}
},
"typeParams": null
}
}
},
{
"type": "Identifier",
"span": {
"start": 23815,
"end": 23837,
"ctxt": 0
},
"value": "parent",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 23821,
"end": 23837,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 23823,
"end": 23837,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 23823,
"end": 23833,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 23834,
"end": 23837,
"ctxt": 0
},
"value": "AST",
"optional": false
}
},
"typeParams": null
}
}
},
{
"type": "Identifier",
"span": {
"start": 23839,
"end": 23868,
"ctxt": 0
},
"value": "walker",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 23845,
"end": 23868,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 23847,
"end": 23868,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 23847,
"end": 23857,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 23858,
"end": 23868,
"ctxt": 0
},
"value": "IAstWalker",
"optional": false
}
},
"typeParams": null
}
}
}
],
"body": {
"type": "BlockStatement",
"span": {
"start": 23889,
"end": 24387,
"ctxt": 0
},
"stmts": [
{
"type": "IfStatement",
"span": {
"start": 23903,
"end": 24352,
"ctxt": 0
},
"test": {
"type": "CallExpression",
"span": {
"start": 23907,
"end": 23937,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 23907,
"end": 23932,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 23907,
"end": 23917,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 23918,
"end": 23932,
"ctxt": 0
},
"value": "isValidAstNode",
"optional": false
}
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 23933,
"end": 23936,
"ctxt": 0
},
"value": "cur",
"optional": false
}
}
],
"typeArguments": null
},
"consequent": {
"type": "BlockStatement",
"span": {
"start": 23939,
"end": 24352,
"ctxt": 0
},
"stmts": [
{
"type": "IfStatement",
"span": {
"start": 24005,
"end": 24116,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 24009,
"end": 24032,
"ctxt": 0
},
"operator": "<=",
"left": {
"type": "MemberExpression",
"span": {
"start": 24009,
"end": 24020,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 24009,
"end": 24012,
"ctxt": 0
},
"value": "cur",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 24013,
"end": 24020,
"ctxt": 0
},
"value": "minChar",
"optional": false
}
},
"right": {
"type": "Identifier",
"span": {
"start": 24024,
"end": 24032,
"ctxt": 0
},
"value": "position",
"optional": false
}
},
"consequent": {
"type": "BlockStatement",
"span": {
"start": 24034,
"end": 24116,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 24056,
"end": 24098,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 24056,
"end": 24097,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "Identifier",
"span": {
"start": 24056,
"end": 24066,
"ctxt": 0
},
"value": "bestOffset",
"optional": false,
"typeAnnotation": null
},
"right": {
"type": "CallExpression",
"span": {
"start": 24069,
"end": 24097,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 24069,
"end": 24072,
"ctxt": 0
},
"value": "max",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 24073,
"end": 24083,
"ctxt": 0
},
"value": "bestOffset",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 24085,
"end": 24096,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 24085,
"end": 24088,
"ctxt": 0
},
"value": "cur",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 24089,
"end": 24096,
"ctxt": 0
},
"value": "minChar",
"optional": false
}
}
}
],
"typeArguments": null
}
}
}
]
},
"alternate": null
},
{
"type": "IfStatement",
"span": {
"start": 24208,
"end": 24338,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 24212,
"end": 24262,
"ctxt": 0
},
"operator": "||",
"left": {
"type": "BinaryExpression",
"span": {
"start": 24212,
"end": 24234,
"ctxt": 0
},
"operator": ">",
"left": {
"type": "MemberExpression",
"span": {
"start": 24212,
"end": 24223,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 24212,
"end": 24215,
"ctxt": 0
},
"value": "cur",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 24216,
"end": 24223,
"ctxt": 0
},
"value": "minChar",
"optional": false
}
},
"right": {
"type": "Identifier",
"span": {
"start": 24226,
"end": 24234,
"ctxt": 0
},
"value": "position",
"optional": false
}
},
"right": {
"type": "BinaryExpression",
"span": {
"start": 24238,
"end": 24262,
"ctxt": 0
},
"operator": "<",
"left": {
"type": "MemberExpression",
"span": {
"start": 24238,
"end": 24249,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 24238,
"end": 24241,
"ctxt": 0
},
"value": "cur",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 24242,
"end": 24249,
"ctxt": 0
},
"value": "limChar",
"optional": false
}
},
"right": {
"type": "Identifier",
"span": {
"start": 24252,
"end": 24262,
"ctxt": 0
},
"value": "bestOffset",
"optional": false
}
}
},
"consequent": {
"type": "BlockStatement",
"span": {
"start": 24264,
"end": 24338,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 24286,
"end": 24320,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 24286,
"end": 24319,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 24286,
"end": 24311,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 24286,
"end": 24300,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 24286,
"end": 24292,
"ctxt": 0
},
"value": "walker",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 24293,
"end": 24300,
"ctxt": 0
},
"value": "options",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 24301,
"end": 24311,
"ctxt": 0
},
"value": "goChildren",
"optional": false
}
},
"right": {
"type": "BooleanLiteral",
"span": {
"start": 24314,
"end": 24319,
"ctxt": 0
},
"value": false
}
}
}
]
},
"alternate": null
}
]
},
"alternate": null
},
{
"type": "ReturnStatement",
"span": {
"start": 24366,
"end": 24377,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 24373,
"end": 24376,
"ctxt": 0
},
"value": "cur",
"optional": false
}
}
]
},
"async": false,
"generator": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 23869,
"end": 23885,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 23871,
"end": 23885,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 23871,
"end": 23881,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 23882,
"end": 23885,
"ctxt": 0
},
"value": "AST",
"optional": false
}
},
"typeParams": null
}
}
},
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 24397,
"end": 24448,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 24397,
"end": 24447,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 24397,
"end": 24434,
"ctxt": 0
},
"object": {
"type": "CallExpression",
"span": {
"start": 24397,
"end": 24429,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 24397,
"end": 24427,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 24397,
"end": 24407,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 24408,
"end": 24427,
"ctxt": 0
},
"value": "getAstWalkerFactory",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"property": {
"type": "Identifier",
"span": {
"start": 24430,
"end": 24434,
"ctxt": 0
},
"value": "walk",
"optional": false
}
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 24435,
"end": 24441,
"ctxt": 0
},
"value": "script",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 24443,
"end": 24446,
"ctxt": 0
},
"value": "pre",
"optional": false
}
}
],
"typeArguments": null
}
},
{
"type": "ReturnStatement",
"span": {
"start": 24457,
"end": 24475,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 24464,
"end": 24474,
"ctxt": 0
},
"value": "bestOffset",
"optional": false
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 23736,
"end": 23744,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 23738,
"end": 23744,
"ctxt": 0
},
"kind": "number"
}
}
}
},
{
"type": "ExportDeclaration",
"span": {
"start": 24576,
"end": 25294,
"ctxt": 0
},
"declaration": {
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 24592,
"end": 24599,
"ctxt": 0
},
"value": "walkAST",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 24600,
"end": 24619,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 24600,
"end": 24619,
"ctxt": 0
},
"value": "ast",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 24603,
"end": 24619,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 24605,
"end": 24619,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 24605,
"end": 24615,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 24616,
"end": 24619,
"ctxt": 0
},
"value": "AST",
"optional": false
}
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 24621,
"end": 24685,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 24621,
"end": 24685,
"ctxt": 0
},
"value": "callback",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 24629,
"end": 24685,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 24631,
"end": 24685,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 24632,
"end": 24645,
"ctxt": 0
},
"value": "path",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 24636,
"end": 24645,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 24638,
"end": 24645,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 24638,
"end": 24645,
"ctxt": 0
},
"value": "AstPath",
"optional": false
},
"typeParams": null
}
}
},
{
"type": "Identifier",
"span": {
"start": 24647,
"end": 24676,
"ctxt": 0
},
"value": "walker",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 24653,
"end": 24676,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 24655,
"end": 24676,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 24655,
"end": 24665,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 24666,
"end": 24676,
"ctxt": 0
},
"value": "IAstWalker",
"optional": false
}
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 24678,
"end": 24685,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 24681,
"end": 24685,
"ctxt": 0
},
"kind": "void"
}
}
}
}
}
}
],
"decorators": [],
"span": {
"start": 24583,
"end": 25294,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 24694,
"end": 25294,
"ctxt": 0
},
"stmts": [
{
"type": "VariableDeclaration",
"span": {
"start": 24704,
"end": 24956,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 24708,
"end": 24956,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 24708,
"end": 24711,
"ctxt": 0
},
"value": "pre",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "FunctionExpression",
"identifier": null,
"params": [
{
"type": "Parameter",
"span": {
"start": 24724,
"end": 24743,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 24724,
"end": 24743,
"ctxt": 0
},
"value": "cur",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 24727,
"end": 24743,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 24729,
"end": 24743,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 24729,
"end": 24739,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 24740,
"end": 24743,
"ctxt": 0
},
"value": "AST",
"optional": false
}
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 24745,
"end": 24767,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 24745,
"end": 24767,
"ctxt": 0
},
"value": "parent",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 24751,
"end": 24767,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 24753,
"end": 24767,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 24753,
"end": 24763,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 24764,
"end": 24767,
"ctxt": 0
},
"value": "AST",
"optional": false
}
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 24769,
"end": 24798,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 24769,
"end": 24798,
"ctxt": 0
},
"value": "walker",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 24775,
"end": 24798,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 24777,
"end": 24798,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 24777,
"end": 24787,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 24788,
"end": 24798,
"ctxt": 0
},
"value": "IAstWalker",
"optional": false
}
},
"typeParams": null
}
}
}
}
],
"decorators": [],
"span": {
"start": 24714,
"end": 24956,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 24800,
"end": 24956,
"ctxt": 0
},
"stmts": [
{
"type": "VariableDeclaration",
"span": {
"start": 24814,
"end": 24858,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 24818,
"end": 24857,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 24818,
"end": 24822,
"ctxt": 0
},
"value": "path",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 24822,
"end": 24842,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 24824,
"end": 24842,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 24824,
"end": 24834,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 24835,
"end": 24842,
"ctxt": 0
},
"value": "AstPath",
"optional": false
}
},
"typeParams": null
}
}
},
"init": {
"type": "MemberExpression",
"span": {
"start": 24845,
"end": 24857,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 24845,
"end": 24851,
"ctxt": 0
},
"value": "walker",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 24852,
"end": 24857,
"ctxt": 0
},
"value": "state",
"optional": false
}
},
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 24871,
"end": 24886,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 24871,
"end": 24885,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 24871,
"end": 24880,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 24871,
"end": 24875,
"ctxt": 0
},
"value": "path",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 24876,
"end": 24880,
"ctxt": 0
},
"value": "push",
"optional": false
}
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 24881,
"end": 24884,
"ctxt": 0
},
"value": "cur",
"optional": false
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 24899,
"end": 24922,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 24899,
"end": 24921,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 24899,
"end": 24907,
"ctxt": 0
},
"value": "callback",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 24908,
"end": 24912,
"ctxt": 0
},
"value": "path",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 24914,
"end": 24920,
"ctxt": 0
},
"value": "walker",
"optional": false
}
}
],
"typeArguments": null
}
},
{
"type": "ReturnStatement",
"span": {
"start": 24935,
"end": 24946,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 24942,
"end": 24945,
"ctxt": 0
},
"value": "cur",
"optional": false
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 24965,
"end": 25178,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 24969,
"end": 25178,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 24969,
"end": 24973,
"ctxt": 0
},
"value": "post",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "FunctionExpression",
"identifier": null,
"params": [
{
"type": "Parameter",
"span": {
"start": 24986,
"end": 25005,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 24986,
"end": 25005,
"ctxt": 0
},
"value": "cur",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 24989,
"end": 25005,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 24991,
"end": 25005,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 24991,
"end": 25001,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 25002,
"end": 25005,
"ctxt": 0
},
"value": "AST",
"optional": false
}
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 25007,
"end": 25029,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 25007,
"end": 25029,
"ctxt": 0
},
"value": "parent",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 25013,
"end": 25029,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 25015,
"end": 25029,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 25015,
"end": 25025,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 25026,
"end": 25029,
"ctxt": 0
},
"value": "AST",
"optional": false
}
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 25031,
"end": 25060,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 25031,
"end": 25060,
"ctxt": 0
},
"value": "walker",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 25037,
"end": 25060,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 25039,
"end": 25060,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 25039,
"end": 25049,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 25050,
"end": 25060,
"ctxt": 0
},
"value": "IAstWalker",
"optional": false
}
},
"typeParams": null
}
}
}
}
],
"decorators": [],
"span": {
"start": 24976,
"end": 25178,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 25062,
"end": 25178,
"ctxt": 0
},
"stmts": [
{
"type": "VariableDeclaration",
"span": {
"start": 25076,
"end": 25120,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 25080,
"end": 25119,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 25080,
"end": 25084,
"ctxt": 0
},
"value": "path",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 25084,
"end": 25104,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 25086,
"end": 25104,
"ctxt": 0
},
"typeName": {
"type": "TsQualifiedName",
"left": {
"type": "Identifier",
"span": {
"start": 25086,
"end": 25096,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 25097,
"end": 25104,
"ctxt": 0
},
"value": "AstPath",
"optional": false
}
},
"typeParams": null
}
}
},
"init": {
"type": "MemberExpression",
"span": {
"start": 25107,
"end": 25119,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 25107,
"end": 25113,
"ctxt": 0
},
"value": "walker",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 25114,
"end": 25119,
"ctxt": 0
},
"value": "state",
"optional": false
}
},
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 25133,
"end": 25144,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 25133,
"end": 25143,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 25133,
"end": 25141,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 25133,
"end": 25137,
"ctxt": 0
},
"value": "path",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 25138,
"end": 25141,
"ctxt": 0
},
"value": "pop",
"optional": false
}
},
"arguments": [],
"typeArguments": null
}
},
{
"type": "ReturnStatement",
"span": {
"start": 25157,
"end": 25168,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 25164,
"end": 25167,
"ctxt": 0
},
"value": "cur",
"optional": false
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 25188,
"end": 25213,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 25192,
"end": 25212,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 25192,
"end": 25196,
"ctxt": 0
},
"value": "path",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "NewExpression",
"span": {
"start": 25199,
"end": 25212,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 25203,
"end": 25210,
"ctxt": 0
},
"value": "AstPath",
"optional": false
},
"arguments": [],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 25222,
"end": 25288,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 25222,
"end": 25287,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 25222,
"end": 25259,
"ctxt": 0
},
"object": {
"type": "CallExpression",
"span": {
"start": 25222,
"end": 25254,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 25222,
"end": 25252,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 25222,
"end": 25232,
"ctxt": 0
},
"value": "TypeScript",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 25233,
"end": 25252,
"ctxt": 0
},
"value": "getAstWalkerFactory",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"property": {
"type": "Identifier",
"span": {
"start": 25255,
"end": 25259,
"ctxt": 0
},
"value": "walk",
"optional": false
}
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 25260,
"end": 25263,
"ctxt": 0
},
"value": "ast",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 25265,
"end": 25268,
"ctxt": 0
},
"value": "pre",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 25270,
"end": 25274,
"ctxt": 0
},
"value": "post",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "NullLiteral",
"span": {
"start": 25276,
"end": 25280,
"ctxt": 0
}
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 25282,
"end": 25286,
"ctxt": 0
},
"value": "path",
"optional": false
}
}
],
"typeArguments": null
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 24687,
"end": 24693,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 24689,
"end": 24693,
"ctxt": 0
},
"kind": "void"
}
}
}
}
]
}
}
],
"interpreter": null
}