{
  "programs": [
    "Program {\n    span: 38..662,\n    kind: Script,\n    body: [\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: 63..74,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 100..112,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 136..155,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 179..188,\n        arg: None,\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 215..229,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 253..275,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 298..312,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 335..344,\n        arg: None,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 449..460,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 459..463,\n        stmts: [],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 462..469,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 502..512,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 525..545,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 569..586,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 608..625,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 647..661,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "Fn(\n    FnDecl {\n        span: 38..83,\n        ident: Ident {\n            span: 47..50,\n            sym: \"fn1\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 75..121,\n        ident: Ident {\n            span: 84..87,\n            sym: \"fn2\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 113..164,\n        ident: Ident {\n            span: 122..125,\n            sym: \"fn3\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 156..197,\n        ident: Ident {\n            span: 165..168,\n            sym: \"fn4\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 189..238,\n        ident: Ident {\n            span: 198..201,\n            sym: \"fn5\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 230..284,\n        ident: Ident {\n            span: 239..242,\n            sym: \"fn6\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 276..321,\n        ident: Ident {\n            span: 285..288,\n            sym: \"fn7\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 313..388,\n        ident: Ident {\n            span: 322..325,\n            sym: \"fn8\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 379..411,\n        ident: Ident {\n            span: 389..390,\n            sym: \"I\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 393..405,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 393..395,\n                            sym: \"id\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 504..556,\n        ident: Ident {\n            span: 513..517,\n            sym: \"fn10\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 548..595,\n        ident: Ident {\n            span: 557..561,\n            sym: \"fn11\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 587..634,\n        ident: Ident {\n            span: 596..600,\n            sym: \"fn12\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 626..662,\n        ident: Ident {\n            span: 635..639,\n            sym: \"fn13\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n        ],\n    },\n)"
  ],
  "pats": [],
  "exprs": [
    "Lit(\n    Num(\n        NumberLit {\n            span: 70..71,\n            value: 1.0,\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 107..109,\n            value: \"\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 143..152,\n        sym: \"undefined\",\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 222..226,\n            value: true,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 264..268,\n        sym: \"Date\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 269..271,\n            value: 12.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 268..273,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 260..273,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 305..309,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 449..456,\n        sym: \"dispose\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 456..460,\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    Num(\n        NumberLit {\n            span: 538..540,\n            value: 12.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 532..543,\n        props: [\n            KeyValueProp {\n                span: 534..542,\n                key: Ident(\n                    Ident {\n                        span: 534..536,\n                        sym: \"id\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 580..581,\n        sym: \"C\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 581..584,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 576..584,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 619..620,\n        sym: \"D\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 620..623,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 615..623,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 654..658,\n        },\n    ),\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": [
    "Keyword(\n    Number,\n)"
  ]
}
