{
  "programs": [
    "Program {\n    span: 231..1876,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Return(\n    ReturnStmt {\n        span: 270..330,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 409..478,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 581..655,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 706..846,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 1021..1176,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 1251..1418,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 1577..1875,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "Fn(\n    FnDecl {\n        span: 231..339,\n        ident: Ident {\n            span: 240..243,\n            sym: \"foo\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 331..487,\n        ident: Ident {\n            span: 340..344,\n            sym: \"foo2\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 479..664,\n        ident: Ident {\n            span: 488..492,\n            sym: \"foo3\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 656..855,\n        ident: Ident {\n            span: 665..669,\n            sym: \"foo4\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 992..1027,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 992..1016,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 847..1185,\n        ident: Ident {\n            span: 856..860,\n            sym: \"foo5\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1177..1427,\n        ident: Ident {\n            span: 1186..1190,\n            sym: \"foo6\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1469..1509,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1469..1501,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1506..1583,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1506..1538,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1419..1876,\n        ident: Ident {\n            span: 1428..1432,\n            sym: \"foo7\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 244..245,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 345..346,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 443..444,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 493..494,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 615..616,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 670..671,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 861..862,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 996..997,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1092..1093,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1191..1192,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1433..1434,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1473..1474,\n        sym: \"y\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1510..1511,\n        sym: \"z\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1619..1620,\n        sym: \"z\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1721..1722,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1818..1819,\n        sym: \"y\",\n    },\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 284..285,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 277..289,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 290..298,\n            value: \"string\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 286..301,\n        op: NotEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 302..303,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 303..314,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 304..310,\n                sym: \"length\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 315..317,\n            value: 10.0,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 311..318,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 299..318,\n        op: LogicalOr,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 423..424,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 416..428,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 429..437,\n            value: \"string\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 425..440,\n        op: NotEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 447..449,\n            value: 10.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 445..450,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 442..453,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 454..455,\n        sym: \"x\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 451..456,\n        op: LogicalOr,\n        left: _,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 441..457,\n        expr: _,\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 438..457,\n        op: LogicalOr,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 595..596,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 588..600,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 601..609,\n            value: \"string\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 597..612,\n        op: NotEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 619..626,\n            value: \"hello\",\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 617..627,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 614..630,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 631..632,\n        sym: \"x\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 628..633,\n        op: LogicalOr,\n        left: _,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 613..634,\n        expr: _,\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 610..634,\n        op: LogicalOr,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 720..721,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 713..725,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 726..734,\n            value: \"string\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 722..774,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 782..783,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 775..787,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 788..796,\n            value: \"number\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 784..828,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 772..828,\n        op: LogicalOr,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 829..830,\n        sym: \"x\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 826..831,\n        op: LogicalOr,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1035..1036,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 1028..1040,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1041..1049,\n            value: \"string\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 1037..1089,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1096..1097,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1094..1098,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 1091..1101,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1110..1111,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 1103..1115,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1116..1124,\n            value: \"number\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 1112..1156,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1157..1158,\n        sym: \"x\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 1154..1159,\n        op: LogicalOr,\n        left: _,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 1102..1160,\n        expr: _,\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 1099..1160,\n        op: LogicalOr,\n        left: _,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 1090..1161,\n        expr: _,\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 1087..1161,\n        op: LogicalOr,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1265..1266,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 1258..1270,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1271..1279,\n            value: \"string\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 1267..1319,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1328..1329,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 1321..1333,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1334..1342,\n            value: \"number\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 1330..1372,\n        op: NotEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1373..1374,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1396..1397,\n        sym: \"x\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1402..1404,\n            value: 10.0,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 1398..1405,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Cond(\n    CondExpr {\n        span: 1371..1405,\n        test: _,\n        cons: _,\n        alt: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 1320..1418,\n        expr: _,\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 1317..1418,\n        op: LogicalOr,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1591..1592,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 1584..1596,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1597..1605,\n            value: \"string\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 1593..1616,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1623..1624,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1621..1625,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 1618..1656,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1665..1666,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 1658..1670,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1671..1679,\n            value: \"number\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 1667..1718,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1725..1727,\n            value: 10.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 1723..1728,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 1720..1731,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1732..1733,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1733..1743,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1734..1742,\n                sym: \"toString\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1742..1745,\n        callee: _,\n        args: [],\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 1729..1745,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 1719..1815,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1822..1823,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1820..1824,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 1817..1827,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1828..1829,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1829..1839,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1830..1838,\n                sym: \"toString\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1838..1841,\n        callee: _,\n        args: [],\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 1825..1841,\n        op: LogicalAnd,\n        left: _,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 1816..1842,\n        expr: _,\n    },\n)",
    "Cond(\n    CondExpr {\n        span: 1717..1842,\n        test: _,\n        cons: _,\n        alt: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 1657..1843,\n        expr: _,\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 1654..1843,\n        op: LogicalOr,\n        left: _,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 1617..1844,\n        expr: _,\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 1614..1844,\n        op: LogicalOr,\n        left: _,\n        right: _,\n    },\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": []
}
