{
  "programs": [
    "Program {\n    span: 51..3733,\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        _,\n    ],\n}"
  ],
  "stmts": [
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 295..312,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 343..360,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 389..406,\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)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Empty(\n    EmptyStmt {\n        span: 1130..1131,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1166..1176,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1197..1201,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1200..1211,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Empty(\n    EmptyStmt {\n        span: 1258..1259,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1295..1315,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1351..1371,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1408..1422,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1421..1432,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Empty(\n    EmptyStmt {\n        span: 1479..1480,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1517..1531,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1530..1596,\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)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 2386..2410,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 2376..2412,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "For(\n    ForStmt {\n        span: 2355..2412,\n        head: In(\n            ForInHead {\n                left: Decl(\n                    _,\n                ),\n                right: _,\n            },\n        ),\n        body: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 2452..2496,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2488..2524,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2516..2557,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2549..2577,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2569..2597,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2589..2640,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2632..2676,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2828..2835,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2834..2837,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2836..2842,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 2861..2896,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2895..2921,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2920..2951,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2950..2968,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2967..2985,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2984..3025,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3024..3064,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 3219..3273,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3329..3339,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3338..3341,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 3340..3358,\n        stmts: [],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3357..3390,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3389..3396,\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)"
  ],
  "decls": [
    "TsInterface(\n    TsInterfaceDecl {\n        span: 51..160,\n        ident: Ident {\n            span: 61..66,\n            sym: \"Shape\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 73..96,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 73..77,\n                            sym: \"name\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 91..116,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 91..96,\n                            sym: \"width\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 110..137,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 110..116,\n                            sym: \"height\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 130..149,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 130..137,\n                            sym: \"visible\",\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: 151..199,\n        ident: Ident {\n            span: 161..166,\n            sym: \"Named\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 173..188,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 173..177,\n                            sym: \"name\",\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: 190..269,\n        ident: Ident {\n            span: 200..205,\n            sym: \"Point\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 212..228,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 212..213,\n                            sym: \"x\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 227..239,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 227..228,\n                            sym: \"y\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 402..450,\n        ident: Ident {\n            span: 407..410,\n            sym: \"T03\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 446..482,\n        ident: Ident {\n            span: 451..454,\n            sym: \"T10\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 478..523,\n        ident: Ident {\n            span: 483..486,\n            sym: \"T11\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 519..573,\n        ident: Ident {\n            span: 524..527,\n            sym: \"T12\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 569..610,\n        ident: Ident {\n            span: 574..577,\n            sym: \"T13\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 606..657,\n        ident: Ident {\n            span: 611..614,\n            sym: \"T14\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 653..688,\n        ident: Ident {\n            span: 658..661,\n            sym: \"T15\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 684..738,\n        ident: Ident {\n            span: 689..692,\n            sym: \"T16\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Var(\n    VarDecl {\n        span: 757..791,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 757..779,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 730..801,\n        ident: Ident {\n            span: 739..741,\n            sym: \"f1\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 844..878,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 844..866,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 793..888,\n        ident: Ident {\n            span: 802..804,\n            sym: \"f2\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 927..951,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 927..949,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 880..961,\n        ident: Ident {\n            span: 889..891,\n            sym: \"f3\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1000..1024,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1000..1022,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 953..1061,\n        ident: Ident {\n            span: 962..964,\n            sym: \"f4\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1077..1102,\n        ident: Ident {\n            span: 1082..1083,\n            sym: \"K\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1053..1131,\n        ident: Ident {\n            span: 1062..1065,\n            sym: \"f10\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1203..1259,\n        ident: Ident {\n            span: 1212..1215,\n            sym: \"f11\",\n        },\n        declare: false,\n        params: [],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1424..1480,\n        ident: Ident {\n            span: 1433..1436,\n            sym: \"f12\",\n        },\n        declare: false,\n        params: [],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1597..1671,\n        ident: Ident {\n            span: 1606..1620,\n            sym: \"objAndReadonly\",\n        },\n        declare: true,\n        params: [\n            _,\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1672..1746,\n        ident: Ident {\n            span: 1681..1694,\n            sym: \"objAndPartial\",\n        },\n        declare: true,\n        params: [\n            _,\n            _,\n        ],\n        body: [],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1759..1827,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1759..1809,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1824..1888,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1824..1880,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1885..1959,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1885..1947,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1738..1969,\n        ident: Ident {\n            span: 1747..1750,\n            sym: \"f20\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1982..2039,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1982..2031,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2036..2099,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2036..2091,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2096..2169,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2096..2157,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1961..2241,\n        ident: Ident {\n            span: 1970..1973,\n            sym: \"f21\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 2232..2290,\n        ident: Ident {\n            span: 2242..2245,\n            sym: \"Foo\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 2252..2268,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2252..2253,\n                            sym: \"a\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 2267..2280,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2267..2268,\n                            sym: \"b\",\n                        },\n                    ),\n                ),\n                optional: true,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2360..2368,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2360..2368,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 2282..2417,\n        ident: Ident {\n            span: 2291..2299,\n            sym: \"setState\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2414..2460,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2414..2451,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2839..2862,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2839..2860,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 3060..3110,\n        ident: Ident {\n            span: 3065..3067,\n            sym: \"T2\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3107..3146,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3107..3132,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3143..3190,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3143..3177,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 3392..3429,\n        ident: Ident {\n            span: 3397..3398,\n            sym: \"O\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3426..3458,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3426..3454,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3455..3555,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3455..3523,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3607..3635,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3607..3623,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 3547..3645,\n        ident: Ident {\n            span: 3556..3561,\n            sym: \"test1\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3704..3732,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3704..3720,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 3637..3733,\n        ident: Ident {\n            span: 3646..3651,\n            sym: \"test2\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 745..746,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 761..762,\n        sym: \"y\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 832..833,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 848..849,\n        sym: \"y\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 915..916,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 931..932,\n        sym: \"y\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 988..989,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1004..1005,\n        sym: \"y\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1624..1631,\n        sym: \"primary\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1636..1645,\n        sym: \"secondary\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1698..1705,\n        sym: \"primary\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1710..1719,\n        sym: \"secondary\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1763..1765,\n        sym: \"x1\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1766..1809,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1828..1830,\n        sym: \"x2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1831..1880,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1889..1891,\n        sym: \"x3\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1892..1947,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1986..1988,\n        sym: \"x1\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1989..2031,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2040..2042,\n        sym: \"x2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 2043..2091,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2100..2102,\n        sym: \"x3\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 2103..2157,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2322..2325,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2330..2335,\n        sym: \"props\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2364..2365,\n        sym: \"k\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 2418..2421,\n        sym: \"foo\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2843..2844,\n        sym: \"c\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 2845..2860,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3111..3113,\n        sym: \"x1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3147..3149,\n        sym: \"x2\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 3430..3431,\n        sym: \"o\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3459..3460,\n        sym: \"f\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3584..3587,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3611..3612,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 3613..3623,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3674..3677,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3708..3709,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 3710..3720,\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)",
    "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)",
    "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: 1768..1782,\n        sym: \"objAndReadonly\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1788..1789,\n            value: 0.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1794..1795,\n            value: 0.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 1783..1798,\n        props: [\n            KeyValueProp {\n                span: 1785..1790,\n                key: Ident(\n                    Ident {\n                        span: 1785..1786,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 1791..1797,\n                key: Ident(\n                    Ident {\n                        span: 1791..1792,\n                        sym: \"y\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1804..1805,\n            value: 1.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 1799..1808,\n        props: [\n            KeyValueProp {\n                span: 1801..1807,\n                key: Ident(\n                    Ident {\n                        span: 1801..1802,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1782..1809,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1833..1847,\n        sym: \"objAndReadonly\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1853..1854,\n            value: 0.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1859..1860,\n            value: 0.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 1848..1863,\n        props: [\n            KeyValueProp {\n                span: 1850..1855,\n                key: Ident(\n                    Ident {\n                        span: 1850..1851,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 1856..1862,\n                key: Ident(\n                    Ident {\n                        span: 1856..1857,\n                        sym: \"y\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1869..1870,\n            value: 1.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1875..1876,\n            value: 1.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 1864..1879,\n        props: [\n            KeyValueProp {\n                span: 1866..1871,\n                key: Ident(\n                    Ident {\n                        span: 1866..1867,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 1872..1878,\n                key: Ident(\n                    Ident {\n                        span: 1872..1873,\n                        sym: \"y\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1847..1880,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1894..1908,\n        sym: \"objAndReadonly\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1914..1915,\n            value: 0.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1920..1921,\n            value: 0.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 1909..1924,\n        props: [\n            KeyValueProp {\n                span: 1911..1916,\n                key: Ident(\n                    Ident {\n                        span: 1911..1912,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 1917..1923,\n                key: Ident(\n                    Ident {\n                        span: 1917..1918,\n                        sym: \"y\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1930..1931,\n            value: 1.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1936..1937,\n            value: 1.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1942..1943,\n            value: 1.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 1925..1946,\n        props: [\n            KeyValueProp {\n                span: 1927..1932,\n                key: Ident(\n                    Ident {\n                        span: 1927..1928,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 1933..1938,\n                key: Ident(\n                    Ident {\n                        span: 1933..1934,\n                        sym: \"y\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 1939..1945,\n                key: Ident(\n                    Ident {\n                        span: 1939..1940,\n                        sym: \"z\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1908..1947,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1991..2004,\n        sym: \"objAndPartial\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2010..2011,\n            value: 0.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2016..2017,\n            value: 0.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 2005..2020,\n        props: [\n            KeyValueProp {\n                span: 2007..2012,\n                key: Ident(\n                    Ident {\n                        span: 2007..2008,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 2013..2019,\n                key: Ident(\n                    Ident {\n                        span: 2013..2014,\n                        sym: \"y\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2026..2027,\n            value: 1.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 2021..2030,\n        props: [\n            KeyValueProp {\n                span: 2023..2029,\n                key: Ident(\n                    Ident {\n                        span: 2023..2024,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2004..2031,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2045..2058,\n        sym: \"objAndPartial\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2064..2065,\n            value: 0.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2070..2071,\n            value: 0.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 2059..2074,\n        props: [\n            KeyValueProp {\n                span: 2061..2066,\n                key: Ident(\n                    Ident {\n                        span: 2061..2062,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 2067..2073,\n                key: Ident(\n                    Ident {\n                        span: 2067..2068,\n                        sym: \"y\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2080..2081,\n            value: 1.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2086..2087,\n            value: 1.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 2075..2090,\n        props: [\n            KeyValueProp {\n                span: 2077..2082,\n                key: Ident(\n                    Ident {\n                        span: 2077..2078,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 2083..2089,\n                key: Ident(\n                    Ident {\n                        span: 2083..2084,\n                        sym: \"y\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2058..2091,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2105..2118,\n        sym: \"objAndPartial\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2124..2125,\n            value: 0.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2130..2131,\n            value: 0.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 2119..2134,\n        props: [\n            KeyValueProp {\n                span: 2121..2126,\n                key: Ident(\n                    Ident {\n                        span: 2121..2122,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 2127..2133,\n                key: Ident(\n                    Ident {\n                        span: 2127..2128,\n                        sym: \"y\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2140..2141,\n            value: 1.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2146..2147,\n            value: 1.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2152..2153,\n            value: 1.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 2135..2156,\n        props: [\n            KeyValueProp {\n                span: 2137..2142,\n                key: Ident(\n                    Ident {\n                        span: 2137..2138,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 2143..2148,\n                key: Ident(\n                    Ident {\n                        span: 2143..2144,\n                        sym: \"y\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 2149..2155,\n                key: Ident(\n                    Ident {\n                        span: 2149..2150,\n                        sym: \"z\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2118..2157,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2369..2374,\n        sym: \"props\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2386..2389,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2390..2391,\n        sym: \"k\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2389..2394,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2395..2400,\n        sym: \"props\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2401..2402,\n        sym: \"k\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2400..2404,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2393..2404,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2434..2441,\n            value: \"hello\",\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2446..2448,\n            value: 42.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 2429..2451,\n        props: [\n            KeyValueProp {\n                span: 2431..2442,\n                key: Ident(\n                    Ident {\n                        span: 2431..2432,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 2443..2450,\n                key: Ident(\n                    Ident {\n                        span: 2443..2444,\n                        sym: \"b\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2452..2460,\n        sym: \"setState\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2461..2464,\n        sym: \"foo\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2471..2477,\n            value: \"test\",\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2482..2484,\n            value: 43.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 2466..2487,\n        props: [\n            KeyValueProp {\n                span: 2468..2478,\n                key: Ident(\n                    Ident {\n                        span: 2468..2469,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 2479..2486,\n                key: Ident(\n                    Ident {\n                        span: 2479..2480,\n                        sym: \"b\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2460..2496,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2488..2496,\n        sym: \"setState\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2497..2500,\n        sym: \"foo\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2507..2511,\n            value: \"hi\",\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 2502..2514,\n        props: [\n            KeyValueProp {\n                span: 2504..2513,\n                key: Ident(\n                    Ident {\n                        span: 2504..2505,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2496..2515,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2516..2524,\n        sym: \"setState\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2525..2528,\n        sym: \"foo\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2535..2544,\n        sym: \"undefined\",\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 2530..2547,\n        props: [\n            KeyValueProp {\n                span: 2532..2546,\n                key: Ident(\n                    Ident {\n                        span: 2532..2533,\n                        sym: \"b\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2524..2548,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2549..2557,\n        sym: \"setState\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2558..2561,\n        sym: \"foo\",\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 2563..2567,\n        props: [],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2557..2568,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2569..2577,\n        sym: \"setState\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2578..2581,\n        sym: \"foo\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2583..2586,\n        sym: \"foo\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2577..2588,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2589..2597,\n        sym: \"setState\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2598..2601,\n        sym: \"foo\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2608..2617,\n        sym: \"undefined\",\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 2603..2620,\n        props: [\n            KeyValueProp {\n                span: 2605..2619,\n                key: Ident(\n                    Ident {\n                        span: 2605..2606,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2597..2621,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2632..2640,\n        sym: \"setState\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2641..2644,\n        sym: \"foo\",\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 2651..2655,\n            value: true,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 2646..2658,\n        props: [\n            KeyValueProp {\n                span: 2648..2657,\n                key: Ident(\n                    Ident {\n                        span: 2648..2649,\n                        sym: \"c\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2640..2659,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\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: 2851..2852,\n        sym: \"C\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2857..2860,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 2847..2860,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2861..2862,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2862..2872,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2863..2871,\n                sym: \"setState\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2877..2883,\n            value: \"test\",\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2888..2890,\n            value: 43.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 2872..2893,\n        props: [\n            KeyValueProp {\n                span: 2874..2884,\n                key: Ident(\n                    Ident {\n                        span: 2874..2875,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 2885..2892,\n                key: Ident(\n                    Ident {\n                        span: 2885..2886,\n                        sym: \"b\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2871..2894,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2895..2896,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2896..2906,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2897..2905,\n                sym: \"setState\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2911..2915,\n            value: \"hi\",\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 2906..2918,\n        props: [\n            KeyValueProp {\n                span: 2908..2917,\n                key: Ident(\n                    Ident {\n                        span: 2908..2909,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2905..2919,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2920..2921,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2921..2931,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2922..2930,\n                sym: \"setState\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2936..2945,\n        sym: \"undefined\",\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 2931..2948,\n        props: [\n            KeyValueProp {\n                span: 2933..2947,\n                key: Ident(\n                    Ident {\n                        span: 2933..2934,\n                        sym: \"b\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2930..2949,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2950..2951,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2951..2961,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2952..2960,\n                sym: \"setState\",\n            },\n        ),\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 2961..2965,\n        props: [],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2960..2966,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2967..2968,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2968..2978,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2969..2977,\n                sym: \"setState\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2978..2981,\n        sym: \"foo\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2977..2983,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2984..2985,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2985..2995,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2986..2994,\n                sym: \"setState\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3000..3009,\n        sym: \"undefined\",\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 2995..3012,\n        props: [\n            KeyValueProp {\n                span: 2997..3011,\n                key: Ident(\n                    Ident {\n                        span: 2997..2998,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2994..3013,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 3024..3025,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3025..3035,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3026..3034,\n                sym: \"setState\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 3040..3044,\n            value: true,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 3035..3047,\n        props: [\n            KeyValueProp {\n                span: 3037..3046,\n                key: Ident(\n                    Ident {\n                        span: 3037..3038,\n                        sym: \"c\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 3034..3048,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3125..3129,\n            value: \"no\",\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 3120..3132,\n        props: [\n            KeyValueProp {\n                span: 3122..3131,\n                key: Ident(\n                    Ident {\n                        span: 3122..3123,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3170..3174,\n            value: \"no\",\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 3165..3177,\n        props: [\n            KeyValueProp {\n                span: 3167..3176,\n                key: Ident(\n                    Ident {\n                        span: 3167..3168,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3228..3232,\n            value: \"no\",\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 3223..3235,\n        props: [\n            KeyValueProp {\n                span: 3225..3234,\n                key: Ident(\n                    Ident {\n                        span: 3225..3226,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3221..3235,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 3336..3338,\n        sym: \"pt\",\n    },\n)",
    "Seq(\n    SeqExpr {\n        span: 3329..3339,\n        exprs: [\n            _,\n            _,\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    Num(\n        NumberLit {\n            span: 3441..3442,\n            value: 5.0,\n        },\n    ),\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 3447..3452,\n            value: false,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 3437..3454,\n        props: [\n            KeyValueProp {\n                span: 3438..3443,\n                key: Ident(\n                    Ident {\n                        span: 3438..3439,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 3444..3453,\n                key: Ident(\n                    Ident {\n                        span: 3444..3445,\n                        sym: \"y\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 3491..3492,\n            value: 7.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 3487..3494,\n        props: [\n            KeyValueProp {\n                span: 3488..3493,\n                key: Ident(\n                    Ident {\n                        span: 3488..3489,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 3507..3508,\n            value: 7.0,\n        },\n    ),\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 3513..3518,\n            value: false,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 3503..3520,\n        props: [\n            KeyValueProp {\n                span: 3504..3509,\n                key: Ident(\n                    Ident {\n                        span: 3504..3505,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 3510..3519,\n                key: Ident(\n                    Ident {\n                        span: 3510..3511,\n                        sym: \"y\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 3477..3523,\n        props: [\n            KeyValueProp {\n                span: 3483..3494,\n                key: Ident(\n                    Ident {\n                        span: 3483..3485,\n                        sym: \"pf\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 3499..3520,\n                key: Ident(\n                    Ident {\n                        span: 3499..3501,\n                        sym: \"pt\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 3615..3618,\n        sym: \"obj\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3618..3623,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3619..3622,\n                sym: \"foo\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3712..3715,\n        sym: \"obj\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3715..3720,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3716..3719,\n                sym: \"foo\",\n            },\n        ),\n    },\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": [
    "Keyword(\n    String,\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Boolean,\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 420..425,\n        name: Ident {\n            span: 420..425,\n            sym: \"Date\",\n        },\n        type_args: [],\n    },\n)",
    "Keyword(\n    Number,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 413..434,\n        name: Ident {\n            span: 413..420,\n            sym: \"Record\",\n        },\n        type_args: [\n            _,\n            _,\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 462..468,\n        name: Ident {\n            span: 462..468,\n            sym: \"Shape\",\n        },\n        type_args: [],\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 469..475,\n            value: \"name\",\n        },\n    ),\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 457..477,\n        name: Ident {\n            span: 457..462,\n            sym: \"Pick\",\n        },\n        type_args: [\n            _,\n            _,\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 494..500,\n        name: Ident {\n            span: 494..500,\n            sym: \"Shape\",\n        },\n        type_args: [],\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 501..506,\n            value: \"foo\",\n        },\n    ),\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 489..508,\n        name: Ident {\n            span: 489..494,\n            sym: \"Pick\",\n        },\n        type_args: [\n            _,\n            _,\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 535..541,\n        name: Ident {\n            span: 535..541,\n            sym: \"Shape\",\n        },\n        type_args: [],\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 542..548,\n            value: \"name\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 551..556,\n            value: \"foo\",\n        },\n    ),\n)",
    "Union(\n    TsUnionType {\n        span: 542..557,\n        types: [\n            _,\n            _,\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 530..558,\n        name: Ident {\n            span: 530..535,\n            sym: \"Pick\",\n        },\n        type_args: [\n            _,\n            _,\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 585..591,\n        name: Ident {\n            span: 585..591,\n            sym: \"Shape\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 598..604,\n        name: Ident {\n            span: 598..604,\n            sym: \"Named\",\n        },\n        type_args: [],\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 592..604,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 580..605,\n        name: Ident {\n            span: 580..585,\n            sym: \"Pick\",\n        },\n        type_args: [\n            _,\n            _,\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 622..628,\n        name: Ident {\n            span: 622..628,\n            sym: \"Shape\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 635..641,\n        name: Ident {\n            span: 635..641,\n            sym: \"Point\",\n        },\n        type_args: [],\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 629..641,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 617..642,\n        name: Ident {\n            span: 617..622,\n            sym: \"Pick\",\n        },\n        type_args: [\n            _,\n            _,\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 669..675,\n        name: Ident {\n            span: 669..675,\n            sym: \"Shape\",\n        },\n        type_args: [],\n    },\n)",
    "Keyword(\n    Never,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 664..683,\n        name: Ident {\n            span: 664..669,\n            sym: \"Pick\",\n        },\n        type_args: [\n            _,\n            _,\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 700..706,\n        name: Ident {\n            span: 700..706,\n            sym: \"Shape\",\n        },\n        type_args: [],\n    },\n)",
    "Keyword(\n    Undefined,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 695..718,\n        name: Ident {\n            span: 695..700,\n            sym: \"Pick\",\n        },\n        type_args: [\n            _,\n            _,\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1092..1094,\n        name: Ident {\n            span: 1092..1094,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 1086..1094,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    Any,\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 3070..3105,\n        members: [\n            TsTypeMember {\n                span: 3072..3085,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 3072..3073,\n                            sym: \"a\",\n                        },\n                    ),\n                ),\n                optional: true,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 3084..3104,\n                kind: Index,\n                name: None,\n                optional: false,\n                readonly: false,\n                params: [\n                    TsFnParam {\n                        span: 3085..3088,\n                        name: Some(\n                            Ident {\n                                span: 3085..3088,\n                                sym: \"key\",\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)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Boolean,\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 3401..3425,\n        members: [\n            TsTypeMember {\n                span: 3402..3414,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 3402..3403,\n                            sym: \"x\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 3413..3424,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 3413..3414,\n                            sym: \"y\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)"
  ]
}
