{
  "programs": [
    "Program {\n    span: 43..961,\n    kind: Module,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "Var(\n    VarDecl {\n        span: 89..120,\n        kind: Var,\n        declare: true,\n        declarators: [\n            VarDeclarator {\n                span: 89..112,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 121..154,\n        kind: Var,\n        declare: true,\n        declarators: [\n            VarDeclarator {\n                span: 121..147,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 149..178,\n        ident: Ident {\n            span: 164..166,\n            sym: \"f0\",\n        },\n        declare: false,\n        params: [],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 173..217,\n        ident: Ident {\n            span: 188..190,\n            sym: \"f1\",\n        },\n        declare: false,\n        params: [],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 212..257,\n        ident: Ident {\n            span: 227..229,\n            sym: \"f3\",\n        },\n        declare: false,\n        params: [],\n        body: [],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 254..287,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 254..287,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 284..332,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 284..332,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 329..380,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 329..380,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 377..406,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 377..402,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 403..447,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 403..443,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 444..491,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 444..486,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 488..516,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 488..512,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 513..542,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 513..538,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 539..585,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 539..581,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 582..630,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 582..625,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 627..728,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 627..721,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Class(\n    ClassDecl {\n        span: 723..923,\n        ident: Ident {\n            span: 729..730,\n            sym: \"C\",\n        },\n        declare: false,\n        class: _,\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 936..961,\n        ident: Ident {\n            span: 951..953,\n            sym: \"f1\",\n        },\n        declare: false,\n        params: [],\n        body: [],\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 917..961,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 924..925,\n                sym: \"M\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                ],\n            ),\n        ),\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 93..94,\n        sym: \"p\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 125..127,\n        sym: \"mp\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 258..260,\n        sym: \"f4\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 261..287,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 288..290,\n        sym: \"f5\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 291..332,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 333..335,\n        sym: \"f6\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 336..380,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 381..383,\n        sym: \"f7\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 384..402,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 407..409,\n        sym: \"f8\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 410..443,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 448..450,\n        sym: \"f9\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 451..486,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 492..495,\n        sym: \"f10\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 496..512,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 517..520,\n        sym: \"f11\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 521..538,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 543..546,\n        sym: \"f12\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 547..581,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 586..589,\n        sym: \"f13\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 590..625,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 631..632,\n        sym: \"o\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 633..721,\n        left: _,\n        right: _,\n    },\n)"
  ],
  "exprs": [
    "Function(\n    _,\n)",
    "Function(\n    _,\n)",
    "Function(\n    _,\n)",
    "Arrow(\n    ArrowExpr {\n        span: 392..402,\n        params: [],\n        body: Block(\n            [],\n        ),\n        is_async: true,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 418..443,\n        params: [],\n        body: Block(\n            [],\n        ),\n        is_async: true,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 459..486,\n        params: [],\n        body: Block(\n            [],\n        ),\n        is_async: true,\n    },\n)",
    "Ident(\n    Ident {\n        span: 510..511,\n        sym: \"p\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 504..512,\n        params: [],\n        body: Expr(\n            _,\n        ),\n        is_async: true,\n    },\n)",
    "Ident(\n    Ident {\n        span: 535..537,\n        sym: \"mp\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 529..538,\n        params: [],\n        body: Expr(\n            _,\n        ),\n        is_async: true,\n    },\n)",
    "Ident(\n    Ident {\n        span: 578..580,\n        sym: \"mp\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 555..581,\n        params: [],\n        body: Expr(\n            _,\n        ),\n        is_async: true,\n    },\n)",
    "Ident(\n    Ident {\n        span: 623..624,\n        sym: \"p\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 598..625,\n        params: [],\n        body: Expr(\n            _,\n        ),\n        is_async: true,\n    },\n)",
    "Function(\n    _,\n)",
    "Function(\n    _,\n)",
    "Function(\n    _,\n)",
    "Object(\n    ObjectExpr {\n        span: 635..721,\n        props: [\n            KeyValueProp {\n                span: 638..653,\n                key: Ident(\n                    Ident {\n                        span: 644..646,\n                        sym: \"m1\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 655..685,\n                key: Ident(\n                    Ident {\n                        span: 661..663,\n                        sym: \"m2\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 687..720,\n                key: Ident(\n                    Ident {\n                        span: 693..695,\n                        sym: \"m3\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)"
  ],
  "module_decls": [
    "Import(\n    ImportDecl {\n        span: 43..88,\n        specifiers: [\n            Named(\n                ImportNamedSpecifier {\n                    local: Ident {\n                        span: 52..61,\n                        sym: \"MyPromise\",\n                    },\n                    imported: Some(\n                        Ident {\n                            span: 52..61,\n                            sym: \"MyPromise\",\n                        },\n                    ),\n                    is_type_only: false,\n                },\n            ),\n        ],\n        type_only: false,\n        src: StrLit {\n            span: 69..78,\n            value: \"missing\",\n        },\n        with: [],\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 929..961,\n        decl: _,\n    },\n)"
  ],
  "functions": [
    "Function {\n    span: 263..287,\n    params: [],\n    body: [],\n    is_async: true,\n    is_generator: false,\n}",
    "Function {\n    span: 293..332,\n    params: [],\n    body: [],\n    is_async: true,\n    is_generator: false,\n}",
    "Function {\n    span: 338..380,\n    params: [],\n    body: [],\n    is_async: true,\n    is_generator: false,\n}",
    "Function {\n    span: 638..653,\n    params: [],\n    body: [],\n    is_async: true,\n    is_generator: false,\n}",
    "Function {\n    span: 655..685,\n    params: [],\n    body: [],\n    is_async: true,\n    is_generator: false,\n}",
    "Function {\n    span: 687..720,\n    params: [],\n    body: [],\n    is_async: true,\n    is_generator: false,\n}",
    "Function {\n    span: 734..755,\n    params: [],\n    body: [],\n    is_async: true,\n    is_generator: false,\n}",
    "Function {\n    span: 750..786,\n    params: [],\n    body: [],\n    is_async: true,\n    is_generator: false,\n}",
    "Function {\n    span: 781..820,\n    params: [],\n    body: [],\n    is_async: true,\n    is_generator: false,\n}",
    "Function {\n    span: 814..843,\n    params: [],\n    body: [],\n    is_async: true,\n    is_generator: false,\n}",
    "Function {\n    span: 837..881,\n    params: [],\n    body: [],\n    is_async: true,\n    is_generator: false,\n}",
    "Function {\n    span: 875..915,\n    params: [],\n    body: [],\n    is_async: true,\n    is_generator: false,\n}"
  ],
  "classes": [
    "Class {\n    span: 723..923,\n    decorators: [],\n    ident: Some(\n        Ident {\n            span: 729..730,\n            sym: \"C\",\n        },\n    ),\n    super_class: None,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "class_members": [
    "Method(\n    ClassMethod {\n        span: 734..755,\n        decorators: [],\n        key: Ident(\n            Ident {\n                span: 740..742,\n                sym: \"m1\",\n            },\n        ),\n        function: _,\n        is_static: false,\n        kind: Method,\n    },\n)",
    "Method(\n    ClassMethod {\n        span: 750..786,\n        decorators: [],\n        key: Ident(\n            Ident {\n                span: 756..758,\n                sym: \"m2\",\n            },\n        ),\n        function: _,\n        is_static: false,\n        kind: Method,\n    },\n)",
    "Method(\n    ClassMethod {\n        span: 781..820,\n        decorators: [],\n        key: Ident(\n            Ident {\n                span: 787..789,\n                sym: \"m3\",\n            },\n        ),\n        function: _,\n        is_static: false,\n        kind: Method,\n    },\n)",
    "Method(\n    ClassMethod {\n        span: 814..843,\n        decorators: [],\n        key: Ident(\n            Ident {\n                span: 827..829,\n                sym: \"m4\",\n            },\n        ),\n        function: _,\n        is_static: true,\n        kind: Method,\n    },\n)",
    "Method(\n    ClassMethod {\n        span: 837..881,\n        decorators: [],\n        key: Ident(\n            Ident {\n                span: 850..852,\n                sym: \"m5\",\n            },\n        ),\n        function: _,\n        is_static: true,\n        kind: Method,\n    },\n)",
    "Method(\n    ClassMethod {\n        span: 875..915,\n        decorators: [],\n        key: Ident(\n            Ident {\n                span: 888..890,\n                sym: \"m6\",\n            },\n        ),\n        function: _,\n        is_static: true,\n        kind: Method,\n    },\n)"
  ],
  "jsx_elements": [],
  "ts_types": []
}
