{ "type": "Script", "span": { "start": 37, "end": 664, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 43, "end": 44, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "span": { "start": 37, "end": 664, "ctxt": 0 }, "decorators": [], "body": [ { "type": "PrivateProperty", "span": { "start": 51, "end": 62, "ctxt": 0 }, "key": { "type": "PrivateName", "span": { "start": 51, "end": 57, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 52, "end": 57, "ctxt": 0 }, "value": "field", "optional": false } }, "value": { "type": "NumericLiteral", "span": { "start": 60, "end": 61, "ctxt": 0 }, "value": 1.0, "raw": "1" }, "typeAnnotation": null, "isStatic": false, "decorators": [], "accessibility": null, "isOptional": false, "isOverride": false, "readonly": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 67, "end": 89, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 67, "end": 78, "ctxt": 0 }, "value": "otherObject", "optional": false }, "value": { "type": "NewExpression", "span": { "start": 81, "end": 88, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 85, "end": 86, "ctxt": 0 }, "value": "A", "optional": false }, "arguments": [], "typeArguments": null }, "typeAnnotation": null, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassMethod", "span": { "start": 94, "end": 146, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 94, "end": 104, "ctxt": 0 }, "value": "testObject", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 94, "end": 146, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 107, "end": 146, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 117, "end": 140, "ctxt": 0 }, "argument": { "type": "ObjectExpression", "span": { "start": 124, "end": 139, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 126, "end": 127, "ctxt": 0 }, "value": "x", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 129, "end": 131, "ctxt": 0 }, "value": 10.0, "raw": "10" } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 133, "end": 134, "ctxt": 0 }, "value": "y", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 136, "end": 137, "ctxt": 0 }, "value": 6.0, "raw": "6" } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 151, "end": 195, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 151, "end": 160, "ctxt": 0 }, "value": "testArray", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 151, "end": 195, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 163, "end": 195, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 173, "end": 189, "ctxt": 0 }, "argument": { "type": "ArrayExpression", "span": { "start": 180, "end": 188, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 181, "end": 183, "ctxt": 0 }, "value": 10.0, "raw": "10" } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 185, "end": 187, "ctxt": 0 }, "value": 11.0, "raw": "11" } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "Constructor", "span": { "start": 200, "end": 604, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 200, "end": 211, "ctxt": 0 }, "value": "constructor", "optional": false }, "params": [], "body": { "type": "BlockStatement", "span": { "start": 214, "end": 604, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 224, "end": 238, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 228, "end": 237, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 228, "end": 229, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 229, "end": 237, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 231, "end": 237, "ctxt": 0 }, "kind": "number" } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 247, "end": 291, "ctxt": 0 }, "expression": { "type": "ParenthesisExpression", "span": { "start": 247, "end": 290, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 248, "end": 289, "ctxt": 0 }, "operator": "=", "left": { "type": "ObjectPattern", "span": { "start": 248, "end": 269, "ctxt": 0 }, "properties": [ { "type": "KeyValuePatternProperty", "key": { "type": "Identifier", "span": { "start": 250, "end": 251, "ctxt": 0 }, "value": "x", "optional": false }, "value": { "type": "MemberExpression", "span": { "start": 253, "end": 264, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 253, "end": 257, "ctxt": 0 } }, "property": { "type": "PrivateName", "span": { "start": 258, "end": 264, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 259, "end": 264, "ctxt": 0 }, "value": "field", "optional": false } } } }, { "type": "AssignmentPatternProperty", "span": { "start": 266, "end": 267, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 266, "end": 267, "ctxt": 0 }, "value": "y", "optional": false }, "value": null } ], "optional": false, "typeAnnotation": null }, "right": { "type": "CallExpression", "span": { "start": 272, "end": 289, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 272, "end": 287, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 272, "end": 276, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 277, "end": 287, "ctxt": 0 }, "value": "testObject", "optional": false } }, "arguments": [], "typeArguments": null } } } }, { "type": "ExpressionStatement", "span": { "start": 300, "end": 338, "ctxt": 0 }, "expression": { "type": "ParenthesisExpression", "span": { "start": 300, "end": 337, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 301, "end": 336, "ctxt": 0 }, "operator": "=", "left": { "type": "ArrayPattern", "span": { "start": 301, "end": 317, "ctxt": 0 }, "elements": [ { "type": "MemberExpression", "span": { "start": 302, "end": 313, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 302, "end": 306, "ctxt": 0 } }, "property": { "type": "PrivateName", "span": { "start": 307, "end": 313, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 308, "end": 313, "ctxt": 0 }, "value": "field", "optional": false } } }, { "type": "Identifier", "span": { "start": 315, "end": 316, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": null } ], "optional": false, "typeAnnotation": null }, "right": { "type": "CallExpression", "span": { "start": 320, "end": 336, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 320, "end": 334, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 320, "end": 324, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 325, "end": 334, "ctxt": 0 }, "value": "testArray", "optional": false } }, "arguments": [], "typeArguments": null } } } }, { "type": "ExpressionStatement", "span": { "start": 347, "end": 405, "ctxt": 0 }, "expression": { "type": "ParenthesisExpression", "span": { "start": 347, "end": 404, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 348, "end": 403, "ctxt": 0 }, "operator": "=", "left": { "type": "ObjectPattern", "span": { "start": 348, "end": 384, "ctxt": 0 }, "properties": [ { "type": "KeyValuePatternProperty", "key": { "type": "Identifier", "span": { "start": 350, "end": 351, "ctxt": 0 }, "value": "a", "optional": false }, "value": { "type": "MemberExpression", "span": { "start": 353, "end": 364, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 353, "end": 357, "ctxt": 0 } }, "property": { "type": "PrivateName", "span": { "start": 358, "end": 364, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 359, "end": 364, "ctxt": 0 }, "value": "field", "optional": false } } } }, { "type": "KeyValuePatternProperty", "key": { "type": "Identifier", "span": { "start": 366, "end": 367, "ctxt": 0 }, "value": "b", "optional": false }, "value": { "type": "ArrayPattern", "span": { "start": 369, "end": 382, "ctxt": 0 }, "elements": [ { "type": "MemberExpression", "span": { "start": 370, "end": 381, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 370, "end": 374, "ctxt": 0 } }, "property": { "type": "PrivateName", "span": { "start": 375, "end": 381, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 376, "end": 381, "ctxt": 0 }, "value": "field", "optional": false } } } ], "optional": false, "typeAnnotation": null } } ], "optional": false, "typeAnnotation": null }, "right": { "type": "ObjectExpression", "span": { "start": 387, "end": 403, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 389, "end": 390, "ctxt": 0 }, "value": "a", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 392, "end": 393, "ctxt": 0 }, "value": 1.0, "raw": "1" } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 395, "end": 396, "ctxt": 0 }, "value": "b", "optional": false }, "value": { "type": "ArrayExpression", "span": { "start": 398, "end": 401, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 399, "end": 400, "ctxt": 0 }, "value": 2.0, "raw": "2" } } ] } } ] } } } }, { "type": "ExpressionStatement", "span": { "start": 414, "end": 454, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 414, "end": 453, "ctxt": 0 }, "operator": "=", "left": { "type": "ArrayPattern", "span": { "start": 414, "end": 442, "ctxt": 0 }, "elements": [ { "type": "MemberExpression", "span": { "start": 415, "end": 426, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 415, "end": 419, "ctxt": 0 } }, "property": { "type": "PrivateName", "span": { "start": 420, "end": 426, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 421, "end": 426, "ctxt": 0 }, "value": "field", "optional": false } } }, { "type": "ArrayPattern", "span": { "start": 428, "end": 441, "ctxt": 0 }, "elements": [ { "type": "MemberExpression", "span": { "start": 429, "end": 440, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 429, "end": 433, "ctxt": 0 } }, "property": { "type": "PrivateName", "span": { "start": 434, "end": 440, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 435, "end": 440, "ctxt": 0 }, "value": "field", "optional": false } } } ], "optional": false, "typeAnnotation": null } ], "optional": false, "typeAnnotation": null }, "right": { "type": "ArrayExpression", "span": { "start": 445, "end": 453, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 446, "end": 447, "ctxt": 0 }, "value": 1.0, "raw": "1" } }, { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 449, "end": 452, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 450, "end": 451, "ctxt": 0 }, "value": 2.0, "raw": "2" } } ] } } ] } } }, { "type": "ExpressionStatement", "span": { "start": 463, "end": 522, "ctxt": 0 }, "expression": { "type": "ParenthesisExpression", "span": { "start": 463, "end": 521, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 464, "end": 520, "ctxt": 0 }, "operator": "=", "left": { "type": "ObjectPattern", "span": { "start": 464, "end": 508, "ctxt": 0 }, "properties": [ { "type": "KeyValuePatternProperty", "key": { "type": "Identifier", "span": { "start": 466, "end": 467, "ctxt": 0 }, "value": "a", "optional": false }, "value": { "type": "AssignmentPattern", "span": { "start": 469, "end": 484, "ctxt": 0 }, "left": { "type": "MemberExpression", "span": { "start": 469, "end": 480, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 469, "end": 473, "ctxt": 0 } }, "property": { "type": "PrivateName", "span": { "start": 474, "end": 480, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 475, "end": 480, "ctxt": 0 }, "value": "field", "optional": false } } }, "right": { "type": "NumericLiteral", "span": { "start": 483, "end": 484, "ctxt": 0 }, "value": 1.0, "raw": "1" }, "typeAnnotation": null } }, { "type": "KeyValuePatternProperty", "key": { "type": "Identifier", "span": { "start": 486, "end": 487, "ctxt": 0 }, "value": "b", "optional": false }, "value": { "type": "ArrayPattern", "span": { "start": 489, "end": 506, "ctxt": 0 }, "elements": [ { "type": "AssignmentPattern", "span": { "start": 490, "end": 505, "ctxt": 0 }, "left": { "type": "MemberExpression", "span": { "start": 490, "end": 501, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 490, "end": 494, "ctxt": 0 } }, "property": { "type": "PrivateName", "span": { "start": 495, "end": 501, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 496, "end": 501, "ctxt": 0 }, "value": "field", "optional": false } } }, "right": { "type": "NumericLiteral", "span": { "start": 504, "end": 505, "ctxt": 0 }, "value": 1.0, "raw": "1" }, "typeAnnotation": null } ], "optional": false, "typeAnnotation": null } } ], "optional": false, "typeAnnotation": null }, "right": { "type": "ObjectExpression", "span": { "start": 511, "end": 520, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 513, "end": 514, "ctxt": 0 }, "value": "b", "optional": false }, "value": { "type": "ArrayExpression", "span": { "start": 516, "end": 518, "ctxt": 0 }, "elements": [] } } ] } } } }, { "type": "ExpressionStatement", "span": { "start": 531, "end": 554, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 531, "end": 553, "ctxt": 0 }, "operator": "=", "left": { "type": "ArrayPattern", "span": { "start": 531, "end": 548, "ctxt": 0 }, "elements": [ { "type": "AssignmentPattern", "span": { "start": 532, "end": 547, "ctxt": 0 }, "left": { "type": "MemberExpression", "span": { "start": 532, "end": 543, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 532, "end": 536, "ctxt": 0 } }, "property": { "type": "PrivateName", "span": { "start": 537, "end": 543, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 538, "end": 543, "ctxt": 0 }, "value": "field", "optional": false } } }, "right": { "type": "NumericLiteral", "span": { "start": 546, "end": 547, "ctxt": 0 }, "value": 2.0, "raw": "2" }, "typeAnnotation": null } ], "optional": false, "typeAnnotation": null }, "right": { "type": "ArrayExpression", "span": { "start": 551, "end": 553, "ctxt": 0 }, "elements": [] } } }, { "type": "ExpressionStatement", "span": { "start": 563, "end": 598, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 563, "end": 597, "ctxt": 0 }, "operator": "=", "left": { "type": "ArrayPattern", "span": { "start": 563, "end": 592, "ctxt": 0 }, "elements": [ { "type": "AssignmentPattern", "span": { "start": 564, "end": 591, "ctxt": 0 }, "left": { "type": "MemberExpression", "span": { "start": 564, "end": 587, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 564, "end": 580, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 564, "end": 568, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 569, "end": 580, "ctxt": 0 }, "value": "otherObject", "optional": false } }, "property": { "type": "PrivateName", "span": { "start": 581, "end": 587, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 582, "end": 587, "ctxt": 0 }, "value": "field", "optional": false } } }, "right": { "type": "NumericLiteral", "span": { "start": 590, "end": 591, "ctxt": 0 }, "value": 2.0, "raw": "2" }, "typeAnnotation": null } ], "optional": false, "typeAnnotation": null }, "right": { "type": "ArrayExpression", "span": { "start": 595, "end": 597, "ctxt": 0 }, "elements": [] } } } ] }, "accessibility": null, "isOptional": false }, { "type": "ClassMethod", "span": { "start": 609, "end": 662, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 616, "end": 620, "ctxt": 0 }, "value": "test", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 621, "end": 626, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 621, "end": 626, "ctxt": 0 }, "value": "_a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 623, "end": 626, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 625, "end": 626, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 625, "end": 626, "ctxt": 0 }, "value": "A", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 609, "end": 662, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 628, "end": 662, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 638, "end": 656, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 638, "end": 655, "ctxt": 0 }, "operator": "=", "left": { "type": "ArrayPattern", "span": { "start": 638, "end": 649, "ctxt": 0 }, "elements": [ { "type": "MemberExpression", "span": { "start": 639, "end": 648, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 639, "end": 641, "ctxt": 0 }, "value": "_a", "optional": false }, "property": { "type": "PrivateName", "span": { "start": 642, "end": 648, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 643, "end": 648, "ctxt": 0 }, "value": "field", "optional": false } } } ], "optional": false, "typeAnnotation": null }, "right": { "type": "ArrayExpression", "span": { "start": 652, "end": 655, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 653, "end": 654, "ctxt": 0 }, "value": 2.0, "raw": "2" } } ] } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": true, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } ], "interpreter": null }