{
  "programs": [
    "Program {\n    span: 19..948,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Expr(\n    ExprStmt {\n        span: 79..100,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Block(\n    BlockStmt {\n        span: 69..193,\n        stmts: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 58..193,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 347..371,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 501..524,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 391..526,\n        stmts: [\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 369..526,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 656..679,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 599..681,\n        stmts: [\n            _,\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 579..681,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 723..751,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 750..785,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 784..820,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 917..948,\n        expr: _,\n    },\n)"
  ],
  "decls": [
    "Var(\n    VarDecl {\n        span: 97..150,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 97..115,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 147..191,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 147..162,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 19..203,\n        ident: Ident {\n            span: 28..30,\n            sym: \"f1\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 245..287,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 245..261,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 284..326,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 284..300,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 323..348,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 323..342,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 401..440,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 401..417,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 437..476,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 437..453,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 473..502,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 473..492,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 195..536,\n        ident: Ident {\n            span: 204..206,\n            sym: \"f2\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 609..657,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 609..628,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 528..691,\n        ident: Ident {\n            span: 537..539,\n            sym: \"f3\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 703..724,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 703..718,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 683..848,\n        ident: Ident {\n            span: 692..694,\n            sym: \"f4\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 879..922,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 879..916,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 31..34,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 79..82,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 101..103,\n        sym: \"a1\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 104..115,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 151..153,\n        sym: \"a2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 154..162,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 207..210,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 249..251,\n        sym: \"a0\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 252..261,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 288..290,\n        sym: \"a1\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 291..300,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 328..330,\n        sym: \"b0\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 332..334,\n        sym: \"b1\",\n    },\n)",
    "Array(\n    ArrayPat {\n        span: 327..337,\n        elems: [\n            Some(\n                _,\n            ),\n            Some(\n                _,\n            ),\n        ],\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 405..407,\n        sym: \"c0\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 408..417,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 441..443,\n        sym: \"c1\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 444..453,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 478..480,\n        sym: \"d0\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 482..484,\n        sym: \"d1\",\n    },\n)",
    "Array(\n    ArrayPat {\n        span: 477..487,\n        elems: [\n            Some(\n                _,\n            ),\n            Some(\n                _,\n            ),\n        ],\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 540..543,\n        sym: \"obj\",\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 613..623,\n        props: [\n            Assign(\n                ObjectPatAssign {\n                    span: 615..617,\n                    key: Ident {\n                        span: 615..616,\n                        sym: \"a\",\n                    },\n                    value: None,\n                },\n            ),\n            Assign(\n                ObjectPatAssign {\n                    span: 618..621,\n                    key: Ident {\n                        span: 618..619,\n                        sym: \"b\",\n                    },\n                    value: None,\n                },\n            ),\n        ],\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 707..708,\n        sym: \"x\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 884..887,\n        sym: \"key\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 889..894,\n        sym: \"value\",\n    },\n)",
    "Array(\n    ArrayPat {\n        span: 883..896,\n        elems: [\n            Some(\n                _,\n            ),\n            Some(\n                _,\n            ),\n        ],\n    },\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 62..65,\n        sym: \"obj\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 65..68,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 66..67,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 85..88,\n        props: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 83..88,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 106..109,\n        sym: \"obj\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 110..113,\n            value: \"a\",\n        },\n    ),\n)",
    "Member(\n    MemberExpr {\n        span: 109..115,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 156..159,\n        sym: \"obj\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 159..162,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 160..161,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 254..257,\n        sym: \"obj\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 258..259,\n            value: 0.0,\n        },\n    ),\n)",
    "Member(\n    MemberExpr {\n        span: 257..261,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 293..296,\n        sym: \"obj\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 297..298,\n            value: 1.0,\n        },\n    ),\n)",
    "Member(\n    MemberExpr {\n        span: 296..300,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 338..341,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 349..351,\n        sym: \"a0\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 353..355,\n        sym: \"a1\",\n    },\n)",
    "Array(\n    ArrayExpr {\n        span: 348..358,\n        elems: [\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 359..362,\n        sym: \"obj\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 357..363,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 347..364,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 373..376,\n        sym: \"obj\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 377..378,\n            value: 0.0,\n        },\n    ),\n)",
    "Member(\n    MemberExpr {\n        span: 376..382,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 383..386,\n        sym: \"obj\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 387..388,\n            value: 1.0,\n        },\n    ),\n)",
    "Member(\n    MemberExpr {\n        span: 386..390,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 380..390,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 410..413,\n        sym: \"obj\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 414..415,\n            value: 0.0,\n        },\n    ),\n)",
    "Member(\n    MemberExpr {\n        span: 413..417,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 446..449,\n        sym: \"obj\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 450..451,\n            value: 1.0,\n        },\n    ),\n)",
    "Member(\n    MemberExpr {\n        span: 449..453,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 488..491,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 503..505,\n        sym: \"c0\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 507..509,\n        sym: \"c1\",\n    },\n)",
    "Array(\n    ArrayExpr {\n        span: 502..512,\n        elems: [\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 513..516,\n        sym: \"obj\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 511..517,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 501..518,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 583..586,\n        sym: \"obj\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 586..591,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 587..588,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 592..595,\n        sym: \"obj\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 595..598,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 596..597,\n                sym: \"b\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 589..598,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 624..627,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 659..660,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 662..663,\n        sym: \"b\",\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 657..667,\n        props: [\n            KeyValueProp {\n                span: 659..661,\n                key: Ident(\n                    Ident {\n                        span: 659..660,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 662..665,\n                key: Ident(\n                    Ident {\n                        span: 662..663,\n                        sym: \"b\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 668..671,\n        sym: \"obj\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 666..672,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 656..673,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 726..727,\n        sym: \"x\",\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 724..731,\n        props: [\n            KeyValueProp {\n                span: 726..729,\n                key: Ident(\n                    Ident {\n                        span: 726..727,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 732..733,\n            value: 0.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 730..734,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 723..735,\n        expr: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 754..757,\n            value: \"x\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 760..761,\n        sym: \"x\",\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 751..765,\n        props: [\n            KeyValueProp {\n                span: 753..763,\n                key: Computed(\n                    _,\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 766..767,\n            value: 0.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 764..768,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 750..769,\n        expr: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 788..791,\n            value: \"x\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 794..796,\n            value: \"\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 792..797,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 799..800,\n        sym: \"x\",\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 785..804,\n        props: [\n            KeyValueProp {\n                span: 787..802,\n                key: Computed(\n                    _,\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 805..806,\n            value: 0.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 803..807,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 784..808,\n        expr: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 909..914,\n            value: \"foo\",\n        },\n    ),\n)",
    "Array(\n    ArrayExpr {\n        span: 908..916,\n        elems: [\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 917..922,\n        sym: \"value\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 922..935,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 923..934,\n                sym: \"toUpperCase\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 934..937,\n        callee: _,\n        args: [],\n    },\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": []
}
