{
  "programs": [
    "Program {\n    span: 1..605,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 67..83,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 94..126,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 125..145,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 84..151,\n        stmts: [\n            _,\n            _,\n        ],\n    },\n)",
    "DoWhile(\n    DoWhileStmt {\n        span: 81..181,\n        body: _,\n        test: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 180..204,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 252..268,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 279..312,\n        expr: _,\n    },\n)",
    "Continue(\n    ContinueStmt {\n        span: 320..339,\n        label: None,\n    },\n)",
    "If(\n    IfStmt {\n        span: 310..339,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 338..358,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 269..364,\n        stmts: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "DoWhile(\n    DoWhileStmt {\n        span: 266..394,\n        body: _,\n        test: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 393..417,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 455..469,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 480..503,\n        expr: _,\n    },\n)",
    "Break(\n    BreakStmt {\n        span: 511..527,\n        label: None,\n    },\n)",
    "If(\n    IfStmt {\n        span: 501..527,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 526..546,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 470..552,\n        stmts: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "DoWhile(\n    DoWhileStmt {\n        span: 467..582,\n        body: _,\n        test: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 581..604,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "Var(\n    VarDecl {\n        span: 1..28,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1..19,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 20..213,\n        ident: Ident {\n            span: 29..30,\n            sym: \"a\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 205..426,\n        ident: Ident {\n            span: 214..215,\n            sym: \"b\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 418..605,\n        ident: Ident {\n            span: 427..428,\n            sym: \"c\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 5..9,\n        sym: \"cond\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 31..32,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 67..68,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 125..126,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 216..217,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 252..253,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 338..339,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 429..430,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 455..456,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 526..527,\n        sym: \"x\",\n    },\n)"
  ],
  "exprs": [
    "Lit(\n    Bool(\n        BoolLit {\n            span: 71..75,\n            value: true,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 69..76,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 94..95,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 129..138,\n        sym: \"undefined\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 127..139,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 160..161,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 153..165,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 166..174,\n            value: \"string\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 162..175,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 180..181,\n        sym: \"x\",\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 256..260,\n            value: true,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 254..261,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 279..280,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 314..318,\n        sym: \"cond\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 342..351,\n        sym: \"undefined\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 340..352,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 373..374,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 366..378,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 379..387,\n            value: \"string\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 375..388,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 393..394,\n        sym: \"x\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 459..461,\n            value: \"\",\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 457..462,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 480..481,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 505..509,\n        sym: \"cond\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 530..539,\n        sym: \"undefined\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 528..540,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 561..562,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 554..566,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 567..575,\n            value: \"string\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 563..576,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 581..582,\n        sym: \"x\",\n    },\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": []
}
