{
  "programs": [
    "Program {\n    span: 21..422,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 125..130,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 129..135,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 134..143,\n        stmts: [],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 142..152,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 178..199,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 246..255,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 250..259,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 272..301,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 258..318,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 315..324,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 319..333,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 346..376,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 332..382,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 381..395,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 392..422,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 421..422,\n        expr: _,\n    },\n)"
  ],
  "decls": [
    "TsModule(\n    TsModuleDecl {\n        span: 21..128,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 28..35,\n                sym: \"Generic\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [],\n            ),\n        ),\n    },\n)",
    "Var(\n    VarDecl {\n        span: 149..179,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 149..173,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 153..154,\n        sym: \"c\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 155..173,\n        left: _,\n        right: _,\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 125..128,\n        sym: \"set\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 129..130,\n        sym: \"y\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 131..132,\n        sym: \"v\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 130..135,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 161..162,\n        sym: \"C\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 170..173,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 157..173,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 178..179,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 179..183,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 180..181,\n                sym: \"y\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 184..185,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 185..188,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 186..187,\n                sym: \"y\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 182..188,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 246..249,\n        sym: \"get\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 250..255,\n        sym: \"value\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 255..259,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 279..283,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 283..291,\n        obj: _,\n        prop: Private(\n            Ident {\n                span: 284..290,\n                sym: \"#value\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 315..318,\n        sym: \"set\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 319..324,\n        sym: \"value\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 325..330,\n        sym: \"value\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 324..333,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 346..350,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 350..359,\n        obj: _,\n        prop: Private(\n            Ident {\n                span: 351..357,\n                sym: \"#value\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 360..365,\n        sym: \"value\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 358..366,\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: 396..399,\n        sym: \"Box\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 407..410,\n        callee: _,\n        args: [],\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 409..417,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 410..415,\n                sym: \"value\",\n            },\n        ),\n    },\n)",
    "New(\n    NewExpr {\n        span: 392..417,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 418..419,\n            value: 3.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 416..420,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": []
}
