{
  "programs": [
    "Program {\n    span: 18..408,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 82..109,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 153..166,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 199..249,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 243..333,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 327..408,\n        expr: _,\n    },\n)"
  ],
  "decls": [
    "Var(\n    VarDecl {\n        span: 18..49,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 18..40,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 106..159,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 106..148,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 41..171,\n        ident: Ident {\n            span: 50..62,\n            sym: \"incrementIdx\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 168..205,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 168..197,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 22..35,\n        sym: \"globalCounter\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 36..40,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 63..66,\n        sym: \"max\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 82..95,\n        sym: \"globalCounter\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 110..113,\n        sym: \"idx\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 114..148,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 172..178,\n        sym: \"array1\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 179..197,\n        left: _,\n        right: _,\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)"
  ],
  "exprs": [
    "Lit(\n    Num(\n        NumberLit {\n            span: 38..39,\n            value: 0.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 99..100,\n            value: 1.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 96..101,\n        left: _,\n        op: AddAssign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 116..120,\n        sym: \"Math\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 120..127,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 121..126,\n                sym: \"floor\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 127..131,\n        sym: \"Math\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 131..139,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 132..138,\n                sym: \"random\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 138..142,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 143..146,\n        sym: \"max\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 141..147,\n        op: Mul,\n        left: _,\n        right: _,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 126..148,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 160..163,\n        sym: \"idx\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 182..183,\n            value: 1.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 185..186,\n            value: 2.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 188..189,\n            value: 3.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 191..192,\n            value: 4.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 194..195,\n            value: 5.0,\n        },\n    ),\n)",
    "Array(\n    ArrayExpr {\n        span: 181..197,\n        elems: [\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 199..205,\n        sym: \"array1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 206..218,\n        sym: \"incrementIdx\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 219..225,\n        sym: \"array1\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 225..233,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 226..232,\n                sym: \"length\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 218..234,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 205..238,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 239..240,\n            value: 3.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 235..241,\n        left: _,\n        op: ExpAssign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 243..249,\n        sym: \"array1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 250..262,\n        sym: \"incrementIdx\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 263..269,\n        sym: \"array1\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 269..277,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 270..276,\n                sym: \"length\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 262..278,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 249..282,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 283..289,\n        sym: \"array1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 290..302,\n        sym: \"incrementIdx\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 303..309,\n        sym: \"array1\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 309..317,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 310..316,\n                sym: \"length\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 302..318,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 289..322,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 323..324,\n            value: 2.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 319..325,\n        left: _,\n        op: ExpAssign,\n        right: _,\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 279..325,\n        left: _,\n        op: ExpAssign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 327..333,\n        sym: \"array1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 334..346,\n        sym: \"incrementIdx\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 347..353,\n        sym: \"array1\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 353..361,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 354..360,\n                sym: \"length\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 346..362,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 333..366,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 367..373,\n        sym: \"array1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 374..386,\n        sym: \"incrementIdx\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 387..393,\n        sym: \"array1\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 393..401,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 394..400,\n                sym: \"length\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 386..402,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 373..405,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 406..407,\n            value: 2.0,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 403..408,\n        op: Exp,\n        left: _,\n        right: _,\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 363..408,\n        left: _,\n        op: ExpAssign,\n        right: _,\n    },\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": []
}
