{
  "programs": [
    "Program {\n    span: 1..793,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Expr(\n    ExprStmt {\n        span: 38..46,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 45..49,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 86..94,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 93..97,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 142..150,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 149..157,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 156..160,\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)",
    "Return(\n    ReturnStmt {\n        span: 392..403,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 768..779,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "Fn(\n    FnDecl {\n        span: 1..59,\n        ident: Ident {\n            span: 10..14,\n            sym: \"left\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n            _,\n        ],\n        body: [\n            _,\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 51..107,\n        ident: Ident {\n            span: 60..65,\n            sym: \"right\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n        ],\n        body: [\n            _,\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 99..170,\n        ident: Ident {\n            span: 108..114,\n            sym: \"right2\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 191..199,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 191..197,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 162..209,\n        ident: Ident {\n            span: 171..177,\n            sym: \"inside\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 226..245,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 226..232,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 330..342,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 330..336,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 237..344,\n        ident: Ident {\n            span: 246..252,\n            sym: \"inside\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 201..354,\n        ident: Ident {\n            span: 210..217,\n            sym: \"outside\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 346..424,\n        ident: Ident {\n            span: 355..373,\n            sym: \"defaultArgFunction\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 416..477,\n        ident: Ident {\n            span: 425..440,\n            sym: \"defaultArgArrow\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n        ],\n        body: [],\n    },\n)",
    "Class(\n    ClassDecl {\n        span: 472..575,\n        ident: Ident {\n            span: 478..479,\n            sym: \"C\",\n        },\n        declare: false,\n        class: _,\n    },\n)",
    "Var(\n    VarDecl {\n        span: 607..615,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 607..613,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 572..744,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 572..616,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 736..793,\n        ident: Ident {\n            span: 745..746,\n            sym: \"f\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n            _,\n        ],\n        body: [],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 15..16,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 18..19,\n        sym: \"b\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 20..24,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 25..26,\n        sym: \"c\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 27..31,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 66..67,\n        sym: \"a\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 68..72,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 73..74,\n        sym: \"b\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 75..79,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 115..116,\n        sym: \"a\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 117..121,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 122..123,\n        sym: \"b\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 124..128,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 129..130,\n        sym: \"c\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 131..135,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 178..179,\n        sym: \"a\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 180..184,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 195..196,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 230..231,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 253..254,\n        sym: \"a\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 255..259,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 334..335,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 374..375,\n        sym: \"a\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 376..404,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 405..406,\n        sym: \"b\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 407..411,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 441..442,\n        sym: \"a\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 443..459,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 460..461,\n        sym: \"b\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 462..466,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 498..499,\n        sym: \"a\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 500..504,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 505..506,\n        sym: \"b\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 507..511,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 527..528,\n        sym: \"a\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 529..533,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 534..535,\n        sym: \"b\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 536..540,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 576..577,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 581..582,\n        sym: \"a\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 583..587,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 588..589,\n        sym: \"b\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 590..594,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 595..596,\n        sym: \"c\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 597..601,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 611..612,\n        sym: \"d\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 578..616,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 747..748,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 750..751,\n        sym: \"b\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 752..780,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 781..782,\n        sym: \"c\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 783..789,\n        left: _,\n        right: _,\n    },\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 22..23,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 29..30,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 38..39,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 45..46,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 70..71,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 77..78,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 86..87,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 93..94,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 119..120,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 126..127,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 133..134,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 142..143,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 149..150,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 156..157,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 182..183,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 257..258,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 399..400,\n        sym: \"b\",\n    },\n)",
    "Function(\n    _,\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 409..410,\n            value: 1.0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 457..458,\n        sym: \"b\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 451..459,\n        params: [],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 445..459,\n        params: [],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 464..465,\n            value: 3.0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 502..503,\n        sym: \"b\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 509..510,\n            value: 1.0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 531..532,\n        sym: \"b\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 538..539,\n            value: 1.0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 585..586,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 592..593,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 599..600,\n        sym: \"d\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 580..616,\n        params: [\n            _,\n            _,\n            _,\n        ],\n        body: Block(\n            [\n                _,\n            ],\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 775..776,\n        sym: \"c\",\n    },\n)",
    "Function(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 785..786,\n        sym: \"b\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 786..789,\n        callee: _,\n        args: [],\n    },\n)"
  ],
  "module_decls": [],
  "functions": [
    "Function {\n    span: 378..404,\n    params: [],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 486..526,\n    params: [\n        Param {\n            span: 498..504,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 505..511,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 520..546,\n    params: [\n        Param {\n            span: 527..533,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 534..540,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 754..780,\n    params: [],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}"
  ],
  "classes": [
    "Class {\n    span: 472..575,\n    decorators: [],\n    ident: Some(\n        Ident {\n            span: 478..479,\n            sym: \"C\",\n        },\n    ),\n    super_class: None,\n    body: [\n        _,\n        _,\n    ],\n}"
  ],
  "class_members": [
    "Method(\n    ClassMethod {\n        span: 486..526,\n        decorators: [],\n        key: Ident(\n            Ident {\n                span: 486..497,\n                sym: \"constructor\",\n            },\n        ),\n        function: _,\n        is_static: false,\n        kind: Constructor,\n    },\n)",
    "Method(\n    ClassMethod {\n        span: 520..546,\n        decorators: [],\n        key: Ident(\n            Ident {\n                span: 520..526,\n                sym: \"method\",\n            },\n        ),\n        function: _,\n        is_static: false,\n        kind: Method,\n    },\n)"
  ],
  "jsx_elements": [],
  "ts_types": []
}
