{
  "programs": [
    "Program {\n    span: 40..705,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Expr(\n    ExprStmt {\n        span: 210..223,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 207..223,\n        label: Ident {\n            span: 207..208,\n            sym: \"y\",\n        },\n        body: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 224..257,\n        expr: _,\n    },\n)",
    "ModuleDecl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 557..566,\n        expr: _,\n    },\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "TsModule(\n    TsModuleDecl {\n        span: 40..225,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 47..48,\n                sym: \"X\",\n            },\n        ),\n        body: Some(\n            Namespace(\n                TsNamespaceDecl {\n                    span: 40..225,\n                    declare: false,\n                    global: false,\n                    id: Ident {\n                        span: 47..48,\n                        sym: \"X\",\n                    },\n                    body: Namespace(\n                        TsNamespaceDecl {\n                            span: 49..225,\n                            declare: false,\n                            global: false,\n                            id: Ident {\n                                span: 49..50,\n                                sym: \"Y\",\n                            },\n                            body: ModuleBlock(\n                                [\n                                    _,\n                                ],\n                            ),\n                        },\n                    ),\n                },\n            ),\n        ),\n    },\n)",
    "Var(\n    VarDecl {\n        span: 305..340,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 305..334,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 275..342,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 282..287,\n                sym: \"Point\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                ],\n            ),\n        ),\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 251..405,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 258..259,\n                sym: \"X\",\n            },\n        ),\n        body: Some(\n            Namespace(\n                TsNamespaceDecl {\n                    span: 251..405,\n                    declare: false,\n                    global: false,\n                    id: Ident {\n                        span: 258..259,\n                        sym: \"X\",\n                    },\n                    body: Namespace(\n                        TsNamespaceDecl {\n                            span: 260..405,\n                            declare: false,\n                            global: false,\n                            id: Ident {\n                                span: 260..261,\n                                sym: \"Y\",\n                            },\n                            body: ModuleBlock(\n                                [\n                                    _,\n                                ],\n                            ),\n                        },\n                    ),\n                },\n            ),\n        ),\n    },\n)",
    "Var(\n    VarDecl {\n        span: 402..434,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 402..430,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 431..536,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 431..457,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 582..607,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 582..605,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 560..648,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 567..568,\n                sym: \"A\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                ],\n            ),\n        ),\n    },\n)",
    "Var(\n    VarDecl {\n        span: 645..668,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 645..664,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 665..685,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 665..681,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 682..705,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 682..704,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 309..315,\n        sym: \"Origin\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 316..334,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 406..408,\n        sym: \"cl\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 409..430,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 435..437,\n        sym: \"cl\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 438..457,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 586..594,\n        sym: \"Instance\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 595..605,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 649..650,\n        sym: \"a\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 651..664,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 669..670,\n        sym: \"a\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 671..681,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 686..687,\n        sym: \"a\",\n    },\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 210..216,\n        sym: \"number\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 322..327,\n        sym: \"Point\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 328..329,\n            value: 0.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 331..332,\n            value: 0.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 327..334,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 318..334,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 415..416,\n        sym: \"X\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 416..419,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 417..418,\n                sym: \"Y\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 418..425,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 419..424,\n                sym: \"Point\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 425..426,\n            value: 1.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 427..428,\n            value: 1.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 424..430,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 411..430,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 440..441,\n        sym: \"X\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 441..444,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 442..443,\n                sym: \"Y\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 443..450,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 444..449,\n                sym: \"Point\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 449..457,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 450..456,\n                sym: \"Origin\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 601..602,\n        sym: \"A\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 602..605,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 597..605,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 653..654,\n        sym: \"A\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 654..664,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 655..663,\n                sym: \"Instance\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 677..678,\n        sym: \"A\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 678..681,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 673..681,\n        callee: _,\n        args: [],\n    },\n)"
  ],
  "module_decls": [
    "ExportDecl(\n    ExportDecl {\n        span: 298..340,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 268..342,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 575..607,\n        decl: _,\n    },\n)"
  ],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": []
}
