{
  "programs": [
    "Program {\n    span: 143..457,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Expr(\n    ExprStmt {\n        span: 163..175,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 209..222,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 176..226,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 240..273,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 272..328,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 376..397,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 366..406,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 340..406,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 402..414,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 445..457,\n        expr: _,\n    },\n)"
  ],
  "decls": [
    "Fn(\n    FnDecl {\n        span: 143..177,\n        ident: Ident {\n            span: 152..153,\n            sym: \"C\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 223..241,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 223..241,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 320..418,\n        ident: Ident {\n            span: 329..330,\n            sym: \"A\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 415..431,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 415..431,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 428..446,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 428..446,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 154..155,\n        sym: \"x\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 227..228,\n        sym: \"c\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 229..241,\n        left: _,\n        right: _,\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 331..332,\n        sym: \"x\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 419..420,\n        sym: \"k\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 421..431,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 432..433,\n        sym: \"j\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 434..446,\n        left: _,\n        right: _,\n    },\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 163..167,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 167..171,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 168..169,\n                sym: \"x\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 172..173,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 170..175,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 176..177,\n        sym: \"C\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 177..188,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 178..187,\n                sym: \"prototype\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 187..191,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 188..189,\n                sym: \"m\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 209..213,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 213..217,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 214..215,\n                sym: \"y\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 218..220,\n            value: 12.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 216..222,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Function(\n    _,\n)",
    "Assign(\n    AssignExpr {\n        span: 190..226,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 235..236,\n        sym: \"C\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 237..238,\n            value: 1.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 236..241,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 231..241,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 240..241,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 241..245,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 242..243,\n                sym: \"x\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 246..255,\n        sym: \"undefined\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 244..273,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 272..273,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 273..277,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 274..275,\n                sym: \"y\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 278..287,\n        sym: \"undefined\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 276..328,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 346..350,\n        sym: \"this\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 362..363,\n        sym: \"A\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 351..364,\n        op: InstanceOf,\n        left: _,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 345..365,\n        expr: _,\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 344..365,\n        op: Bang,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 387..388,\n        sym: \"A\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 389..390,\n        sym: \"x\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 388..397,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 383..397,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 402..406,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 406..410,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 407..408,\n                sym: \"x\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 411..412,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 409..414,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 423..424,\n        sym: \"A\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 425..426,\n            value: 1.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 424..431,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 440..441,\n        sym: \"A\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 442..443,\n            value: 2.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 441..446,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 436..446,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 445..446,\n        sym: \"k\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 446..452,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 447..448,\n                sym: \"x\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 453..454,\n        sym: \"j\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 454..457,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 455..456,\n                sym: \"x\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 449..457,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)"
  ],
  "module_decls": [],
  "functions": [
    "Function {\n    span: 192..226,\n    params: [],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}"
  ],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": []
}
