{
  "programs": [
    "Program {\n    span: 1..629,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Block(\n    BlockStmt {\n        span: 89..146,\n        stmts: [\n            _,\n            _,\n        ],\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Block(\n    BlockStmt {\n        span: 147..198,\n        stmts: [\n            _,\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 62..198,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Block(\n    BlockStmt {\n        span: 275..333,\n        stmts: [\n            _,\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 248..333,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Block(\n    BlockStmt {\n        span: 358..415,\n        stmts: [\n            _,\n            _,\n        ],\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Block(\n    BlockStmt {\n        span: 416..483,\n        stmts: [\n            _,\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 331..483,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Block(\n    BlockStmt {\n        span: 508..566,\n        stmts: [\n            _,\n            _,\n        ],\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Block(\n    BlockStmt {\n        span: 567..628,\n        stmts: [\n            _,\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 481..628,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "TsEnum(\n    TsEnumDecl {\n        span: 1..33,\n        ident: Ident {\n            span: 6..11,\n            sym: \"Color\",\n        },\n        declare: false,\n        is_const: false,\n        members: [\n            TsEnumMember {\n                span: 14..16,\n                name: Ident(\n                    Ident {\n                        span: 14..15,\n                        sym: \"R\",\n                    },\n                ),\n                init: None,\n            },\n            TsEnumMember {\n                span: 17..19,\n                name: Ident(\n                    Ident {\n                        span: 17..18,\n                        sym: \"G\",\n                    },\n                ),\n                init: None,\n            },\n            TsEnumMember {\n                span: 20..23,\n                name: Ident(\n                    Ident {\n                        span: 20..21,\n                        sym: \"B\",\n                    },\n                ),\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 99..121,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 99..109,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 118..137,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 118..131,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 157..179,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 157..167,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 176..196,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 176..190,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 25..208,\n        ident: Ident {\n            span: 34..36,\n            sym: \"f1\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 285..307,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 285..295,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 304..326,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 304..320,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 368..390,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 368..378,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 387..406,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 387..400,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 426..448,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 426..436,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 445..476,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 445..470,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 518..540,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 518..528,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 537..557,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 537..551,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 577..599,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 577..587,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 596..626,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 596..620,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 200..629,\n        ident: Ident {\n            span: 209..211,\n            sym: \"f2\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 37..38,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 103..104,\n        sym: \"y\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 105..109,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 122..123,\n        sym: \"y\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 161..162,\n        sym: \"z\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 163..167,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 180..181,\n        sym: \"z\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 212..213,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 289..290,\n        sym: \"y\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 291..295,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 308..309,\n        sym: \"y\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 372..373,\n        sym: \"z\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 374..378,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 391..392,\n        sym: \"z\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 430..431,\n        sym: \"w\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 432..436,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 449..450,\n        sym: \"w\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 522..523,\n        sym: \"a\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 524..528,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 541..542,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 581..582,\n        sym: \"b\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 583..587,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 600..601,\n        sym: \"b\",\n    },\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 73..74,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 66..78,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 79..87,\n            value: \"number\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 75..88,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 107..108,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 165..166,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 259..260,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 252..264,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 265..273,\n            value: \"object\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 261..274,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 293..294,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 342..343,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 335..347,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 348..356,\n            value: \"number\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 344..357,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 376..377,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 434..435,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 492..493,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 485..497,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 498..506,\n            value: \"string\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 494..507,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 526..527,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 585..586,\n        sym: \"x\",\n    },\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": []
}
