{
  "programs": [
    "Program {\n    span: 139..1665,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Return(\n    ReturnStmt {\n        span: 166..187,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 181..192,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 222..243,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 237..248,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 271..292,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 286..297,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 453..471,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 443..476,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 487..504,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 477..506,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 433..506,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Throw(\n    ThrowStmt {\n        span: 1023..1047,\n        arg: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 983..1064,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 1225..1258,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 1252..1280,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 1308..1341,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 1335..1359,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 1383..1416,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 1410..1434,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 1457..1486,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 1480..1508,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 1537..1566,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 1560..1588,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 1612..1641,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 1635..1663,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "Var(\n    VarDecl {\n        span: 139..197,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 139..193,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 194..253,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 194..249,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 250..409,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 250..298,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 406..596,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 406..596,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 588..618,\n        ident: Ident {\n            span: 597..599,\n            sym: \"f5\",\n        },\n        declare: false,\n        params: [],\n        body: [],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 615..715,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 615..621,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 732..744,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 732..742,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 707..834,\n        ident: Ident {\n            span: 716..718,\n            sym: \"f6\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 826..992,\n        ident: Ident {\n            span: 835..837,\n            sym: \"f7\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n        ],\n        body: [],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1044..1056,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1044..1054,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Class(\n    ClassDecl {\n        span: 1059..1090,\n        ident: Ident {\n            span: 1065..1069,\n            sym: \"Base\",\n        },\n        declare: false,\n        class: _,\n    },\n)",
    "Class(\n    ClassDecl {\n        span: 1085..1124,\n        ident: Ident {\n            span: 1091..1103,\n            sym: \"AnotherClass\",\n        },\n        declare: false,\n        class: _,\n    },\n)",
    "Class(\n    ClassDecl {\n        span: 1119..1167,\n        ident: Ident {\n            span: 1125..1133,\n            sym: \"Derived1\",\n        },\n        declare: false,\n        class: _,\n    },\n)",
    "Class(\n    ClassDecl {\n        span: 1162..1213,\n        ident: Ident {\n            span: 1168..1176,\n            sym: \"Derived2\",\n        },\n        declare: false,\n        class: _,\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1205..1284,\n        ident: Ident {\n            span: 1214..1216,\n            sym: \"f8\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1281..1364,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1281..1360,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1361..1444,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1361..1435,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1436..1512,\n        ident: Ident {\n            span: 1445..1448,\n            sym: \"f11\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1509..1593,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1509..1589,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1590..1665,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1590..1664,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 143..145,\n        sym: \"f1\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 146..193,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 198..200,\n        sym: \"f2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 201..249,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 254..256,\n        sym: \"f3\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 257..298,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 410..412,\n        sym: \"f4\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 413..596,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 619..620,\n        sym: \"m\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 719..720,\n        sym: \"n\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 721..725,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 736..737,\n        sym: \"m\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 738..742,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 838..839,\n        sym: \"n\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 840..844,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 845..846,\n        sym: \"m\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1048..1049,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1050..1054,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1285..1287,\n        sym: \"f9\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1288..1360,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1365..1368,\n        sym: \"f10\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1369..1435,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1513..1516,\n        sym: \"f12\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1517..1589,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1594..1597,\n        sym: \"f13\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1598..1664,\n        left: _,\n        right: _,\n    },\n)"
  ],
  "exprs": [
    "Lit(\n    Str(\n        StrLit {\n            span: 173..175,\n            value: \"\",\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 188..189,\n            value: 3.0,\n        },\n    ),\n)",
    "Function(\n    _,\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 229..231,\n            value: \"\",\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 244..245,\n            value: 3.0,\n        },\n    ),\n)",
    "Function(\n    _,\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 278..280,\n            value: \"\",\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 293..294,\n            value: 3.0,\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 259..298,\n        params: [],\n        body: Block(\n            [\n                _,\n                _,\n            ],\n        ),\n        is_async: false,\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 437..441,\n            value: true,\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 461..463,\n            value: \"\",\n        },\n    ),\n)",
    "Array(\n    ArrayExpr {\n        span: 460..465,\n        elems: [\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n        ],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 495..496,\n            value: 1.0,\n        },\n    ),\n)",
    "Array(\n    ArrayExpr {\n        span: 494..498,\n        elems: [\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n        ],\n    },\n)",
    "Function(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 723..724,\n        sym: \"m\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 740..741,\n            value: 4.0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 842..843,\n        sym: \"m\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 983..992,\n        sym: \"undefined\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1029..1038,\n        sym: \"undefined\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1052..1053,\n            value: 4.0,\n        },\n    ),\n)",
    "Function(\n    _,\n)",
    "Binary(\n    BinaryExpr {\n        span: 993..1057,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1142..1146,\n        sym: \"Base\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1185..1189,\n        sym: \"Base\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1236..1244,\n        sym: \"Derived1\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1244..1247,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1232..1247,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1263..1271,\n        sym: \"Derived2\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1271..1274,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1259..1274,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1319..1327,\n        sym: \"Derived1\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1327..1330,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1315..1330,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1346..1354,\n        sym: \"Derived2\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1354..1357,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1342..1357,\n        callee: _,\n        args: [],\n    },\n)",
    "Function(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 1394..1402,\n        sym: \"Derived1\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1402..1405,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1390..1405,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1421..1429,\n        sym: \"Derived2\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1429..1432,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1417..1432,\n        callee: _,\n        args: [],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1371..1435,\n        params: [],\n        body: Block(\n            [\n                _,\n                _,\n            ],\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1468..1472,\n        sym: \"Base\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1472..1475,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1464..1475,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1491..1503,\n        sym: \"AnotherClass\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1503..1506,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1487..1506,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1548..1552,\n        sym: \"Base\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1552..1555,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1544..1555,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1571..1583,\n        sym: \"AnotherClass\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1583..1586,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1567..1586,\n        callee: _,\n        args: [],\n    },\n)",
    "Function(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 1623..1627,\n        sym: \"Base\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1627..1630,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1619..1630,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1646..1658,\n        sym: \"AnotherClass\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1658..1661,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1642..1661,\n        callee: _,\n        args: [],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1600..1664,\n        params: [],\n        body: Block(\n            [\n                _,\n                _,\n            ],\n        ),\n        is_async: false,\n    },\n)"
  ],
  "module_decls": [],
  "functions": [
    "Function {\n    span: 148..193,\n    params: [],\n    body: [\n        _,\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 203..249,\n    params: [],\n    body: [\n        _,\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 415..596,\n    params: [],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 997..1057,\n    params: [],\n    body: [\n        _,\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 1290..1360,\n    params: [],\n    body: [\n        _,\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 1519..1589,\n    params: [],\n    body: [\n        _,\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}"
  ],
  "classes": [
    "Class {\n    span: 1059..1090,\n    decorators: [],\n    ident: Some(\n        Ident {\n            span: 1065..1069,\n            sym: \"Base\",\n        },\n    ),\n    super_class: None,\n    body: [\n        _,\n    ],\n}",
    "Class {\n    span: 1085..1124,\n    decorators: [],\n    ident: Some(\n        Ident {\n            span: 1091..1103,\n            sym: \"AnotherClass\",\n        },\n    ),\n    super_class: None,\n    body: [\n        _,\n    ],\n}",
    "Class {\n    span: 1119..1167,\n    decorators: [],\n    ident: Some(\n        Ident {\n            span: 1125..1133,\n            sym: \"Derived1\",\n        },\n    ),\n    super_class: Some(\n        _,\n    ),\n    body: [\n        _,\n    ],\n}",
    "Class {\n    span: 1162..1213,\n    decorators: [],\n    ident: Some(\n        Ident {\n            span: 1168..1176,\n            sym: \"Derived2\",\n        },\n    ),\n    super_class: Some(\n        _,\n    ),\n    body: [\n        _,\n    ],\n}"
  ],
  "class_members": [
    "Prop(\n    ClassProp {\n        span: 1072..1084,\n        decorators: [],\n        key: Ident(\n            Ident {\n                span: 1080..1081,\n                sym: \"x\",\n            },\n        ),\n        value: None,\n        is_static: false,\n    },\n)",
    "Prop(\n    ClassProp {\n        span: 1106..1118,\n        decorators: [],\n        key: Ident(\n            Ident {\n                span: 1114..1115,\n                sym: \"y\",\n            },\n        ),\n        value: None,\n        is_static: false,\n    },\n)",
    "Prop(\n    ClassProp {\n        span: 1149..1161,\n        decorators: [],\n        key: Ident(\n            Ident {\n                span: 1157..1158,\n                sym: \"m\",\n            },\n        ),\n        value: None,\n        is_static: false,\n    },\n)",
    "Prop(\n    ClassProp {\n        span: 1192..1204,\n        decorators: [],\n        key: Ident(\n            Ident {\n                span: 1200..1201,\n                sym: \"n\",\n            },\n        ),\n        value: None,\n        is_static: false,\n    },\n)"
  ],
  "jsx_elements": [],
  "ts_types": []
}
