{
  "programs": [
    "Program {\n    span: 94..447,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Expr(\n    ExprStmt {\n        span: 175..211,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 142..214,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 276..306,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 305..340,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 389..419,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 418..447,\n        expr: _,\n    },\n)"
  ],
  "decls": [
    "Fn(\n    FnDecl {\n        span: 94..217,\n        ident: Ident {\n            span: 103..107,\n            sym: \"meta\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Class(\n    ClassDecl {\n        span: 232..277,\n        ident: Ident {\n            span: 238..239,\n            sym: \"C\",\n        },\n        declare: false,\n        class: _,\n    },\n)",
    "Class(\n    ClassDecl {\n        span: 335..390,\n        ident: Ident {\n            span: 341..342,\n            sym: \"D\",\n        },\n        declare: false,\n        class: _,\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 108..111,\n        sym: \"key\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 121..126,\n        sym: \"value\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 150..151,\n        sym: \"_\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 153..160,\n        sym: \"context\",\n    },\n)",
    "Expr(\n    _,\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 175..182,\n        sym: \"context\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 182..192,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 183..191,\n                sym: \"metadata\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 192..195,\n        sym: \"key\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 191..198,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 199..204,\n        sym: \"value\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 197..205,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 149..212,\n        params: [\n            _,\n            _,\n        ],\n        body: Block(\n            [\n                _,\n            ],\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 217..221,\n        sym: \"meta\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 222..225,\n            value: \"a\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 227..230,\n            value: \"x\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 221..237,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 247..251,\n        sym: \"meta\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 252..255,\n            value: \"b\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 257..260,\n            value: \"y\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 251..267,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 276..277,\n        sym: \"C\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 278..284,\n        sym: \"Symbol\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 284..294,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 285..293,\n                sym: \"metadata\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 277..295,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 294..297,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 295..296,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 305..306,\n        sym: \"C\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 307..313,\n        sym: \"Symbol\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 313..323,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 314..322,\n                sym: \"metadata\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 306..324,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 323..326,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 324..325,\n                sym: \"b\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 351..352,\n        sym: \"C\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 360..364,\n        sym: \"meta\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 365..368,\n            value: \"b\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 370..373,\n            value: \"z\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 364..380,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 389..390,\n        sym: \"D\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 391..397,\n        sym: \"Symbol\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 397..407,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 398..406,\n                sym: \"metadata\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 390..408,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 407..410,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 408..409,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 418..419,\n        sym: \"D\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 420..426,\n        sym: \"Symbol\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 426..436,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 427..435,\n                sym: \"metadata\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 419..437,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 436..439,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 437..438,\n                sym: \"b\",\n            },\n        ),\n    },\n)"
  ],
  "module_decls": [],
  "functions": [
    "Function {\n    span: 266..274,\n    params: [],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 379..387,\n    params: [],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}"
  ],
  "classes": [
    "Class {\n    span: 232..277,\n    decorators: [\n        Decorator {\n            span: 216..237,\n            expr: _,\n        },\n    ],\n    ident: Some(\n        Ident {\n            span: 238..239,\n            sym: \"C\",\n        },\n    ),\n    super_class: None,\n    body: [\n        _,\n    ],\n}",
    "Class {\n    span: 335..390,\n    decorators: [],\n    ident: Some(\n        Ident {\n            span: 341..342,\n            sym: \"D\",\n        },\n    ),\n    super_class: Some(\n        _,\n    ),\n    body: [\n        _,\n    ],\n}"
  ],
  "class_members": [
    "Method(\n    ClassMethod {\n        span: 266..274,\n        decorators: [\n            Decorator {\n                span: 246..267,\n                expr: _,\n            },\n        ],\n        key: Ident(\n            Ident {\n                span: 266..267,\n                sym: \"m\",\n            },\n        ),\n        function: _,\n        is_static: false,\n        kind: Method,\n    },\n)",
    "Method(\n    ClassMethod {\n        span: 379..387,\n        decorators: [\n            Decorator {\n                span: 359..380,\n                expr: _,\n            },\n        ],\n        key: Ident(\n            Ident {\n                span: 379..380,\n                sym: \"m\",\n            },\n        ),\n        function: _,\n        is_static: false,\n        kind: Method,\n    },\n)"
  ],
  "jsx_elements": [],
  "ts_types": []
}
