{
  "programs": [
    "Program {\n    span: 1..2090,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Expr(\n    ExprStmt {\n        span: 405..414,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 387..414,\n        label: Ident {\n            span: 387..403,\n            sym: \"propertyOnlyInI1\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 413..425,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 820..829,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 802..829,\n        label: Ident {\n            span: 802..818,\n            sym: \"propertyOnlyInI2\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 828..1008,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1217..1258,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1255..1346,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1338..1387,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1379..1449,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1448..1517,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1516..1773,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1770..1817,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1814..1864,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1861..1916,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1908..1967,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1966..1996,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1995..2025,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2024..2061,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2060..2090,\n        expr: _,\n    },\n)"
  ],
  "decls": [
    "Var(\n    VarDecl {\n        span: 1005..1041,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1005..1037,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1038..1058,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1038..1054,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1055..1075,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1055..1071,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1072..1220,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1072..1102,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 1009..1010,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1042..1045,\n        sym: \"str\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1059..1062,\n        sym: \"num\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1076..1084,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1217..1220,\n        sym: \"str\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1255..1258,\n        sym: \"str\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1338..1346,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1379..1387,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1770..1773,\n        sym: \"num\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1814..1817,\n        sym: \"num\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1861..1864,\n        sym: \"str\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1908..1916,\n        sym: \"strOrNum\",\n    },\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 405..411,\n        sym: \"string\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 820..826,\n        sym: \"string\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1223..1224,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1224..1244,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1225..1243,\n                sym: \"commonPropertyType\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1221..1244,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1261..1262,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1262..1280,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1263..1279,\n                sym: \"commonMethodType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 1280..1283,\n        sym: \"str\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1279..1285,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1259..1285,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1349..1350,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1350..1378,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1351..1377,\n                sym: \"commonPropertyDifferenType\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1347..1378,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1390..1391,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1391..1424,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1392..1423,\n                sym: \"commonMethodDifferentReturnType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 1424..1427,\n        sym: \"str\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1423..1429,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1388..1429,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1448..1449,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1449..1485,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1450..1484,\n                sym: \"commonMethodDifferentParameterType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 1516..1517,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1517..1553,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1518..1552,\n                sym: \"commonMethodDifferentParameterType\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 1553..1561,\n        sym: \"strOrNum\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1552..1563,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1776..1777,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1777..1808,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1778..1807,\n                sym: \"commonMethodWithTypeParameter\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 1808..1811,\n        sym: \"num\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1807..1813,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1774..1813,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1820..1821,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1821..1855,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1822..1854,\n                sym: \"commonMethodWithOwnTypeParameter\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 1855..1858,\n        sym: \"num\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1854..1860,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1818..1860,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1867..1868,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1868..1902,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1869..1901,\n                sym: \"commonMethodWithOwnTypeParameter\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 1902..1905,\n        sym: \"str\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1901..1907,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1865..1907,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1919..1920,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1920..1954,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1921..1953,\n                sym: \"commonMethodWithOwnTypeParameter\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 1954..1962,\n        sym: \"strOrNum\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1953..1964,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1917..1964,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1966..1967,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1967..1985,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1968..1984,\n                sym: \"propertyOnlyInI1\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 1995..1996,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1996..2014,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1997..2013,\n                sym: \"propertyOnlyInI2\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2024..2025,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2025..2041,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2026..2040,\n                sym: \"methodOnlyInI1\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2041..2048,\n            value: \"hello\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 2040..2050,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2060..2061,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2061..2077,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2062..2076,\n                sym: \"methodOnlyInI2\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2077..2079,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 2076..2081,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": []
}
