{
  "programs": [
    "Program {\n    span: 114..697,\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}"
  ],
  "stmts": [
    "Return(\n    ReturnStmt {\n        span: 138..152,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 202..216,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 334..352,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 502..520,\n        arg: Some(\n            _,\n        ),\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)"
  ],
  "decls": [
    "Fn(\n    FnDecl {\n        span: 114..156,\n        ident: Ident {\n            span: 123..124,\n            sym: \"f\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 153..179,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 153..174,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 176..220,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 176..220,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 217..245,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 217..240,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 242..275,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 242..275,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 272..302,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 272..295,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Class(\n    ClassDecl {\n        span: 297..358,\n        ident: Ident {\n            span: 303..304,\n            sym: \"C\",\n        },\n        declare: false,\n        class: _,\n    },\n)",
    "Var(\n    VarDecl {\n        span: 355..398,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 355..387,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 389..431,\n        ident: Ident {\n            span: 399..400,\n            sym: \"I\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 407..427,\n                kind: Method,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 407..408,\n                            sym: \"f\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [\n                    TsFnParam {\n                        span: 409..419,\n                        name: Some(\n                            Ident {\n                                span: 409..410,\n                                sym: \"x\",\n                            },\n                        ),\n                        ty: Some(\n                            _,\n                        ),\n                        is_rest: false,\n                        optional: false,\n                    },\n                ],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 428..441,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 428..437,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 438..469,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 438..462,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Class(\n    ClassDecl {\n        span: 464..526,\n        ident: Ident {\n            span: 470..472,\n            sym: \"C2\",\n        },\n        declare: false,\n        class: _,\n    },\n)",
    "Var(\n    VarDecl {\n        span: 523..567,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 523..556,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 558..596,\n        ident: Ident {\n            span: 568..570,\n            sym: \"I2\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 577..592,\n                kind: Method,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 577..578,\n                            sym: \"f\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [\n                    TsFnParam {\n                        span: 579..589,\n                        name: Some(\n                            Ident {\n                                span: 579..580,\n                                sym: \"x\",\n                            },\n                        ),\n                        ty: Some(\n                            _,\n                        ),\n                        is_rest: false,\n                        optional: false,\n                    },\n                ],\n                ty: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 593..608,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 593..604,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 605..635,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 605..630,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 632..642,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 632..638,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 639..665,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 639..660,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 662..678,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 662..674,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 675..697,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 675..697,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 125..126,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 157..158,\n        sym: \"r\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 159..174,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 180..182,\n        sym: \"f2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 186..187,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 183..220,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 221..223,\n        sym: \"r2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 224..240,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 246..248,\n        sym: \"f3\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 276..278,\n        sym: \"r3\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 279..295,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 313..314,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 359..361,\n        sym: \"r4\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 362..387,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 432..433,\n        sym: \"i\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 442..444,\n        sym: \"r5\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 445..462,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 481..482,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 527..529,\n        sym: \"r6\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 530..556,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 597..599,\n        sym: \"i2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 609..611,\n        sym: \"r7\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 612..630,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 636..637,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 643..645,\n        sym: \"r8\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 646..660,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 666..668,\n        sym: \"a2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 679..681,\n        sym: \"r8\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 682..697,\n        left: _,\n        right: _,\n    },\n)"
  ],
  "exprs": [
    "Lit(\n    Null(\n        NullLit {\n            span: 145..149,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 161..162,\n        sym: \"f\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 171..172,\n            value: 1.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 170..174,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 209..213,\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 185..220,\n        params: [\n            _,\n        ],\n        body: Block(\n            [\n                _,\n            ],\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 226..228,\n        sym: \"f2\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 237..238,\n            value: 1.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 236..240,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 281..283,\n        sym: \"f3\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 292..293,\n            value: 1.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 291..295,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 341..345,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 369..370,\n        sym: \"C\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 370..373,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 365..373,\n        callee: _,\n        args: [],\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 364..374,\n        expr: _,\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 373..376,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 374..375,\n                sym: \"f\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 384..385,\n            value: 1.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 383..387,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 447..448,\n        sym: \"i\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 448..451,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 449..450,\n                sym: \"f\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 459..460,\n            value: 1.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 458..462,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 509..513,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 537..539,\n        sym: \"C2\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 539..542,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 533..542,\n        callee: _,\n        args: [],\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 532..543,\n        expr: _,\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 542..545,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 543..544,\n                sym: \"f\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 553..554,\n            value: 1.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 552..556,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 614..616,\n        sym: \"i2\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 616..619,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 617..618,\n                sym: \"f\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 627..628,\n            value: 1.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 626..630,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 648..649,\n        sym: \"a\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 657..660,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 684..686,\n        sym: \"a2\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 694..697,\n        callee: _,\n        args: [],\n    },\n)"
  ],
  "module_decls": [],
  "functions": [
    "Function {\n    span: 311..354,\n    params: [\n        Param {\n            span: 313..323,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 479..522,\n    params: [\n        Param {\n            span: 481..491,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}"
  ],
  "classes": [
    "Class {\n    span: 297..358,\n    decorators: [],\n    ident: Some(\n        Ident {\n            span: 303..304,\n            sym: \"C\",\n        },\n    ),\n    super_class: None,\n    body: [\n        _,\n    ],\n}",
    "Class {\n    span: 464..526,\n    decorators: [],\n    ident: Some(\n        Ident {\n            span: 470..472,\n            sym: \"C2\",\n        },\n    ),\n    super_class: None,\n    body: [\n        _,\n    ],\n}"
  ],
  "class_members": [
    "Method(\n    ClassMethod {\n        span: 311..354,\n        decorators: [],\n        key: Ident(\n            Ident {\n                span: 311..312,\n                sym: \"f\",\n            },\n        ),\n        function: _,\n        is_static: false,\n        kind: Method,\n    },\n)",
    "Method(\n    ClassMethod {\n        span: 479..522,\n        decorators: [],\n        key: Ident(\n            Ident {\n                span: 479..480,\n                sym: \"f\",\n            },\n        ),\n        function: _,\n        is_static: false,\n        kind: Method,\n    },\n)"
  ],
  "jsx_elements": [],
  "ts_types": [
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Any,\n)",
    "Keyword(\n    Number,\n)"
  ]
}
