{
  "programs": [
    "Program {\n    span: 40..895,\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        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 103..106,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 105..113,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 161..176,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 177..187,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 175..189,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 188..196,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 251..254,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 253..261,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 336..339,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 338..350,\n        expr: _,\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: 616..632,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 630..647,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 645..669,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 667..693,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 691..708,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 706..730,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 728..757,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 755..773,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 771..796,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 794..832,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 830..856,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 854..864,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 862..878,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 876..895,\n        expr: _,\n    },\n)"
  ],
  "decls": [
    "TsInterface(\n    TsInterfaceDecl {\n        span: 40..61,\n        ident: Ident {\n            span: 50..51,\n            sym: \"F\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 342..409,\n        ident: Ident {\n            span: 351..353,\n            sym: \"d0\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 401..453,\n        ident: Ident {\n            span: 410..412,\n            sym: \"d1\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 445..505,\n        ident: Ident {\n            span: 454..456,\n            sym: \"d2\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 497..549,\n        ident: Ident {\n            span: 506..508,\n            sym: \"d3\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 541..596,\n        ident: Ident {\n            span: 550..552,\n            sym: \"d4\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 593..618,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 593..615,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)"
  ],
  "pats": [
    "Object(\n    ObjectPat {\n        span: 371..376,\n        props: [\n            Assign(\n                ObjectPatAssign {\n                    span: 372..374,\n                    key: Ident {\n                        span: 372..373,\n                        sym: \"x\",\n                    },\n                    value: None,\n                },\n            ),\n        ],\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 375..396,\n        left: _,\n        right: _,\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 426..430,\n        props: [\n            Assign(\n                ObjectPatAssign {\n                    span: 427..429,\n                    key: Ident {\n                        span: 427..428,\n                        sym: \"x\",\n                    },\n                    value: None,\n                },\n            ),\n        ],\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 474..478,\n        props: [\n            Assign(\n                ObjectPatAssign {\n                    span: 475..477,\n                    key: Ident {\n                        span: 475..476,\n                        sym: \"x\",\n                    },\n                    value: None,\n                },\n            ),\n        ],\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 522..526,\n        props: [\n            Assign(\n                ObjectPatAssign {\n                    span: 523..525,\n                    key: Ident {\n                        span: 523..524,\n                        sym: \"y\",\n                    },\n                    value: None,\n                },\n            ),\n        ],\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 566..571,\n        props: [\n            Assign(\n                ObjectPatAssign {\n                    span: 567..569,\n                    key: Ident {\n                        span: 567..568,\n                        sym: \"y\",\n                    },\n                    value: None,\n                },\n            ),\n        ],\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 570..587,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 597..600,\n        sym: \"obj\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 601..615,\n        left: _,\n        right: _,\n    },\n)"
  ],
  "exprs": [
    "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: 161..172,\n        sym: \"constructor\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 172..176,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 177..182,\n        sym: \"super\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 182..185,\n        callee: _,\n        args: [],\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)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\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: 386..391,\n        sym: \"Class\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 391..395,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 382..395,\n        callee: _,\n        args: [],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 377..396,\n        props: [\n            KeyValueProp {\n                span: 379..395,\n                key: Ident(\n                    Ident {\n                        span: 379..380,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 581..582,\n        sym: \"D\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 582..586,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 577..586,\n        callee: _,\n        args: [],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 572..587,\n        props: [\n            KeyValueProp {\n                span: 574..586,\n                key: Ident(\n                    Ident {\n                        span: 574..575,\n                        sym: \"y\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 607..612,\n        sym: \"Class\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 612..615,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 603..615,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 616..618,\n        sym: \"d0\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 624..625,\n            value: 1.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 619..628,\n        props: [\n            KeyValueProp {\n                span: 621..627,\n                key: Ident(\n                    Ident {\n                        span: 621..622,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 618..629,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 630..632,\n        sym: \"d0\",\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 638..642,\n        props: [],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 633..643,\n        props: [\n            KeyValueProp {\n                span: 635..642,\n                key: Ident(\n                    Ident {\n                        span: 635..636,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 632..644,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 645..647,\n        sym: \"d0\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 653..661,\n            value: \"string\",\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 648..664,\n        props: [\n            KeyValueProp {\n                span: 650..663,\n                key: Ident(\n                    Ident {\n                        span: 650..651,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 647..665,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 667..669,\n        sym: \"d1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 679..684,\n        sym: \"Class\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 684..688,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 675..688,\n        callee: _,\n        args: [],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 670..689,\n        props: [\n            KeyValueProp {\n                span: 672..688,\n                key: Ident(\n                    Ident {\n                        span: 672..673,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 669..690,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 691..693,\n        sym: \"d1\",\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 699..703,\n        props: [],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 694..704,\n        props: [\n            KeyValueProp {\n                span: 696..703,\n                key: Ident(\n                    Ident {\n                        span: 696..697,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 693..705,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 706..708,\n        sym: \"d1\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 714..722,\n            value: \"string\",\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 709..725,\n        props: [\n            KeyValueProp {\n                span: 711..724,\n                key: Ident(\n                    Ident {\n                        span: 711..712,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 708..726,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 728..730,\n        sym: \"d2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 740..748,\n        sym: \"SubClass\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 748..752,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 736..752,\n        callee: _,\n        args: [],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 731..753,\n        props: [\n            KeyValueProp {\n                span: 733..752,\n                key: Ident(\n                    Ident {\n                        span: 733..734,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 730..754,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 755..757,\n        sym: \"d2\",\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 763..767,\n        props: [],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 758..768,\n        props: [\n            KeyValueProp {\n                span: 760..767,\n                key: Ident(\n                    Ident {\n                        span: 760..761,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 757..769,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 771..773,\n        sym: \"d3\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 783..787,\n        sym: \"SubD\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 787..791,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 779..791,\n        callee: _,\n        args: [],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 774..792,\n        props: [\n            KeyValueProp {\n                span: 776..791,\n                key: Ident(\n                    Ident {\n                        span: 776..777,\n                        sym: \"y\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 773..793,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 794..796,\n        sym: \"d3\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 806..814,\n        sym: \"SubClass\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 814..818,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 802..818,\n        callee: _,\n        args: [],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 797..819,\n        props: [\n            KeyValueProp {\n                span: 799..818,\n                key: Ident(\n                    Ident {\n                        span: 799..800,\n                        sym: \"y\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 796..820,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 830..832,\n        sym: \"d3\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 842..847,\n        sym: \"Class\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 847..851,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 838..851,\n        callee: _,\n        args: [],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 833..852,\n        props: [\n            KeyValueProp {\n                span: 835..851,\n                key: Ident(\n                    Ident {\n                        span: 835..836,\n                        sym: \"y\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 832..853,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 854..856,\n        sym: \"d3\",\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 857..860,\n        props: [],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 856..861,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 862..864,\n        sym: \"d3\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 870..871,\n            value: 1.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 865..874,\n        props: [\n            KeyValueProp {\n                span: 867..873,\n                key: Ident(\n                    Ident {\n                        span: 867..868,\n                        sym: \"y\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 864..875,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 876..878,\n        sym: \"d3\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 884..891,\n            value: \"world\",\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 879..894,\n        props: [\n            KeyValueProp {\n                span: 881..893,\n                key: Ident(\n                    Ident {\n                        span: 881..882,\n                        sym: \"y\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 878..895,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": []
}
