{
  "programs": [
    "Program {\n    span: 72..960,\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}"
  ],
  "stmts": [
    "Expr(\n    ExprStmt {\n        span: 198..201,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 200..206,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 342..345,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 344..350,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 638..644,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 680..686,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 893..899,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 935..941,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "Var(\n    VarDecl {\n        span: 203..232,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 203..225,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 347..381,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 347..370,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 372..471,\n        ident: Ident {\n            span: 382..383,\n            sym: \"I\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 390..428,\n                kind: Construct,\n                name: None,\n                optional: false,\n                readonly: false,\n                params: [\n                    TsFnParam {\n                        span: 395..405,\n                        name: Some(\n                            Ident {\n                                span: 395..396,\n                                sym: \"x\",\n                            },\n                        ),\n                        ty: Some(\n                            _,\n                        ),\n                        is_rest: false,\n                        optional: false,\n                    },\n                    TsFnParam {\n                        span: 406..416,\n                        name: Some(\n                            Ident {\n                                span: 406..407,\n                                sym: \"y\",\n                            },\n                        ),\n                        ty: Some(\n                            _,\n                        ),\n                        is_rest: false,\n                        optional: false,\n                    },\n                ],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 425..466,\n                kind: Construct,\n                name: None,\n                optional: false,\n                readonly: false,\n                params: [\n                    TsFnParam {\n                        span: 430..440,\n                        name: Some(\n                            Ident {\n                                span: 430..431,\n                                sym: \"x\",\n                            },\n                        ),\n                        ty: Some(\n                            _,\n                        ),\n                        is_rest: false,\n                        optional: false,\n                    },\n                    TsFnParam {\n                        span: 441..451,\n                        name: Some(\n                            Ident {\n                                span: 441..442,\n                                sym: \"y\",\n                            },\n                        ),\n                        ty: Some(\n                            _,\n                        ),\n                        is_rest: false,\n                        optional: false,\n                    },\n                ],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 468..481,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 468..477,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 478..511,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 478..500,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 683..706,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 683..702,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 703..731,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 703..726,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 728..822,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 728..822,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 819..846,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 819..841,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 938..960,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 938..960,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 207..209,\n        sym: \"r1\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 210..225,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 351..353,\n        sym: \"r2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 354..370,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 472..473,\n        sym: \"i\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 482..484,\n        sym: \"r3\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 485..500,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 687..689,\n        sym: \"i2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 707..709,\n        sym: \"r4\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 710..726,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 732..733,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 823..825,\n        sym: \"r5\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 826..841,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 942..944,\n        sym: \"r6\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 945..960,\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)",
    "Ident(\n    Ident {\n        span: 216..217,\n        sym: \"C\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 218..219,\n            value: 1.0,\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 221..223,\n            value: \"\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 217..225,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 212..225,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 360..362,\n        sym: \"C2\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 363..364,\n            value: 1.0,\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 366..368,\n            value: \"\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 362..370,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 356..370,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 491..492,\n        sym: \"i\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 493..494,\n            value: 1.0,\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 496..498,\n            value: \"\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 492..500,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 487..500,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "New(\n    NewExpr {\n        span: 638..644,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 716..718,\n        sym: \"i2\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 719..720,\n            value: 1.0,\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 722..724,\n            value: \"\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 718..726,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 712..726,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 832..833,\n        sym: \"a\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 834..835,\n            value: 1.0,\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 837..839,\n            value: \"\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 833..841,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 828..841,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "New(\n    NewExpr {\n        span: 893..899,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 951..952,\n        sym: \"b\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 953..954,\n            value: 1.0,\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 956..958,\n            value: \"\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 952..960,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 947..960,\n        callee: _,\n        args: [],\n    },\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": [
    "Keyword(\n    Number,\n)",
    "Keyword(\n    String,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 418..420,\n        name: Ident {\n            span: 418..420,\n            sym: \"C\",\n        },\n        type_args: [],\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    String,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 453..455,\n        name: Ident {\n            span: 453..455,\n            sym: \"C\",\n        },\n        type_args: [],\n    },\n)"
  ]
}
