{
  "programs": [
    "Program {\n    span: 122..1816,\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        _,\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": [
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 221..232,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 270..282,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 301..312,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 332..341,\n        expr: _,\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)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 607..628,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 627..648,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 647..666,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 665..686,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 684..708,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 706..730,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 728..751,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 749..772,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 770..791,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 790..811,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 810..831,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 830..848,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 847..866,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 865..886,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 884..908,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 906..930,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 928..951,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 949..973,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 971..989,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 988..997,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1087..1098,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1136..1148,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1164..1175,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1195..1204,\n        expr: _,\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)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1461..1479,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1478..1499,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1498..1517,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1516..1537,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1535..1556,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1554..1578,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1576..1596,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1594..1614,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1612..1633,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1632..1650,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1649..1670,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1669..1687,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1686..1705,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1704..1725,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1723..1744,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1742..1766,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1764..1784,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1782..1803,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1801..1816,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1815..1816,\n        expr: _,\n    },\n)"
  ],
  "decls": [
    "TsModule(\n    TsModuleDecl {\n        span: 122..184,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 129..140,\n                sym: \"OnlyDerived\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [],\n            ),\n        ),\n    },\n)",
    "Var(\n    VarDecl {\n        span: 338..355,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 338..347,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 352..376,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 352..361,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 367..411,\n        ident: Ident {\n            span: 377..379,\n            sym: \"S2\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 382..397,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 382..385,\n                            sym: \"foo\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 402..441,\n        ident: Ident {\n            span: 412..414,\n            sym: \"T2\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 417..433,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 417..420,\n                            sym: \"foo\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 438..457,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 438..449,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 454..474,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 454..465,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 471..503,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 471..503,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 500..534,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 500..534,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 531..571,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 531..563,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 568..608,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 568..601,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 991..1050,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 998..1006,\n                sym: \"WithBase\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [],\n            ),\n        ),\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1201..1218,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1201..1210,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1215..1239,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1215..1224,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 1230..1271,\n        ident: Ident {\n            span: 1240..1242,\n            sym: \"S2\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 1245..1257,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1245..1248,\n                            sym: \"foo\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 1262..1301,\n        ident: Ident {\n            span: 1272..1274,\n            sym: \"T2\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 1277..1293,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1277..1280,\n                            sym: \"foo\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1298..1317,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1298..1309,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1314..1334,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1314..1325,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1331..1360,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1331..1360,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1357..1391,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1357..1391,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1388..1425,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1388..1417,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1422..1462,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1422..1455,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 342..343,\n        sym: \"s\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 356..357,\n        sym: \"t\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 442..444,\n        sym: \"s2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 458..460,\n        sym: \"t2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 475..476,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 504..505,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 535..537,\n        sym: \"a2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 538..563,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 572..574,\n        sym: \"b2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 575..601,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 607..608,\n        sym: \"s\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 627..628,\n        sym: \"t\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 647..648,\n        sym: \"s\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 665..666,\n        sym: \"s\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 684..686,\n        sym: \"s2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 706..708,\n        sym: \"t2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 728..730,\n        sym: \"s2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 749..751,\n        sym: \"s2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 770..772,\n        sym: \"s2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 790..791,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 810..811,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 830..831,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 847..848,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 865..866,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 884..886,\n        sym: \"a2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 906..908,\n        sym: \"b2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 928..930,\n        sym: \"a2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 949..951,\n        sym: \"a2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 971..973,\n        sym: \"a2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1205..1206,\n        sym: \"s\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1219..1220,\n        sym: \"t\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1302..1304,\n        sym: \"s2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1318..1320,\n        sym: \"t2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1335..1336,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1361..1362,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1392..1394,\n        sym: \"a2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1395..1417,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1426..1428,\n        sym: \"b2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1429..1455,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1461..1462,\n        sym: \"s\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1478..1479,\n        sym: \"t\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1498..1499,\n        sym: \"s\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1516..1517,\n        sym: \"s\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1535..1537,\n        sym: \"s2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1554..1556,\n        sym: \"t2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1576..1578,\n        sym: \"s2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1594..1596,\n        sym: \"s2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1612..1614,\n        sym: \"s2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1632..1633,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1649..1650,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1669..1670,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1686..1687,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1704..1705,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1723..1725,\n        sym: \"a2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1742..1744,\n        sym: \"b2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1764..1766,\n        sym: \"a2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1782..1784,\n        sym: \"a2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1801..1803,\n        sym: \"a2\",\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)",
    "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: 551..558,\n        sym: \"Derived\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 558..562,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 547..562,\n        callee: _,\n        args: [],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 540..563,\n        props: [\n            KeyValueProp {\n                span: 542..562,\n                key: Ident(\n                    Ident {\n                        span: 542..545,\n                        sym: \"foo\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 588..596,\n        sym: \"Derived2\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 596..600,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 584..600,\n        callee: _,\n        args: [],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 577..601,\n        props: [\n            KeyValueProp {\n                span: 579..600,\n                key: Ident(\n                    Ident {\n                        span: 579..582,\n                        sym: \"foo\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 611..612,\n        sym: \"t\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 609..613,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 631..632,\n        sym: \"s\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 629..633,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 651..653,\n        sym: \"s2\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 649..654,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 669..671,\n        sym: \"a2\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 667..672,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 689..691,\n        sym: \"t2\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 687..692,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 711..713,\n        sym: \"s2\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 709..714,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 733..734,\n        sym: \"t\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 731..735,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 754..755,\n        sym: \"b\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 752..756,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 775..777,\n        sym: \"a2\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 773..778,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 794..795,\n        sym: \"b\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 792..796,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 814..815,\n        sym: \"a\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 812..816,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 834..835,\n        sym: \"s\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 832..836,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 851..853,\n        sym: \"s2\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 849..854,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 869..871,\n        sym: \"a2\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 867..872,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 889..891,\n        sym: \"b2\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 887..892,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 911..913,\n        sym: \"a2\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 909..914,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 933..934,\n        sym: \"b\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 931..935,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 954..956,\n        sym: \"t2\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 952..957,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 976..977,\n        sym: \"t\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 974..978,\n        left: _,\n        op: Assign,\n        right: _,\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: 1408..1412,\n        sym: \"Base\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1412..1416,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1404..1416,\n        callee: _,\n        args: [],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 1397..1417,\n        props: [\n            KeyValueProp {\n                span: 1399..1416,\n                key: Ident(\n                    Ident {\n                        span: 1399..1402,\n                        sym: \"foo\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1442..1450,\n        sym: \"Derived2\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1450..1454,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1438..1454,\n        callee: _,\n        args: [],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 1431..1455,\n        props: [\n            KeyValueProp {\n                span: 1433..1454,\n                key: Ident(\n                    Ident {\n                        span: 1433..1436,\n                        sym: \"foo\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1465..1466,\n        sym: \"t\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1463..1467,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1482..1483,\n        sym: \"s\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1480..1484,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1502..1504,\n        sym: \"s2\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1500..1505,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1520..1522,\n        sym: \"a2\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1518..1523,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1540..1542,\n        sym: \"t2\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1538..1543,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1559..1561,\n        sym: \"s2\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1557..1562,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1581..1582,\n        sym: \"t\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1579..1583,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1599..1600,\n        sym: \"b\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1597..1601,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1617..1619,\n        sym: \"a2\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1615..1620,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1636..1637,\n        sym: \"b\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1634..1638,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1653..1654,\n        sym: \"a\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1651..1655,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1673..1674,\n        sym: \"s\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1671..1675,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1690..1692,\n        sym: \"s2\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1688..1693,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1708..1710,\n        sym: \"a2\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1706..1711,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1728..1730,\n        sym: \"b2\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1726..1731,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1747..1749,\n        sym: \"a2\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1745..1750,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1769..1770,\n        sym: \"b\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1767..1771,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1787..1789,\n        sym: \"t2\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1785..1790,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1806..1807,\n        sym: \"t\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1804..1808,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": [
    "TypeRef(\n    TsTypeRef {\n        span: 387..395,\n        name: Ident {\n            span: 387..395,\n            sym: \"Derived\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 422..431,\n        name: Ident {\n            span: 422..431,\n            sym: \"Derived2\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1250..1255,\n        name: Ident {\n            span: 1250..1255,\n            sym: \"Base\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1282..1291,\n        name: Ident {\n            span: 1282..1291,\n            sym: \"Derived2\",\n        },\n        type_args: [],\n    },\n)"
  ]
}
