{ "type": "Script", "span": { "start": 16, "end": 1285, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 22, "end": 23, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "span": { "start": 16, "end": 59, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassMethod", "span": { "start": 30, "end": 41, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 30, "end": 31, "ctxt": 0 }, "value": "x", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 30, "end": 41, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 34, "end": 41, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 46, "end": 57, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 46, "end": 47, "ctxt": 0 }, "value": "y", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 46, "end": 57, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 50, "end": 57, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 67, "end": 68, "ctxt": 0 }, "value": "B", "optional": false }, "declare": false, "span": { "start": 61, "end": 1285, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassMethod", "span": { "start": 162, "end": 544, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 168, "end": 174, "ctxt": 0 }, "value": "simple", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 162, "end": 544, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 177, "end": 544, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 187, "end": 207, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 193, "end": 206, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 193, "end": 199, "ctxt": 0 }, "value": "_super", "optional": false, "typeAnnotation": null }, "init": { "type": "NullLiteral", "span": { "start": 202, "end": 206, "ctxt": 0 } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 216, "end": 241, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 222, "end": 240, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 222, "end": 233, "ctxt": 0 }, "value": "_superIndex", "optional": false, "typeAnnotation": null }, "init": { "type": "NullLiteral", "span": { "start": 236, "end": 240, "ctxt": 0 } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 287, "end": 297, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 287, "end": 296, "ctxt": 0 }, "callee": { "type": "SuperPropExpression", "span": { "start": 287, "end": 294, "ctxt": 0 }, "obj": { "type": "Super", "span": { "start": 287, "end": 292, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 293, "end": 294, "ctxt": 0 }, "value": "x", "optional": false } }, "arguments": [], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 343, "end": 353, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 343, "end": 352, "ctxt": 0 }, "callee": { "type": "SuperPropExpression", "span": { "start": 343, "end": 350, "ctxt": 0 }, "obj": { "type": "Super", "span": { "start": 343, "end": 348, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 349, "end": 350, "ctxt": 0 }, "value": "y", "optional": false } }, "arguments": [], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 399, "end": 412, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 399, "end": 411, "ctxt": 0 }, "callee": { "type": "SuperPropExpression", "span": { "start": 399, "end": 409, "ctxt": 0 }, "obj": { "type": "Super", "span": { "start": 399, "end": 404, "ctxt": 0 } }, "property": { "type": "Computed", "span": { "start": 404, "end": 409, "ctxt": 0 }, "expression": { "type": "StringLiteral", "span": { "start": 405, "end": 408, "ctxt": 0 }, "value": "x", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "arguments": [], "typeArguments": null } }, { "type": "VariableDeclaration", "span": { "start": 456, "end": 474, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 462, "end": 473, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 462, "end": 463, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "init": { "type": "SuperPropExpression", "span": { "start": 466, "end": 473, "ctxt": 0 }, "obj": { "type": "Super", "span": { "start": 466, "end": 471, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 472, "end": 473, "ctxt": 0 }, "value": "x", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 517, "end": 538, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 523, "end": 537, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 523, "end": 524, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "init": { "type": "SuperPropExpression", "span": { "start": 527, "end": 537, "ctxt": 0 }, "obj": { "type": "Super", "span": { "start": 527, "end": 532, "ctxt": 0 } }, "property": { "type": "Computed", "span": { "start": 532, "end": 537, "ctxt": 0 }, "expression": { "type": "StringLiteral", "span": { "start": 533, "end": 536, "ctxt": 0 }, "value": "x", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "definite": false } ] } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 630, "end": 1283, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 636, "end": 644, "ctxt": 0 }, "value": "advanced", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 630, "end": 1283, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 647, "end": 1283, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 657, "end": 677, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 663, "end": 676, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 663, "end": 669, "ctxt": 0 }, "value": "_super", "optional": false, "typeAnnotation": null }, "init": { "type": "NullLiteral", "span": { "start": 672, "end": 676, "ctxt": 0 } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 686, "end": 711, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 692, "end": 710, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 692, "end": 703, "ctxt": 0 }, "value": "_superIndex", "optional": false, "typeAnnotation": null }, "init": { "type": "NullLiteral", "span": { "start": 706, "end": 710, "ctxt": 0 } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 720, "end": 739, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 726, "end": 738, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 726, "end": 727, "ctxt": 0 }, "value": "f", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 730, "end": 738, "ctxt": 0 }, "params": [], "body": { "type": "BlockStatement", "span": { "start": 736, "end": 738, "ctxt": 0 }, "stmts": [] }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 786, "end": 796, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 786, "end": 795, "ctxt": 0 }, "callee": { "type": "SuperPropExpression", "span": { "start": 786, "end": 793, "ctxt": 0 }, "obj": { "type": "Super", "span": { "start": 786, "end": 791, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 792, "end": 793, "ctxt": 0 }, "value": "x", "optional": false } }, "arguments": [], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 842, "end": 855, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 842, "end": 854, "ctxt": 0 }, "callee": { "type": "SuperPropExpression", "span": { "start": 842, "end": 852, "ctxt": 0 }, "obj": { "type": "Super", "span": { "start": 842, "end": 847, "ctxt": 0 } }, "property": { "type": "Computed", "span": { "start": 847, "end": 852, "ctxt": 0 }, "expression": { "type": "StringLiteral", "span": { "start": 848, "end": 851, "ctxt": 0 }, "value": "x", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "arguments": [], "typeArguments": null } }, { "type": "VariableDeclaration", "span": { "start": 899, "end": 917, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 905, "end": 916, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 905, "end": 906, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "init": { "type": "SuperPropExpression", "span": { "start": 909, "end": 916, "ctxt": 0 }, "obj": { "type": "Super", "span": { "start": 909, "end": 914, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 915, "end": 916, "ctxt": 0 }, "value": "x", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 960, "end": 981, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 966, "end": 980, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 966, "end": 967, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "init": { "type": "SuperPropExpression", "span": { "start": 970, "end": 980, "ctxt": 0 }, "obj": { "type": "Super", "span": { "start": 970, "end": 975, "ctxt": 0 } }, "property": { "type": "Computed", "span": { "start": 975, "end": 980, "ctxt": 0 }, "expression": { "type": "StringLiteral", "span": { "start": 976, "end": 979, "ctxt": 0 }, "value": "x", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1027, "end": 1039, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1027, "end": 1038, "ctxt": 0 }, "operator": "=", "left": { "type": "SuperPropExpression", "span": { "start": 1027, "end": 1034, "ctxt": 0 }, "obj": { "type": "Super", "span": { "start": 1027, "end": 1032, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1033, "end": 1034, "ctxt": 0 }, "value": "x", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 1037, "end": 1038, "ctxt": 0 }, "value": "f", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1084, "end": 1099, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1084, "end": 1098, "ctxt": 0 }, "operator": "=", "left": { "type": "SuperPropExpression", "span": { "start": 1084, "end": 1094, "ctxt": 0 }, "obj": { "type": "Super", "span": { "start": 1084, "end": 1089, "ctxt": 0 } }, "property": { "type": "Computed", "span": { "start": 1089, "end": 1094, "ctxt": 0 }, "expression": { "type": "StringLiteral", "span": { "start": 1090, "end": 1093, "ctxt": 0 }, "value": "x", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "right": { "type": "Identifier", "span": { "start": 1097, "end": 1098, "ctxt": 0 }, "value": "f", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1162, "end": 1187, "ctxt": 0 }, "expression": { "type": "ParenthesisExpression", "span": { "start": 1162, "end": 1186, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1163, "end": 1185, "ctxt": 0 }, "operator": "=", "left": { "type": "ObjectPattern", "span": { "start": 1163, "end": 1177, "ctxt": 0 }, "properties": [ { "type": "KeyValuePatternProperty", "key": { "type": "Identifier", "span": { "start": 1165, "end": 1166, "ctxt": 0 }, "value": "f", "optional": false }, "value": { "type": "SuperPropExpression", "span": { "start": 1168, "end": 1175, "ctxt": 0 }, "obj": { "type": "Super", "span": { "start": 1168, "end": 1173, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1174, "end": 1175, "ctxt": 0 }, "value": "x", "optional": false } } } ], "optional": false, "typeAnnotation": null }, "right": { "type": "ObjectExpression", "span": { "start": 1180, "end": 1185, "ctxt": 0 }, "properties": [ { "type": "Identifier", "span": { "start": 1182, "end": 1183, "ctxt": 0 }, "value": "f", "optional": false } ] } } } }, { "type": "ExpressionStatement", "span": { "start": 1249, "end": 1277, "ctxt": 0 }, "expression": { "type": "ParenthesisExpression", "span": { "start": 1249, "end": 1276, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1250, "end": 1275, "ctxt": 0 }, "operator": "=", "left": { "type": "ObjectPattern", "span": { "start": 1250, "end": 1267, "ctxt": 0 }, "properties": [ { "type": "KeyValuePatternProperty", "key": { "type": "Identifier", "span": { "start": 1252, "end": 1253, "ctxt": 0 }, "value": "f", "optional": false }, "value": { "type": "SuperPropExpression", "span": { "start": 1255, "end": 1265, "ctxt": 0 }, "obj": { "type": "Super", "span": { "start": 1255, "end": 1260, "ctxt": 0 } }, "property": { "type": "Computed", "span": { "start": 1260, "end": 1265, "ctxt": 0 }, "expression": { "type": "StringLiteral", "span": { "start": 1261, "end": 1264, "ctxt": 0 }, "value": "x", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } } } ], "optional": false, "typeAnnotation": null }, "right": { "type": "ObjectExpression", "span": { "start": 1270, "end": 1275, "ctxt": 0 }, "properties": [ { "type": "Identifier", "span": { "start": 1272, "end": 1273, "ctxt": 0 }, "value": "f", "optional": false } ] } } } } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false } ], "superClass": { "type": "Identifier", "span": { "start": 77, "end": 78, "ctxt": 0 }, "value": "A", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } ], "interpreter": null }