{
  "programs": [
    "Program {\n    span: 212..20476,\n    kind: Module,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 694..730,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 725..767,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 762..794,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 787..820,\n        expr: _,\n    },\n)",
    "ModuleDecl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 896..951,\n        expr: _,\n    },\n)",
    "ModuleDecl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 1083..1102,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1069..1115,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 1130..1149,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1116..1155,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 1021..1155,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "ModuleDecl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 1217..1253,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "ModuleDecl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1478..1490,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1485..1494,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1507..1536,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1493..1552,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1546..1559,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 1684..1728,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1666..1745,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 1764..1791,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1746..1801,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 1649..1801,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1806..1819,\n        expr: _,\n    },\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 2011..2045,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 2197..2251,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 2183..2264,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 2144..2264,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 2375..2392,\n        arg: None,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 2361..2413,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 2351..2413,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2402..2539,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2536..2582,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2575..2629,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2622..2692,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2684..2749,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2741..2795,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2787..2861,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2846..2911,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2908..2949,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2977..3106,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 2963..3112,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 2947..3112,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 3221..3258,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 3409..3462,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 3395..3475,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 3357..3475,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 3581..3612,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3596..3679,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3671..3746,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3738..3796,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3788..3861,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3852..3910,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3901..3954,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 4006..4037,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4021..4110,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4098..4159,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4151..4229,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4221..4300,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4285..4376,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4364..4413,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 3522..4426,\n        stmts: [\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4441..4487,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 4427..4493,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 3507..4493,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 4610..4647,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 4806..4867,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 4792..4880,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 4746..4880,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 4915..4946,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4930..5017,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 5004..5061,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 5053..5128,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 5120..5174,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 5166..5240,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 5225..5300,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 5287..5333,\n        expr: _,\n    },\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 5440..5470,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 5891..5935,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 5927..5985,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 5977..6023,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 6015..6064,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 6056..6094,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 6249..6320,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 6312..6354,\n        expr: _,\n    },\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 6465..6491,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 6602..6645,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 6588..6658,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 6569..6658,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 7710..7768,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 7688..7789,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 7877..7933,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 7790..7947,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 7650..7947,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 7632..7964,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 7965..8508,\n        stmts: [],\n    },\n)",
    "If(\n    IfStmt {\n        span: 7532..8508,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 8504..8511,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 8577..8653,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 8555..8674,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 8750..8806,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 8675..8820,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 8509..8820,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 7461..8842,\n        stmts: [\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 7335..8842,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 8833..8871,\n        expr: _,\n    },\n)",
    "ModuleDecl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 8880..8887,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 9058..9115,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 8944..9127,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 8885..9127,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 9324..9385,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 9306..9402,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 9247..9402,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Block(\n    BlockStmt {\n        span: 10013..10179,\n        stmts: [],\n    },\n)",
    "If(\n    IfStmt {\n        span: 9943..10179,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 10170..10247,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 10239..10324,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 9627..10341,\n        stmts: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 10342..10773,\n        stmts: [],\n    },\n)",
    "If(\n    IfStmt {\n        span: 9613..10773,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 10769..10775,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 10796..10851,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 10774..10865,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 9233..11157,\n        stmts: [\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 9125..11157,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 11276..11346,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 11254..11367,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 11478..11548,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 11368..11562,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 11240..11562,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 11222..11583,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 11155..11583,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 11576..11836,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 12144..12331,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 12126..12353,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 11834..12353,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 12345..12426,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 12425..12498,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 12546..12597,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 12532..12792,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 12496..12792,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 12784..12880,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 12917..12934,\n        arg: None,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 12903..12947,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 12878..12947,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 13724..13806,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 14118..14182,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 14104..14819,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 14045..14819,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 14811..14852,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 15028..15081,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 15075..15130,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 15125..15177,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 15170..15217,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 15010..15238,\n        stmts: [\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 14981..15238,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 15230..15295,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 15290..15444,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 15454..15496,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 15594..15754,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 15747..15907,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 15576..15922,\n        stmts: [\n            _,\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 15494..15922,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 16148..16314,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 16049..16328,\n        stmts: [\n            _,\n            _,\n        ],\n    },\n)",
    "For(\n    ForStmt {\n        span: 16019..16328,\n        head: Classic(\n            ForClassicHead {\n                init: Some(\n                    Decl(\n                        _,\n                    ),\n                ),\n                test: Some(\n                    _,\n                ),\n                update: Some(\n                    _,\n                ),\n            },\n        ),\n        body: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 15946..16348,\n        stmts: [\n            _,\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 15920..16348,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 16341..16502,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 14879..16514,\n        stmts: [\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 14850..16514,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 16749..16818,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 16593..16824,\n        stmts: [\n            _,\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 16512..16824,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 16823..16836,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 16934..16955,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 17381..17449,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 17434..17565,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 16975..17571,\n        stmts: [\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 16953..17571,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 17829..17862,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 17858..17919,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 17799..17936,\n        stmts: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 18003..18053,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 17985..18070,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 18136..18185,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 18118..18202,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 18272..18325,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 18254..18342,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 18396..18444,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 18378..18461,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 18519..18571,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 18501..18588,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 18643..18692,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 18625..18709,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 18766..18791,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 18748..18801,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 18710..18801,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "If(\n    IfStmt {\n        span: 18589..18801,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "If(\n    IfStmt {\n        span: 18462..18801,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "If(\n    IfStmt {\n        span: 18343..18801,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "If(\n    IfStmt {\n        span: 18203..18801,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "If(\n    IfStmt {\n        span: 18071..18801,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "If(\n    IfStmt {\n        span: 17937..18801,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "If(\n    IfStmt {\n        span: 17764..18801,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 17750..18816,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 17741..18816,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 18810..18856,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 18850..18867,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 19145..19199,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 19185..19234,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 19227..19273,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 19331..19445,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 19309..19459,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 19271..19459,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 19108..19476,\n        stmts: [\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 19542..19580,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 19524..19597,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 19667..19705,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 19649..19722,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 19776..19814,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 19758..19831,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 19905..19937,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 20064..20106,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 20042..20120,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 19935..20120,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 19871..20137,\n        stmts: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 20210..20239,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 20281..20323,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 20259..20337,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 20237..20337,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 20174..20354,\n        stmts: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 20373..20398,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 20355..20408,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 20138..20408,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "If(\n    IfStmt {\n        span: 19832..20408,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "If(\n    IfStmt {\n        span: 19723..20408,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "If(\n    IfStmt {\n        span: 19598..20408,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "If(\n    IfStmt {\n        span: 19477..20408,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "If(\n    IfStmt {\n        span: 19060..20408,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 19046..20423,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 19037..20423,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 20417..20463,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 20457..20474,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "ModuleDecl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 20475..20476,\n        expr: _,\n    },\n)"
  ],
  "decls": [
    "Class(\n    ClassDecl {\n        span: 244..463,\n        ident: Ident {\n            span: 250..268,\n            sym: \"AssignScopeContext\",\n        },\n        declare: false,\n        class: _,\n    },\n)",
    "Var(\n    VarDecl {\n        span: 625..699,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 625..685,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 464..832,\n        ident: Ident {\n            span: 473..488,\n            sym: \"pushAssignScope\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 833..963,\n        ident: Ident {\n            span: 842..856,\n            sym: \"popAssignScope\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 964..1167,\n        ident: Ident {\n            span: 973..988,\n            sym: \"instanceCompare\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1168..1265,\n        ident: Ident {\n            span: 1177..1195,\n            sym: \"instanceFilterStop\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 212..1807,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 219..229,\n                sym: \"TypeScript\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                    _,\n                    _,\n                    _,\n                    _,\n                    _,\n                    _,\n                    _,\n                    _,\n                    _,\n                ],\n            ),\n        ),\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1820..1912,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1820..1900,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1993..2028,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1993..2028,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2042..2095,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2042..2083,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2092..2146,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2092..2134,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2261..2353,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2261..2286,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1913..3124,\n        ident: Ident {\n            span: 1922..1943,\n            sym: \"preAssignModuleScopes\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3204..3241,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3204..3241,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3255..3308,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3255..3296,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3305..3359,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3305..3347,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3472..3509,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3472..3497,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3536..3592,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3536..3568,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3951..4017,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3951..3993,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 3125..4505,\n        ident: Ident {\n            span: 3134..3154,\n            sym: \"preAssignClassScopes\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 4589..4630,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 4589..4630,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 4644..4697,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 4644..4685,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 4694..4748,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 4694..4736,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 4877..4926,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 4877..4906,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 4506..5345,\n        ident: Ident {\n            span: 4515..4539,\n            sym: \"preAssignInterfaceScopes\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 5424..5453,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 5424..5453,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 5467..5509,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 5467..5496,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 5506..5621,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 5506..5609,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 5618..5741,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 5618..5728,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 5738..5776,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 5738..5764,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 5773..5899,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 5773..5882,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 6091..6264,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 6091..6239,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 5346..6366,\n        ident: Ident {\n            span: 5355..5374,\n            sym: \"preAssignWithScopes\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 6449..6473,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 6449..6473,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 6488..6529,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 6488..6517,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 6526..6571,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 6526..6560,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 6655..6726,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 6655..6714,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 6723..6901,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 6723..6786,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 6898..7337,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 6898..6999,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 7475..7534,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 7475..7518,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 6367..8884,\n        ident: Ident {\n            span: 6376..6399,\n            sym: \"preAssignFuncDeclScopes\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 9399..9436,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 9399..9420,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 9433..9497,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 9433..9481,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 9494..9573,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 9494..9557,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 9570..9615,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 9570..9599,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 12944..12994,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 12944..12982,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 12991..13098,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 12991..13086,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 13095..13152,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 13095..13140,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 13149..13270,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 13149..13258,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 13267..13323,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 13267..13311,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 13320..13439,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 13320..13427,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 13436..13499,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 13436..13487,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 13496..13732,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 13496..13617,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 13803..13925,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 13803..13913,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 13922..14047,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 13922..14035,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 14893..14935,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 14893..14919,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 14932..14983,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 14932..14967,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 15441..15464,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 15441..15464,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 15964..16022,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 15964..16002,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 16024..16034,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 16024..16034,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 16071..16155,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 16071..16127,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 16607..16764,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 16607..16736,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 16916..16939,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 16916..16939,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 16989..17187,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 16989..17095,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 17184..17391,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 17184..17368,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 16837..17583,\n        ident: Ident {\n            span: 16846..16866,\n            sym: \"preAssignCatchScopes\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 17662..17720,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 17662..17708,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 17717..17743,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 17717..17731,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 17817..17836,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 17817..17836,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 17584..18879,\n        ident: Ident {\n            span: 17593..17608,\n            sym: \"preAssignScopes\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 18959..19017,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 18959..19005,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 19014..19039,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 19014..19028,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 19126..19162,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 19126..19162,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 19889..19913,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 19889..19913,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 20192..20215,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 20192..20215,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 18880..20476,\n        ident: Ident {\n            span: 18889..18905,\n            sym: \"postAssignScopes\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 299..309,\n        sym: \"scopeChain\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 351..359,\n        sym: \"typeFlow\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 399..411,\n        sym: \"modDeclChain\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 489..494,\n        sym: \"scope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 517..524,\n        sym: \"context\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 554..558,\n        sym: \"type\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 574..583,\n        sym: \"classType\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 599..602,\n        sym: \"fnc\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 629..634,\n        sym: \"chain\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 635..685,\n        left: _,\n        right: _,\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 857..864,\n        sym: \"context\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 989..990,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1000..1001,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1196..1197,\n        sym: \"s\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 1824..1838,\n        sym: \"instanceFilter\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1839..1900,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1944..1947,\n        sym: \"ast\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1954..1961,\n        sym: \"context\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1997..2007,\n        sym: \"moduleDecl\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 2008..2028,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2046..2057,\n        sym: \"memberScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2096..2104,\n        sym: \"aggScope\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 2265..2268,\n        sym: \"mod\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 2269..2286,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2402..2413,\n        sym: \"memberScope\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 2684..2692,\n        sym: \"aggScope\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 3155..3158,\n        sym: \"ast\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3165..3172,\n        sym: \"context\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3208..3217,\n        sym: \"classDecl\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 3218..3241,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3259..3270,\n        sym: \"memberScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3309..3317,\n        sym: \"aggScope\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 3476..3485,\n        sym: \"classType\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 3486..3497,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3540..3548,\n        sym: \"classSym\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 3549..3568,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3581..3592,\n        sym: \"memberScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3671..3679,\n        sym: \"aggScope\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 3955..3967,\n        sym: \"instanceType\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 3968..3993,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4006..4017,\n        sym: \"memberScope\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 4151..4159,\n        sym: \"aggScope\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 4540..4543,\n        sym: \"ast\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4550..4557,\n        sym: \"context\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4593..4606,\n        sym: \"interfaceDecl\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 4607..4630,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4648..4659,\n        sym: \"memberScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4698..4706,\n        sym: \"aggScope\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 4881..4894,\n        sym: \"interfaceType\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 4895..4906,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4915..4926,\n        sym: \"memberScope\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 5053..5061,\n        sym: \"aggScope\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 5375..5378,\n        sym: \"ast\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5385..5392,\n        sym: \"context\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5428..5436,\n        sym: \"withStmt\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 5437..5453,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5471..5479,\n        sym: \"withType\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 5480..5496,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5510..5517,\n        sym: \"members\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 5518..5609,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5622..5636,\n        sym: \"ambientMembers\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 5637..5728,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5742..5750,\n        sym: \"withType\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 5751..5764,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5777..5787,\n        sym: \"withSymbol\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 5788..5882,\n        left: _,\n        right: _,\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 6095..6104,\n        sym: \"withScope\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 6105..6239,\n        left: _,\n        right: _,\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 6400..6403,\n        sym: \"ast\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 6410..6417,\n        sym: \"context\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 6453..6461,\n        sym: \"funcDecl\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 6462..6473,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 6492..6501,\n        sym: \"container\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 6530..6544,\n        sym: \"localContainer\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 6602..6616,\n        sym: \"localContainer\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 6659..6667,\n        sym: \"isStatic\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 6668..6714,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 6727..6740,\n        sym: \"isInnerStatic\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 6741..6786,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 6902..6913,\n        sym: \"parentScope\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 6914..6999,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 7479..7487,\n        sym: \"instType\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 7488..7518,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 7710..7721,\n        sym: \"parentScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 7877..7888,\n        sym: \"parentScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 8577..8588,\n        sym: \"parentScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 8750..8761,\n        sym: \"parentScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 8833..8842,\n        sym: \"container\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 9058..9067,\n        sym: \"container\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 9324..9333,\n        sym: \"container\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 9403..9412,\n        sym: \"funcScope\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 9413..9420,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 9437..9445,\n        sym: \"outerFnc\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 9498..9506,\n        sym: \"nameText\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 9507..9557,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 9574..9579,\n        sym: \"fgSym\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 10170..10179,\n        sym: \"funcScope\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 10796..10805,\n        sym: \"funcScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 11276..11281,\n        sym: \"fgSym\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 11478..11483,\n        sym: \"fgSym\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 12948..12957,\n        sym: \"funcTable\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 12958..12982,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 12995..13006,\n        sym: \"funcMembers\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 13007..13086,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 13099..13115,\n        sym: \"ambientFuncTable\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 13116..13140,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 13153..13171,\n        sym: \"ambientFuncMembers\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 13172..13258,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 13271..13286,\n        sym: \"funcStaticTable\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 13287..13311,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 13324..13341,\n        sym: \"funcStaticMembers\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 13342..13427,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 13440..13462,\n        sym: \"ambientFuncStaticTable\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 13463..13487,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 13500..13524,\n        sym: \"ambientFuncStaticMembers\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 13525..13617,\n        left: _,\n        right: _,\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 13807..13813,\n        sym: \"locals\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 13814..13913,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 13926..13933,\n        sym: \"statics\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 13934..14035,\n        left: _,\n        right: _,\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 14897..14902,\n        sym: \"group\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 14903..14919,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 14936..14945,\n        sym: \"signature\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 14946..14967,\n        left: _,\n        right: _,\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 15445..15450,\n        sym: \"fgSym\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 15451..15464,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 15968..15971,\n        sym: \"len\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 15972..16002,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 16028..16029,\n        sym: \"i\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 16030..16034,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 16075..16083,\n        sym: \"paramSym\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 16611..16619,\n        sym: \"thisType\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 16620..16736,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 16867..16870,\n        sym: \"ast\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 16877..16884,\n        sym: \"context\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 16920..16930,\n        sym: \"catchBlock\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 16931..16939,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 16993..17003,\n        sym: \"catchTable\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 17004..17095,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 17188..17199,\n        sym: \"catchLocals\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 17200..17368,\n        left: _,\n        right: _,\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 17609..17612,\n        sym: \"ast\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 17619..17625,\n        sym: \"parent\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 17632..17638,\n        sym: \"walker\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 17666..17673,\n        sym: \"context\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 17721..17723,\n        sym: \"go\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 17724..17731,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 17821..17825,\n        sym: \"list\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 17826..17836,\n        left: _,\n        right: _,\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 18766..18768,\n        sym: \"go\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 18906..18909,\n        sym: \"ast\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 18916..18922,\n        sym: \"parent\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 18929..18935,\n        sym: \"walker\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 18963..18970,\n        sym: \"context\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 19018..19020,\n        sym: \"go\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 19021..19028,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 19130..19141,\n        sym: \"prevModDecl\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 19142..19162,\n        left: _,\n        right: _,\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 19893..19901,\n        sym: \"funcDecl\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 19902..19913,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 20196..20206,\n        sym: \"catchBlock\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 20207..20215,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 20373..20375,\n        sym: \"go\",\n    },\n)",
    "Expr(\n    _,\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 641..651,\n        sym: \"ScopeChain\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 652..656,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 658..665,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 665..677,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 666..676,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 678..683,\n        sym: \"scope\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 651..685,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 637..685,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 694..699,\n        sym: \"chain\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 699..710,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 700..708,\n                sym: \"thisType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 711..715,\n        sym: \"type\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 709..716,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 725..730,\n        sym: \"chain\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 730..742,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 731..740,\n                sym: \"classType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 743..752,\n        sym: \"classType\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 741..753,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 762..767,\n        sym: \"chain\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 767..773,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 768..771,\n                sym: \"fnc\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 774..777,\n        sym: \"fnc\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 772..778,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 787..794,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 794..807,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 795..805,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 808..813,\n        sym: \"chain\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 806..814,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 896..903,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 903..916,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 904..914,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 917..924,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 924..936,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 925..935,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 935..945,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 936..944,\n                sym: \"previous\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 915..945,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1027..1028,\n        sym: \"a\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 1032..1036,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 1029..1037,\n        op: EqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 1026..1040,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1043..1044,\n        sym: \"a\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1044..1064,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1045..1063,\n                sym: \"isInstanceProperty\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1063..1066,\n        callee: _,\n        args: [],\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 1042..1066,\n        op: Bang,\n        arg: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 1041..1067,\n        expr: _,\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 1038..1067,\n        op: LogicalOr,\n        left: _,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 1025..1068,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1090..1091,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1137..1138,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1224..1225,\n        sym: \"s\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1225..1245,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1226..1244,\n                sym: \"isInstanceProperty\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1244..1247,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1478..1484,\n        sym: \"public\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1485..1490,\n        sym: \"reset\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1490..1494,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1507..1511,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1511..1520,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1512..1518,\n                sym: \"result\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 1521..1525,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 1519..1526,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1546..1552,\n        sym: \"public\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1653..1657,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1657..1665,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1658..1664,\n                sym: \"result\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 1691..1695,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1695..1701,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1696..1700,\n                sym: \"stop\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 1701..1705,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1705..1713,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1706..1712,\n                sym: \"result\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1700..1714,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 1771..1776,\n            value: false,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1845..1862,\n        sym: \"ScopeSearchFilter\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1863..1878,\n        sym: \"instanceCompare\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1880..1898,\n        sym: \"instanceFilterStop\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1862..1900,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1841..1900,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 2011..2028,\n        sym: \"ModuleDeclaration\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2029..2032,\n        sym: \"ast\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 2028..2033,\n        op: Gt,\n        left: _,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 2078..2082,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 2129..2133,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 2148..2158,\n        sym: \"moduleDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2158..2166,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2159..2163,\n                sym: \"name\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2167..2177,\n        sym: \"moduleDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2177..2182,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2178..2181,\n                sym: \"mod\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 2164..2182,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2197..2207,\n        sym: \"moduleDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2207..2213,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2208..2212,\n                sym: \"name\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2212..2218,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2213..2216,\n                sym: \"sym\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2219..2229,\n        sym: \"moduleDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2229..2234,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2230..2233,\n                sym: \"mod\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2233..2241,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2234..2240,\n                sym: \"symbol\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2217..2241,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2271..2281,\n        sym: \"moduleDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2281..2286,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2282..2285,\n                sym: \"mod\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2356..2359,\n        sym: \"mod\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 2355..2360,\n        op: Bang,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2420..2436,\n        sym: \"SymbolTableScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2437..2440,\n        sym: \"mod\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2440..2449,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2441..2448,\n                sym: \"members\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2450..2453,\n        sym: \"mod\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2453..2469,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2454..2468,\n                sym: \"ambientMembers\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2470..2473,\n        sym: \"mod\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2473..2488,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2474..2487,\n                sym: \"enclosedTypes\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2489..2492,\n        sym: \"mod\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2492..2514,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2493..2513,\n                sym: \"ambientEnclosedTypes\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2515..2518,\n        sym: \"mod\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2518..2526,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2519..2525,\n                sym: \"symbol\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2436..2527,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 2416..2527,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2414..2527,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2536..2539,\n        sym: \"mod\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2539..2553,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2540..2551,\n                sym: \"memberScope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2554..2565,\n        sym: \"memberScope\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2552..2566,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2575..2582,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2582..2596,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2583..2595,\n                sym: \"modDeclChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2595..2601,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2596..2600,\n                sym: \"push\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2601..2611,\n        sym: \"moduleDecl\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2600..2613,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2622..2629,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2629..2639,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2630..2638,\n                sym: \"typeFlow\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2638..2647,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2639..2646,\n                sym: \"checker\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2646..2663,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2647..2661,\n                sym: \"currentModDecl\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2664..2674,\n        sym: \"moduleDecl\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2662..2675,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2699..2719,\n        sym: \"SymbolAggregateScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2720..2723,\n        sym: \"mod\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2723..2731,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2724..2730,\n                sym: \"symbol\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2719..2732,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 2695..2732,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2693..2732,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2741..2749,\n        sym: \"aggScope\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2749..2765,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2750..2764,\n                sym: \"addParentScope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2765..2776,\n        sym: \"memberScope\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2764..2778,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2787..2795,\n        sym: \"aggScope\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2795..2811,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2796..2810,\n                sym: \"addParentScope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2811..2818,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2818..2830,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2819..2829,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2829..2836,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2830..2835,\n                sym: \"scope\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2810..2837,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2846..2861,\n        sym: \"pushAssignScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2862..2870,\n        sym: \"aggScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2872..2879,\n        sym: \"context\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 2881..2885,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 2887..2891,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 2893..2897,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 2861..2899,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2908..2911,\n        sym: \"mod\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2911..2928,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2912..2926,\n                sym: \"containedScope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2929..2937,\n        sym: \"aggScope\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2927..2938,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2951..2954,\n        sym: \"mod\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2954..2962,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2955..2961,\n                sym: \"symbol\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2977..2984,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2984..2994,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2985..2993,\n                sym: \"typeFlow\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2993..3013,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2994..3012,\n                sym: \"addLocalsFromScope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3013..3016,\n        sym: \"mod\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3016..3032,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3017..3031,\n                sym: \"containedScope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3033..3036,\n        sym: \"mod\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3036..3044,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3037..3043,\n                sym: \"symbol\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3045..3055,\n        sym: \"moduleDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3055..3061,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3056..3060,\n                sym: \"vars\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3062..3065,\n        sym: \"mod\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3065..3074,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3066..3073,\n                sym: \"members\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3073..3089,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3074..3088,\n                sym: \"privateMembers\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 3090..3094,\n            value: true,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 3012..3096,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 3221..3241,\n        sym: \"InterfaceDeclaration\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3242..3245,\n        sym: \"ast\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 3241..3246,\n        op: Gt,\n        left: _,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 3291..3295,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 3342..3346,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 3361..3370,\n        sym: \"classDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3370..3378,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3371..3375,\n                sym: \"name\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3379..3388,\n        sym: \"classDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3388..3394,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3389..3393,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 3376..3394,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3409..3418,\n        sym: \"classDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3418..3424,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3419..3423,\n                sym: \"name\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3423..3429,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3424..3427,\n                sym: \"sym\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3430..3439,\n        sym: \"classDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3439..3445,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3440..3444,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3444..3452,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3445..3451,\n                sym: \"symbol\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3428..3452,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3488..3491,\n        sym: \"ast\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3491..3497,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3492..3496,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3511..3520,\n        sym: \"classType\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3551..3560,\n        sym: \"classType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3560..3568,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3561..3567,\n                sym: \"symbol\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 3593..3612,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3596..3612,\n        sym: \"SymbolTableScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3613..3620,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3620..3630,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3621..3629,\n                sym: \"typeFlow\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3629..3638,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3630..3637,\n                sym: \"checker\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3637..3646,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3638..3645,\n                sym: \"scopeOf\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3646..3655,\n        sym: \"classType\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 3645..3657,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 3612..3657,\n        op: Gt,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3686..3706,\n        sym: \"SymbolAggregateScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3707..3716,\n        sym: \"classType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3716..3724,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3717..3723,\n                sym: \"symbol\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 3706..3725,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 3682..3725,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3680..3725,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3738..3746,\n        sym: \"aggScope\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3746..3762,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3747..3761,\n                sym: \"addParentScope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3762..3773,\n        sym: \"memberScope\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 3761..3775,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 3788..3796,\n        sym: \"aggScope\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3796..3812,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3797..3811,\n                sym: \"addParentScope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3812..3819,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3819..3831,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3820..3830,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3830..3837,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3831..3836,\n                sym: \"scope\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 3811..3838,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 3852..3861,\n        sym: \"classType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3861..3878,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3862..3876,\n                sym: \"containedScope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3879..3887,\n        sym: \"aggScope\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3877..3888,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3901..3910,\n        sym: \"classType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3910..3924,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3911..3922,\n                sym: \"memberScope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3925..3936,\n        sym: \"memberScope\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3923..3937,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3970..3979,\n        sym: \"classType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3979..3993,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3980..3992,\n                sym: \"instanceType\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 4018..4037,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4021..4037,\n        sym: \"SymbolTableScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4038..4045,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4045..4055,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4046..4054,\n                sym: \"typeFlow\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4054..4063,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4055..4062,\n                sym: \"checker\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4062..4071,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4063..4070,\n                sym: \"scopeOf\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 4071..4083,\n        sym: \"instanceType\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 4070..4085,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 4037..4085,\n        op: Gt,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4098..4110,\n        sym: \"instanceType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4110..4124,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4111..4122,\n                sym: \"memberScope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 4125..4136,\n        sym: \"memberScope\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 4123..4137,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4166..4186,\n        sym: \"SymbolAggregateScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4187..4199,\n        sym: \"instanceType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4199..4207,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4200..4206,\n                sym: \"symbol\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 4186..4208,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 4162..4208,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 4160..4208,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4221..4229,\n        sym: \"aggScope\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4229..4245,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4230..4244,\n                sym: \"addParentScope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 4245..4252,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4252..4264,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4253..4263,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4263..4270,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4264..4269,\n                sym: \"scope\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 4244..4271,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 4285..4300,\n        sym: \"pushAssignScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4301..4309,\n        sym: \"aggScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4311..4318,\n        sym: \"context\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4320..4332,\n        sym: \"instanceType\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4334..4343,\n        sym: \"classType\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 4345..4349,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 4300..4351,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 4364..4376,\n        sym: \"instanceType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4376..4393,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4377..4391,\n                sym: \"containedScope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 4394..4402,\n        sym: \"aggScope\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 4392..4403,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4441..4444,\n        sym: \"ast\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4444..4451,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4445..4449,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 4452..4459,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4459..4469,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4460..4468,\n                sym: \"typeFlow\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4468..4477,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4469..4476,\n                sym: \"anyType\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 4450..4477,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 4610..4630,\n        sym: \"InterfaceDeclaration\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4631..4634,\n        sym: \"ast\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 4630..4635,\n        op: Gt,\n        left: _,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 4680..4684,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 4731..4735,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 4750..4763,\n        sym: \"interfaceDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4763..4771,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4764..4768,\n                sym: \"name\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 4772..4785,\n        sym: \"interfaceDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4785..4791,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4786..4790,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 4769..4791,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4806..4819,\n        sym: \"interfaceDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4819..4825,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4820..4824,\n                sym: \"name\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4824..4830,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4825..4828,\n                sym: \"sym\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 4831..4844,\n        sym: \"interfaceDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4844..4850,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4845..4849,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4849..4857,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4850..4856,\n                sym: \"symbol\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 4829..4857,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4897..4900,\n        sym: \"ast\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4900..4906,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4901..4905,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 4927..4946,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4930..4946,\n        sym: \"SymbolTableScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4947..4954,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4954..4964,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4955..4963,\n                sym: \"typeFlow\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4963..4972,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4964..4971,\n                sym: \"checker\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4971..4980,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4972..4979,\n                sym: \"scopeOf\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 4980..4993,\n        sym: \"interfaceType\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 4979..4995,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 4946..4995,\n        op: Gt,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5004..5017,\n        sym: \"interfaceType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5017..5031,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5018..5029,\n                sym: \"memberScope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 5032..5043,\n        sym: \"memberScope\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 5030..5044,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5068..5088,\n        sym: \"SymbolAggregateScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5089..5102,\n        sym: \"interfaceType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5102..5110,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5103..5109,\n                sym: \"symbol\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 5088..5111,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 5064..5111,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 5062..5111,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5120..5128,\n        sym: \"aggScope\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5128..5144,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5129..5143,\n                sym: \"addParentScope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 5144..5155,\n        sym: \"memberScope\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 5143..5157,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 5166..5174,\n        sym: \"aggScope\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5174..5190,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5175..5189,\n                sym: \"addParentScope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 5190..5197,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5197..5209,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5198..5208,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5208..5215,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5209..5214,\n                sym: \"scope\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 5189..5216,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 5225..5240,\n        sym: \"pushAssignScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5241..5249,\n        sym: \"aggScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5251..5258,\n        sym: \"context\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 5260..5264,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 5266..5270,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 5272..5276,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 5240..5278,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 5287..5300,\n        sym: \"interfaceType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5300..5317,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5301..5315,\n                sym: \"containedScope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 5318..5326,\n        sym: \"aggScope\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 5316..5327,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 5440..5453,\n        sym: \"WithStatement\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5454..5457,\n        sym: \"ast\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 5453..5458,\n        op: Gt,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5482..5490,\n        sym: \"withStmt\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5490..5496,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5491..5495,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 5524..5537,\n        sym: \"ScopedMembers\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5542..5561,\n        sym: \"DualStringHashTable\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5566..5581,\n        sym: \"StringHashTable\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 5581..5584,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 5562..5584,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 5589..5604,\n        sym: \"StringHashTable\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 5604..5607,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 5585..5607,\n        callee: _,\n        args: [],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 5561..5608,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 5538..5608,\n        callee: _,\n        args: [],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 5537..5609,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 5520..5609,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 5643..5656,\n        sym: \"ScopedMembers\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5661..5680,\n        sym: \"DualStringHashTable\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5685..5700,\n        sym: \"StringHashTable\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 5700..5703,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 5681..5703,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 5708..5723,\n        sym: \"StringHashTable\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 5723..5726,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 5704..5726,\n        callee: _,\n        args: [],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 5680..5727,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 5657..5727,\n        callee: _,\n        args: [],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 5656..5728,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 5639..5728,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 5757..5761,\n        sym: \"Type\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 5761..5764,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 5753..5764,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 5794..5804,\n        sym: \"WithSymbol\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5805..5813,\n        sym: \"withStmt\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5813..5822,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5814..5821,\n                sym: \"minChar\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 5823..5830,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5830..5840,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5831..5839,\n                sym: \"typeFlow\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5839..5848,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5840..5847,\n                sym: \"checker\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5847..5861,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5848..5860,\n                sym: \"locationInfo\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5860..5871,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5861..5870,\n                sym: \"unitIndex\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 5872..5880,\n        sym: \"withType\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 5804..5882,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 5790..5882,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 5891..5899,\n        sym: \"withType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5899..5909,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5900..5907,\n                sym: \"members\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 5910..5917,\n        sym: \"members\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 5908..5918,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5927..5935,\n        sym: \"withType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5935..5952,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5936..5950,\n                sym: \"ambientMembers\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 5953..5967,\n        sym: \"ambientMembers\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 5951..5968,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5977..5985,\n        sym: \"withType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5985..5994,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5986..5992,\n                sym: \"symbol\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 5995..6005,\n        sym: \"withSymbol\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 5993..6006,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 6015..6023,\n        sym: \"withType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 6023..6045,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 6024..6044,\n                sym: \"setHasImplementation\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 6044..6047,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 6056..6064,\n        sym: \"withStmt\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 6064..6071,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 6065..6069,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 6072..6080,\n        sym: \"withType\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 6070..6081,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 6111..6121,\n        sym: \"TypeScript\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 6121..6141,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 6122..6140,\n                sym: \"SymbolScopeBuilder\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 6141..6149,\n        sym: \"withType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 6149..6158,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 6150..6157,\n                sym: \"members\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 6159..6167,\n        sym: \"withType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 6167..6183,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 6168..6182,\n                sym: \"ambientMembers\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 6184..6188,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 6190..6194,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 6196..6203,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 6203..6215,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 6204..6214,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 6214..6221,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 6215..6220,\n                sym: \"scope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 6222..6230,\n        sym: \"withType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 6230..6238,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 6231..6237,\n                sym: \"symbol\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 6140..6239,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 6107..6239,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 6249..6264,\n        sym: \"pushAssignScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 6265..6274,\n        sym: \"withScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 6276..6283,\n        sym: \"context\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 6285..6289,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 6291..6295,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 6297..6301,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 6264..6303,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 6312..6320,\n        sym: \"withType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 6320..6337,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 6321..6335,\n                sym: \"containedScope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 6338..6347,\n        sym: \"withScope\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 6336..6348,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 6465..6473,\n        sym: \"FuncDecl\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 6474..6477,\n        sym: \"ast\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 6473..6478,\n        op: Gt,\n        left: _,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 6512..6516,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 6555..6559,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 6573..6581,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 6581..6587,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 6582..6586,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 6619..6622,\n        sym: \"ast\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 6622..6628,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 6623..6627,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 6627..6635,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 6628..6634,\n                sym: \"symbol\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 6617..6635,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 6670..6677,\n        sym: \"hasFlag\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 6678..6686,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 6686..6696,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 6687..6695,\n                sym: \"fncFlags\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 6697..6705,\n        sym: \"FncFlags\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 6705..6713,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 6706..6712,\n                sym: \"Static\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 6677..6714,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 6743..6751,\n        sym: \"isStatic\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 6755..6762,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 6762..6774,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 6763..6773,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 6773..6780,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 6774..6777,\n                sym: \"fnc\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 6781..6785,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 6778..6786,\n        op: NotEq,\n        left: _,\n        right: _,\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 6752..6786,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 6916..6929,\n        sym: \"isInnerStatic\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 6932..6939,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 6939..6951,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 6940..6950,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 6950..6955,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 6951..6954,\n                sym: \"fnc\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 6954..6960,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 6955..6959,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 6959..6973,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 6960..6971,\n                sym: \"memberScope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 6974..6981,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 6981..6993,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 6982..6992,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 6992..6999,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 6993..6998,\n                sym: \"scope\",\n            },\n        ),\n    },\n)",
    "Cond(\n    CondExpr {\n        span: 6930..6999,\n        test: _,\n        cons: _,\n        alt: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 7339..7346,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 7346..7358,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 7347..7357,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 7357..7369,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 7358..7366,\n                sym: \"thisType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 7384..7392,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 7392..7409,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 7393..7406,\n                sym: \"isConstructor\",\n            },\n        ),\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 7383..7409,\n        op: Bang,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 7410..7417,\n        sym: \"hasFlag\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 7418..7426,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 7426..7436,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 7427..7435,\n                sym: \"fncFlags\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 7437..7445,\n        sym: \"FncFlags\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 7445..7458,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 7446..7457,\n                sym: \"ClassMethod\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 7417..7459,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 7407..7459,\n        op: LogicalOr,\n        left: _,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 7382..7460,\n        expr: _,\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 7367..7460,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 7490..7497,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 7497..7509,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 7498..7508,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 7508..7518,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 7509..7517,\n                sym: \"thisType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 7538..7546,\n        sym: \"instType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 7546..7558,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 7547..7556,\n                sym: \"typeFlags\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 7559..7568,\n        sym: \"TypeFlags\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 7568..7577,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 7569..7576,\n                sym: \"IsClass\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 7557..7577,\n        op: BitAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 7537..7580,\n        expr: _,\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 7536..7580,\n        op: Bang,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 7582..7589,\n        sym: \"hasFlag\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 7590..7598,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 7598..7608,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 7599..7607,\n                sym: \"fncFlags\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 7609..7617,\n        sym: \"FncFlags\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 7617..7630,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 7618..7629,\n                sym: \"ClassMethod\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 7589..7631,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 7581..7631,\n        op: Bang,\n        arg: _,\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 7578..7631,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 7655..7663,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 7663..7673,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 7664..7672,\n                sym: \"isMethod\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 7672..7677,\n        callee: _,\n        args: [],\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 7654..7677,\n        op: Bang,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 7678..7686,\n        sym: \"isStatic\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 7675..7687,\n        op: LogicalOr,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 7724..7732,\n        sym: \"instType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 7732..7750,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 7733..7749,\n                sym: \"constructorScope\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 7722..7750,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 7891..7899,\n        sym: \"instType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 7899..7915,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 7900..7914,\n                sym: \"containedScope\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 7889..7915,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 8513..8521,\n        sym: \"isStatic\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 8525..8532,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 8532..8544,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 8533..8543,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 8543..8554,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 8544..8553,\n                sym: \"classType\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 8522..8554,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 8591..8598,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 8598..8610,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 8599..8609,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 8609..8620,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 8610..8619,\n                sym: \"classType\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 8619..8635,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 8620..8634,\n                sym: \"containedScope\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 8589..8635,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 8764..8772,\n        sym: \"instType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 8772..8788,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 8773..8787,\n                sym: \"containedScope\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 8762..8788,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 8845..8853,\n        sym: \"instType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 8853..8861,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 8854..8860,\n                sym: \"symbol\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 8843..8861,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 8889..8897,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 8897..8914,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 8898..8911,\n                sym: \"isConstructor\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 8915..8922,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 8922..8934,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 8923..8933,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 8933..8943,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 8934..8942,\n                sym: \"thisType\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 8912..8943,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 9070..9077,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 9077..9089,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 9078..9088,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 9088..9098,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 9089..9097,\n                sym: \"thisType\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 9097..9105,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 9098..9104,\n                sym: \"symbol\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 9068..9105,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 9129..9137,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 9137..9145,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 9138..9142,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 9146..9150,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 9143..9153,\n        op: EqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 9154..9161,\n        sym: \"hasFlag\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 9162..9170,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 9170..9176,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 9171..9175,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 9175..9183,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 9176..9182,\n                sym: \"symbol\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 9182..9189,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 9183..9188,\n                sym: \"flags\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 9190..9201,\n        sym: \"SymbolFlags\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 9201..9231,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 9202..9230,\n                sym: \"TypeSetDuringScopeAssignment\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 9161..9232,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 9151..9232,\n        op: LogicalOr,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 9251..9258,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 9258..9270,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 9259..9269,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 9269..9276,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 9270..9273,\n                sym: \"fnc\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 9277..9284,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 9284..9296,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 9285..9295,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 9295..9300,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 9296..9299,\n                sym: \"fnc\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 9299..9305,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 9300..9304,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 9274..9305,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 9336..9343,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 9343..9355,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 9344..9354,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 9354..9359,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 9355..9358,\n                sym: \"fnc\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 9358..9364,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 9359..9363,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 9363..9371,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 9364..9370,\n                sym: \"symbol\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 9334..9371,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 9415..9419,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 9458..9465,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 9465..9477,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 9466..9476,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 9476..9481,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 9477..9480,\n                sym: \"fnc\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 9509..9517,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 9517..9524,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 9518..9522,\n                sym: \"name\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 9525..9533,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 9533..9539,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 9534..9538,\n                sym: \"name\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 9538..9551,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 9539..9549,\n                sym: \"actualText\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 9552..9556,\n        },\n    ),\n)",
    "Cond(\n    CondExpr {\n        span: 9523..9557,\n        test: _,\n        cons: _,\n        alt: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 9594..9598,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 9617..9625,\n        sym: \"isStatic\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 9947..9955,\n        sym: \"outerFnc\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 9955..9961,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 9956..9960,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 9960..9971,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 9961..9968,\n                sym: \"members\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 9972..9976,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 9969..9979,\n        op: EqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 9980..9989,\n        sym: \"container\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 9989..9998,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 9990..9997,\n                sym: \"getType\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 9997..10000,\n        callee: _,\n        args: [],\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 9999..10012,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 10000..10011,\n                sym: \"memberScope\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 9977..10012,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 10182..10189,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 10189..10201,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 10190..10200,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 10200..10205,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 10201..10204,\n                sym: \"fnc\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 10204..10210,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 10205..10209,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 10209..10222,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 10210..10221,\n                sym: \"memberScope\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 10180..10222,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 10239..10247,\n        sym: \"outerFnc\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 10247..10265,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 10248..10264,\n                sym: \"innerStaticFuncs\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 10265..10273,\n        sym: \"outerFnc\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 10273..10291,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 10274..10290,\n                sym: \"innerStaticFuncs\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 10290..10298,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 10291..10297,\n                sym: \"length\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 10264..10300,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 10301..10309,\n        sym: \"funcDecl\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 10299..10310,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 10808..10815,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 10815..10827,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 10816..10826,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 10826..10833,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 10827..10832,\n                sym: \"scope\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 10806..10833,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 11159..11167,\n        sym: \"nameText\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 11171..11179,\n        sym: \"nameText\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 11183..11194,\n            value: \"__missing\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 11180..11197,\n        op: NotEq,\n        left: _,\n        right: _,\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 11168..11197,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 11199..11207,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 11207..11219,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 11208..11218,\n                sym: \"isAccessor\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 11218..11221,\n        callee: _,\n        args: [],\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 11198..11221,\n        op: Bang,\n        arg: _,\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 11195..11221,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 11244..11252,\n        sym: \"isStatic\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 11284..11293,\n        sym: \"funcScope\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 11293..11304,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 11294..11303,\n                sym: \"findLocal\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 11304..11312,\n        sym: \"nameText\",\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 11314..11319,\n            value: false,\n        },\n    ),\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 11321..11326,\n            value: false,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 11303..11328,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 11282..11328,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 11486..11495,\n        sym: \"funcScope\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 11495..11506,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 11496..11505,\n                sym: \"findLocal\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 11506..11514,\n        sym: \"nameText\",\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 11516..11521,\n            value: false,\n        },\n    ),\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 11523..11528,\n            value: false,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 11505..11530,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 11484..11530,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 11576..11583,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 11583..11593,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 11584..11592,\n                sym: \"typeFlow\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 11592..11601,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 11593..11600,\n                sym: \"checker\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 11600..11625,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 11601..11624,\n                sym: \"createFunctionSignature\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 11625..11633,\n        sym: \"funcDecl\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 11635..11644,\n        sym: \"container\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 11706..11715,\n        sym: \"funcScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 11717..11722,\n        sym: \"fgSym\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 11724..11729,\n        sym: \"fgSym\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 11733..11737,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 11730..11738,\n        op: EqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 11624..11739,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 11839..11847,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 11847..11865,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 11848..11862,\n                sym: \"accessorSymbol\",\n            },\n        ),\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 11838..11865,\n        op: Bang,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 11884..11892,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 11892..11903,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 11893..11901,\n                sym: \"fncFlags\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 11904..11912,\n        sym: \"FncFlags\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 11912..11925,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 11913..11924,\n                sym: \"ClassMethod\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 11902..11925,\n        op: BitAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 11883..11928,\n        expr: _,\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 11863..11928,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 11945..11954,\n        sym: \"container\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 11926..11957,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 11978..11983,\n        sym: \"fgSym\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 11977..11986,\n        op: Bang,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 11987..11992,\n        sym: \"fgSym\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 11992..12001,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 11993..12000,\n                sym: \"declAST\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 12000..12012,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 12001..12009,\n                sym: \"nodeType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 12013..12021,\n        sym: \"NodeType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 12021..12031,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 12022..12030,\n                sym: \"FuncDecl\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 12010..12031,\n        op: NotEq,\n        left: _,\n        right: _,\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 11984..12031,\n        op: LogicalOr,\n        left: _,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 11976..12034,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 12035..12043,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 12043..12055,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 12044..12054,\n                sym: \"isAccessor\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 12054..12057,\n        callee: _,\n        args: [],\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 12032..12057,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 11975..12060,\n        expr: _,\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 11955..12060,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 12083..12088,\n        sym: \"fgSym\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 12092..12097,\n        sym: \"fgSym\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 12097..12109,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 12098..12108,\n                sym: \"isAccessor\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 12108..12111,\n        callee: _,\n        args: [],\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 12089..12111,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 12082..12112,\n        expr: _,\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 12058..12112,\n        op: LogicalOr,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 12144..12152,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 12152..12169,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 12153..12167,\n                sym: \"accessorSymbol\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 12170..12177,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 12177..12187,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 12178..12186,\n                sym: \"typeFlow\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 12186..12195,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 12187..12194,\n                sym: \"checker\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 12194..12216,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 12195..12215,\n                sym: \"createAccessorSymbol\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 12216..12224,\n        sym: \"funcDecl\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 12226..12231,\n        sym: \"fgSym\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 12233..12242,\n        sym: \"container\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 12242..12251,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 12243..12250,\n                sym: \"getType\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 12250..12253,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 12255..12263,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 12263..12273,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 12264..12272,\n                sym: \"isMethod\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 12272..12277,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 12278..12286,\n        sym: \"isStatic\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 12275..12287,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 12254..12288,\n        expr: _,\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 12289..12293,\n            value: true,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 12295..12304,\n        sym: \"funcScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 12306..12315,\n        sym: \"container\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 12215..12317,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 12168..12317,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 12345..12353,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 12353..12359,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 12354..12358,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 12358..12366,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 12359..12365,\n                sym: \"symbol\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 12365..12374,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 12366..12371,\n                sym: \"flags\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 12375..12386,\n        sym: \"SymbolFlags\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 12386..12416,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 12387..12415,\n                sym: \"TypeSetDuringScopeAssignment\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 12372..12416,\n        left: _,\n        op: BitOrAssign,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 12500..12508,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 12508..12516,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 12509..12513,\n                sym: \"name\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 12517..12525,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 12525..12531,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 12526..12530,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 12514..12531,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 12546..12554,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 12554..12560,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 12555..12559,\n                sym: \"name\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 12559..12565,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 12560..12563,\n                sym: \"sym\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 12566..12574,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 12574..12580,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 12575..12579,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 12579..12587,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 12580..12586,\n                sym: \"symbol\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 12564..12587,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 12784..12792,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 12792..12804,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 12793..12802,\n                sym: \"scopeType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 12805..12813,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 12813..12819,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 12814..12818,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 12803..12819,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 12882..12890,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 12890..12902,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 12891..12901,\n                sym: \"isOverload\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 12964..12979,\n        sym: \"StringHashTable\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 12979..12982,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 12960..12982,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 13013..13026,\n        sym: \"ScopedMembers\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 13031..13050,\n        sym: \"DualStringHashTable\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 13051..13060,\n        sym: \"funcTable\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 13066..13081,\n        sym: \"StringHashTable\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 13081..13084,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 13062..13084,\n        callee: _,\n        args: [],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 13050..13085,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 13027..13085,\n        callee: _,\n        args: [],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 13026..13086,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 13009..13086,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 13122..13137,\n        sym: \"StringHashTable\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 13137..13140,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 13118..13140,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 13178..13191,\n        sym: \"ScopedMembers\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 13196..13215,\n        sym: \"DualStringHashTable\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 13216..13232,\n        sym: \"ambientFuncTable\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 13238..13253,\n        sym: \"StringHashTable\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 13253..13256,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 13234..13256,\n        callee: _,\n        args: [],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 13215..13257,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 13192..13257,\n        callee: _,\n        args: [],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 13191..13258,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 13174..13258,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 13293..13308,\n        sym: \"StringHashTable\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 13308..13311,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 13289..13311,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 13348..13361,\n        sym: \"ScopedMembers\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 13366..13385,\n        sym: \"DualStringHashTable\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 13386..13401,\n        sym: \"funcStaticTable\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 13407..13422,\n        sym: \"StringHashTable\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 13422..13425,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 13403..13425,\n        callee: _,\n        args: [],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 13385..13426,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 13362..13426,\n        callee: _,\n        args: [],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 13361..13427,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 13344..13427,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 13469..13484,\n        sym: \"StringHashTable\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 13484..13487,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 13465..13487,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 13531..13544,\n        sym: \"ScopedMembers\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 13549..13568,\n        sym: \"DualStringHashTable\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 13569..13591,\n        sym: \"ambientFuncStaticTable\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 13597..13612,\n        sym: \"StringHashTable\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 13612..13615,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 13593..13615,\n        callee: _,\n        args: [],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 13568..13616,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 13545..13616,\n        callee: _,\n        args: [],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 13544..13617,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 13527..13617,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 13724..13732,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 13732..13744,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 13733..13742,\n                sym: \"unitIndex\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 13745..13752,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 13752..13762,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 13753..13761,\n                sym: \"typeFlow\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 13761..13770,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 13762..13769,\n                sym: \"checker\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 13769..13783,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 13770..13782,\n                sym: \"locationInfo\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 13782..13793,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 13783..13792,\n                sym: \"unitIndex\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 13743..13793,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 13820..13838,\n        sym: \"SymbolScopeBuilder\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 13839..13850,\n        sym: \"funcMembers\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 13852..13870,\n        sym: \"ambientFuncMembers\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 13872..13876,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 13878..13882,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 13884..13895,\n        sym: \"parentScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 13897..13911,\n        sym: \"localContainer\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 13838..13913,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 13816..13913,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 13940..13958,\n        sym: \"SymbolScopeBuilder\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 13959..13976,\n        sym: \"funcStaticMembers\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 13978..14002,\n        sym: \"ambientFuncStaticMembers\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 14004..14008,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 14010..14014,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 14016..14027,\n        sym: \"parentScope\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 14029..14033,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 13958..14035,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 13936..14035,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 14049..14057,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 14057..14074,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 14058..14071,\n                sym: \"isConstructor\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 14075..14082,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 14082..14094,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 14083..14093,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 14093..14103,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 14094..14102,\n                sym: \"thisType\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 14072..14103,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 14118..14125,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 14125..14137,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 14126..14136,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 14136..14146,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 14137..14145,\n                sym: \"thisType\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 14145..14164,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 14146..14162,\n                sym: \"constructorScope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 14165..14171,\n        sym: \"locals\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 14163..14172,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 14811..14819,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 14819..14829,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 14820..14827,\n                sym: \"symbols\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 14830..14839,\n        sym: \"funcTable\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 14828..14840,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 14855..14863,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 14863..14876,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 14864..14875,\n                sym: \"isSpecialFn\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 14875..14878,\n        callee: _,\n        args: [],\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 14854..14878,\n        op: Bang,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 14905..14913,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 14913..14919,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 14914..14918,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 14948..14956,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 14956..14967,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 14957..14966,\n                sym: \"signature\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 14986..14994,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 14994..15009,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 14995..15008,\n                sym: \"isConstructor\",\n            },\n        ),\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 14985..15009,\n        op: Bang,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 15028..15033,\n        sym: \"group\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15033..15050,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15034..15048,\n                sym: \"containedScope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 15051..15057,\n        sym: \"locals\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 15049..15058,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 15075..15081,\n        sym: \"locals\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15081..15093,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15082..15091,\n                sym: \"container\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 15094..15099,\n        sym: \"group\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15099..15107,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15100..15106,\n                sym: \"symbol\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 15092..15107,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 15125..15130,\n        sym: \"group\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15130..15144,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15131..15142,\n                sym: \"memberScope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 15145..15152,\n        sym: \"statics\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 15143..15153,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 15170..15177,\n        sym: \"statics\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15177..15189,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15178..15187,\n                sym: \"container\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 15190..15195,\n        sym: \"group\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15195..15203,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15196..15202,\n                sym: \"symbol\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 15188..15203,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 15230..15238,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15238..15253,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15239..15251,\n                sym: \"enclosingFnc\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 15254..15261,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15261..15273,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15262..15272,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15272..15277,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15273..15276,\n                sym: \"fnc\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 15252..15277,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 15290..15295,\n        sym: \"group\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15295..15311,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15296..15309,\n                sym: \"enclosingType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 15312..15320,\n        sym: \"isStatic\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 15323..15330,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15330..15342,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15331..15341,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15341..15353,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15342..15351,\n                sym: \"classType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 15354..15361,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15361..15373,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15362..15372,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15372..15382,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15373..15381,\n                sym: \"thisType\",\n            },\n        ),\n    },\n)",
    "Cond(\n    CondExpr {\n        span: 15321..15382,\n        test: _,\n        cons: _,\n        alt: _,\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 15310..15382,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 15454..15464,\n        sym: \"TypeSymbol\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 15465..15468,\n        sym: \"ast\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15468..15474,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15469..15473,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15473..15481,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15474..15480,\n                sym: \"symbol\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 15464..15481,\n        op: Gt,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 15500..15508,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15508..15519,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15509..15517,\n                sym: \"fncFlags\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 15520..15528,\n        sym: \"FncFlags\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15528..15539,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15529..15538,\n                sym: \"Signature\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 15518..15539,\n        op: BitAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 15499..15542,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 15543..15551,\n        sym: \"FncFlags\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15551..15557,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15552..15556,\n                sym: \"None\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 15540..15557,\n        op: EqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 15498..15560,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 15561..15569,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15569..15575,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15570..15574,\n                sym: \"vars\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 15558..15575,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 15594..15601,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15601..15611,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15602..15610,\n                sym: \"typeFlow\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15610..15630,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15611..15629,\n                sym: \"addLocalsFromScope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 15630..15636,\n        sym: \"locals\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 15638..15643,\n        sym: \"fgSym\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 15645..15653,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15653..15659,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15654..15658,\n                sym: \"vars\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 15712..15721,\n        sym: \"funcTable\",\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 15723..15728,\n            value: false,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 15629..15730,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 15747..15754,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15754..15764,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15755..15763,\n                sym: \"typeFlow\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15763..15783,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15764..15782,\n                sym: \"addLocalsFromScope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 15783..15790,\n        sym: \"statics\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 15792..15797,\n        sym: \"fgSym\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 15799..15807,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15807..15816,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15808..15815,\n                sym: \"statics\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 15869..15884,\n        sym: \"funcStaticTable\",\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 15886..15891,\n            value: false,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 15782..15893,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 15924..15933,\n        sym: \"signature\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15933..15945,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15934..15944,\n                sym: \"parameters\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 15974..15983,\n        sym: \"signature\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15983..15995,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15984..15994,\n                sym: \"parameters\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 15994..16002,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 15995..16001,\n                sym: \"length\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 16032..16033,\n            value: 0.0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 16035..16036,\n        sym: \"i\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 16039..16042,\n        sym: \"len\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 16037..16043,\n        op: Lt,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 16044..16045,\n        sym: \"i\",\n    },\n)",
    "Update(\n    UpdateExpr {\n        span: 16045..16048,\n        op: PlusPlus,\n        arg: _,\n        prefix: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 16103..16112,\n        sym: \"signature\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 16112..16124,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 16113..16123,\n                sym: \"parameters\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 16124..16125,\n        sym: \"i\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 16123..16127,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 16148..16155,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 16155..16165,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 16156..16164,\n                sym: \"typeFlow\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 16164..16173,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 16165..16172,\n                sym: \"checker\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 16172..16189,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 16173..16188,\n                sym: \"resolveTypeLink\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 16189..16195,\n        sym: \"locals\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 16261..16269,\n        sym: \"paramSym\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 16269..16280,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 16270..16279,\n                sym: \"parameter\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 16279..16289,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 16280..16288,\n                sym: \"typeLink\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 16290..16294,\n            value: true,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 16188..16296,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 16341..16348,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 16348..16358,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 16349..16357,\n                sym: \"typeFlow\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 16357..16366,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 16358..16365,\n                sym: \"checker\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 16365..16382,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 16366..16381,\n                sym: \"resolveTypeLink\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 16382..16388,\n        sym: \"locals\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 16390..16399,\n        sym: \"signature\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 16399..16411,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 16400..16410,\n                sym: \"returnType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 16468..16476,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 16476..16489,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 16477..16488,\n                sym: \"isSignature\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 16488..16491,\n        callee: _,\n        args: [],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 16381..16492,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 16517..16525,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 16525..16542,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 16526..16539,\n                sym: \"isConstructor\",\n            },\n        ),\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 16516..16542,\n        op: Bang,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 16543..16550,\n        sym: \"hasFlag\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 16551..16559,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 16559..16569,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 16560..16568,\n                sym: \"fncFlags\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 16570..16578,\n        sym: \"FncFlags\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 16578..16591,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 16579..16590,\n                sym: \"ClassMethod\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 16550..16592,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 16540..16592,\n        op: LogicalOr,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 16623..16631,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 16631..16648,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 16632..16645,\n                sym: \"isConstructor\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 16649..16656,\n        sym: \"hasFlag\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 16657..16665,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 16665..16675,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 16666..16674,\n                sym: \"fncFlags\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 16676..16684,\n        sym: \"FncFlags\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 16684..16697,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 16685..16696,\n                sym: \"ClassMethod\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 16656..16698,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 16646..16698,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 16622..16700,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 16701..16708,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 16708..16720,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 16709..16719,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 16719..16730,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 16720..16728,\n                sym: \"thisType\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 16731..16735,\n        },\n    ),\n)",
    "Cond(\n    CondExpr {\n        span: 16699..16736,\n        test: _,\n        cons: _,\n        alt: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 16749..16764,\n        sym: \"pushAssignScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 16765..16771,\n        sym: \"locals\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 16773..16780,\n        sym: \"context\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 16782..16790,\n        sym: \"thisType\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 16792..16796,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 16798..16806,\n        sym: \"funcDecl\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 16764..16808,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 16934..16939,\n        sym: \"Catch\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 16940..16943,\n        sym: \"ast\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 16939..16944,\n        op: Gt,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 16957..16967,\n        sym: \"catchBlock\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 16967..16974,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 16968..16973,\n                sym: \"param\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 17010..17023,\n        sym: \"ScopedMembers\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 17028..17047,\n        sym: \"DualStringHashTable\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 17052..17067,\n        sym: \"StringHashTable\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 17067..17070,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 17048..17070,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 17075..17090,\n        sym: \"StringHashTable\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 17090..17093,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 17071..17093,\n        callee: _,\n        args: [],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 17047..17094,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 17024..17094,\n        callee: _,\n        args: [],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 17023..17095,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 17006..17095,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 17206..17224,\n        sym: \"SymbolScopeBuilder\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 17225..17235,\n        sym: \"catchTable\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 17237..17241,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 17243..17247,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 17249..17253,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 17255..17262,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 17262..17274,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 17263..17273,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 17273..17280,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 17274..17279,\n                sym: \"scope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 17332..17339,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 17339..17351,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 17340..17350,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 17350..17357,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 17351..17356,\n                sym: \"scope\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 17356..17367,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 17357..17366,\n                sym: \"container\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 17224..17368,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 17202..17368,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 17381..17391,\n        sym: \"catchBlock\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 17391..17408,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 17392..17406,\n                sym: \"containedScope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 17409..17420,\n        sym: \"catchLocals\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 17407..17421,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 17434..17449,\n        sym: \"pushAssignScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 17450..17461,\n        sym: \"catchLocals\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 17463..17470,\n        sym: \"context\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 17472..17479,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 17479..17491,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 17480..17490,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 17490..17500,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 17491..17499,\n                sym: \"thisType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 17501..17508,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 17508..17520,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 17509..17519,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 17519..17530,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 17520..17529,\n                sym: \"classType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 17531..17538,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 17538..17550,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 17539..17549,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 17549..17554,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 17550..17553,\n                sym: \"fnc\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 17449..17555,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 17695..17701,\n        sym: \"walker\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 17701..17708,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 17702..17707,\n                sym: \"state\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 17726..17730,\n            value: true,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 17745..17748,\n        sym: \"ast\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 17768..17771,\n        sym: \"ast\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 17771..17783,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 17772..17780,\n                sym: \"nodeType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 17784..17792,\n        sym: \"NodeType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 17792..17798,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 17793..17797,\n                sym: \"List\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 17781..17798,\n        op: EqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 17829..17836,\n        sym: \"ASTList\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 17837..17840,\n        sym: \"ast\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 17836..17841,\n        op: Gt,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 17858..17862,\n        sym: \"list\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 17862..17879,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 17863..17877,\n                sym: \"enclosingScope\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 17880..17887,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 17887..17899,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 17888..17898,\n                sym: \"scopeChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 17898..17905,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 17899..17904,\n                sym: \"scope\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 17878..17905,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 17941..17944,\n        sym: \"ast\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 17944..17956,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 17945..17953,\n                sym: \"nodeType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 17957..17965,\n        sym: \"NodeType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 17965..17984,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 17966..17983,\n                sym: \"ModuleDeclaration\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 17954..17984,\n        op: EqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 18003..18024,\n        sym: \"preAssignModuleScopes\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 18025..18028,\n        sym: \"ast\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 18030..18037,\n        sym: \"context\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 18024..18039,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 18075..18078,\n        sym: \"ast\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 18078..18090,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 18079..18087,\n                sym: \"nodeType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 18091..18099,\n        sym: \"NodeType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 18099..18117,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 18100..18116,\n                sym: \"ClassDeclaration\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 18088..18117,\n        op: EqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 18136..18156,\n        sym: \"preAssignClassScopes\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 18157..18160,\n        sym: \"ast\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 18162..18169,\n        sym: \"context\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 18156..18171,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 18207..18210,\n        sym: \"ast\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 18210..18222,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 18211..18219,\n                sym: \"nodeType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 18223..18231,\n        sym: \"NodeType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 18231..18253,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 18232..18252,\n                sym: \"InterfaceDeclaration\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 18220..18253,\n        op: EqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 18272..18296,\n        sym: \"preAssignInterfaceScopes\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 18297..18300,\n        sym: \"ast\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 18302..18309,\n        sym: \"context\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 18296..18311,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 18347..18350,\n        sym: \"ast\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 18350..18362,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 18351..18359,\n                sym: \"nodeType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 18363..18371,\n        sym: \"NodeType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 18371..18377,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 18372..18376,\n                sym: \"With\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 18360..18377,\n        op: EqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 18396..18415,\n        sym: \"preAssignWithScopes\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 18416..18419,\n        sym: \"ast\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 18421..18428,\n        sym: \"context\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 18415..18430,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 18466..18469,\n        sym: \"ast\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 18469..18481,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 18470..18478,\n                sym: \"nodeType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 18482..18490,\n        sym: \"NodeType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 18490..18500,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 18491..18499,\n                sym: \"FuncDecl\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 18479..18500,\n        op: EqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 18519..18542,\n        sym: \"preAssignFuncDeclScopes\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 18543..18546,\n        sym: \"ast\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 18548..18555,\n        sym: \"context\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 18542..18557,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 18593..18596,\n        sym: \"ast\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 18596..18608,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 18597..18605,\n                sym: \"nodeType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 18609..18617,\n        sym: \"NodeType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 18617..18624,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 18618..18623,\n                sym: \"Catch\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 18606..18624,\n        op: EqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 18643..18663,\n        sym: \"preAssignCatchScopes\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 18664..18667,\n        sym: \"ast\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 18669..18676,\n        sym: \"context\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 18663..18678,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 18714..18717,\n        sym: \"ast\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 18717..18729,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 18718..18726,\n                sym: \"nodeType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 18730..18738,\n        sym: \"NodeType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 18738..18747,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 18739..18746,\n                sym: \"TypeRef\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 18727..18747,\n        op: EqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 18771..18776,\n            value: false,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 18769..18777,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 18810..18816,\n        sym: \"walker\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 18816..18825,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 18817..18824,\n                sym: \"options\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 18824..18837,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 18825..18835,\n                sym: \"goChildren\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 18838..18840,\n        sym: \"go\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 18836..18841,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 18857..18860,\n        sym: \"ast\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 18992..18998,\n        sym: \"walker\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 18998..19005,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 18999..19004,\n                sym: \"state\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 19023..19027,\n            value: true,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 19041..19044,\n        sym: \"ast\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 19064..19067,\n        sym: \"ast\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 19067..19079,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 19068..19076,\n                sym: \"nodeType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 19080..19088,\n        sym: \"NodeType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 19088..19107,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 19089..19106,\n                sym: \"ModuleDeclaration\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 19077..19107,\n        op: EqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 19145..19162,\n        sym: \"ModuleDeclaration\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 19163..19166,\n        sym: \"ast\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 19162..19167,\n        op: Gt,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 19185..19199,\n        sym: \"popAssignScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 19200..19207,\n        sym: \"context\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 19199..19209,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 19227..19234,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 19234..19248,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 19235..19247,\n                sym: \"modDeclChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 19247..19252,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 19248..19251,\n                sym: \"pop\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 19251..19254,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 19275..19282,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 19282..19296,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 19283..19295,\n                sym: \"modDeclChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 19295..19305,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 19296..19302,\n                sym: \"length\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 19306..19307,\n            value: 1.0,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 19303..19308,\n        op: GtEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 19331..19338,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 19338..19348,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 19339..19347,\n                sym: \"typeFlow\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 19347..19356,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 19348..19355,\n                sym: \"checker\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 19355..19372,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 19356..19370,\n                sym: \"currentModDecl\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 19373..19380,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 19380..19394,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 19381..19393,\n                sym: \"modDeclChain\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 19394..19401,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 19401..19415,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 19402..19414,\n                sym: \"modDeclChain\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 19414..19423,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 19415..19421,\n                sym: \"length\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 19424..19425,\n            value: 1.0,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 19422..19426,\n        op: Sub,\n        left: _,\n        right: _,\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 19393..19427,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 19371..19427,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 19481..19484,\n        sym: \"ast\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 19484..19496,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 19485..19493,\n                sym: \"nodeType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 19497..19505,\n        sym: \"NodeType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 19505..19523,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 19506..19522,\n                sym: \"ClassDeclaration\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 19494..19523,\n        op: EqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 19542..19556,\n        sym: \"popAssignScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 19557..19564,\n        sym: \"context\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 19556..19566,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 19602..19605,\n        sym: \"ast\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 19605..19617,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 19606..19614,\n                sym: \"nodeType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 19618..19626,\n        sym: \"NodeType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 19626..19648,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 19627..19647,\n                sym: \"InterfaceDeclaration\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 19615..19648,\n        op: EqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 19667..19681,\n        sym: \"popAssignScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 19682..19689,\n        sym: \"context\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 19681..19691,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 19727..19730,\n        sym: \"ast\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 19730..19742,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 19731..19739,\n                sym: \"nodeType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 19743..19751,\n        sym: \"NodeType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 19751..19757,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 19752..19756,\n                sym: \"With\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 19740..19757,\n        op: EqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 19776..19790,\n        sym: \"popAssignScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 19791..19798,\n        sym: \"context\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 19790..19800,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 19836..19839,\n        sym: \"ast\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 19839..19851,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 19840..19848,\n                sym: \"nodeType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 19852..19860,\n        sym: \"NodeType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 19860..19870,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 19861..19869,\n                sym: \"FuncDecl\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 19849..19870,\n        op: EqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 19905..19913,\n        sym: \"FuncDecl\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 19914..19917,\n        sym: \"ast\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 19913..19918,\n        op: Gt,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 19941..19949,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 19949..19966,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 19950..19963,\n                sym: \"isConstructor\",\n            },\n        ),\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 19940..19966,\n        op: Bang,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 19967..19974,\n        sym: \"hasFlag\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 19975..19983,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 19983..19993,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 19984..19992,\n                sym: \"fncFlags\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 19994..20002,\n        sym: \"FncFlags\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 20002..20015,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 20003..20014,\n                sym: \"ClassMethod\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 19974..20016,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 19964..20016,\n        op: LogicalOr,\n        left: _,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 19939..20019,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 20021..20029,\n        sym: \"funcDecl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 20029..20041,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 20030..20040,\n                sym: \"isOverload\",\n            },\n        ),\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 20020..20041,\n        op: Bang,\n        arg: _,\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 20017..20041,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 20064..20078,\n        sym: \"popAssignScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 20079..20086,\n        sym: \"context\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 20078..20088,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 20142..20145,\n        sym: \"ast\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 20145..20157,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 20146..20154,\n                sym: \"nodeType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 20158..20166,\n        sym: \"NodeType\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 20166..20173,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 20167..20172,\n                sym: \"Catch\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 20155..20173,\n        op: EqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 20210..20215,\n        sym: \"Catch\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 20216..20219,\n        sym: \"ast\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 20215..20220,\n        op: Gt,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 20241..20251,\n        sym: \"catchBlock\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 20251..20258,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 20252..20257,\n                sym: \"param\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 20281..20295,\n        sym: \"popAssignScope\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 20296..20303,\n        sym: \"context\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 20295..20305,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 20378..20383,\n            value: false,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 20376..20384,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 20417..20423,\n        sym: \"walker\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 20423..20432,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 20424..20431,\n                sym: \"options\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 20431..20444,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 20432..20442,\n                sym: \"goChildren\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 20445..20447,\n        sym: \"go\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 20443..20448,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 20464..20467,\n        sym: \"ast\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)"
  ],
  "module_decls": [
    "ExportDecl(\n    ExportDecl {\n        span: 237..463,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 457..832,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 826..963,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 957..1167,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 1161..1265,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 1813..1912,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 1906..3124,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 3118..4505,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 4499..5345,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 5339..6366,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 6360..8884,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 16830..17583,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 17577..18879,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 18873..20476,\n        decl: _,\n    },\n)"
  ],
  "functions": [
    "Function {\n    span: 279..451,\n    params: [\n        Param {\n            span: 292..322,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 344..370,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 392..433,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}"
  ],
  "classes": [
    "Class {\n    span: 244..463,\n    decorators: [],\n    ident: Some(\n        Ident {\n            span: 250..268,\n            sym: \"AssignScopeContext\",\n        },\n    ),\n    super_class: None,\n    body: [\n        _,\n    ],\n}"
  ],
  "class_members": [
    "Method(\n    ClassMethod {\n        span: 279..451,\n        decorators: [],\n        key: Ident(\n            Ident {\n                span: 279..290,\n                sym: \"constructor\",\n            },\n        ),\n        function: _,\n        is_static: false,\n        kind: Constructor,\n    },\n)"
  ],
  "jsx_elements": [],
  "ts_types": []
}
