{ "type": "Script", "span": { "start": 18, "end": 1495, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 24, "end": 25, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "span": { "start": 18, "end": 70, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 32, "end": 47, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 32, "end": 40, "ctxt": 0 }, "value": "property", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 43, "end": 46, "ctxt": 0 }, "value": "x", "raw": "'x'" }, "typeAnnotation": null, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassMethod", "span": { "start": 52, "end": 68, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 52, "end": 53, "ctxt": 0 }, "value": "m", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 52, "end": 68, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 56, "end": 68, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 58, "end": 66, "ctxt": 0 }, "argument": { "type": "NumericLiteral", "span": { "start": 65, "end": 66, "ctxt": 0 }, "value": 1.0, "raw": "1" } } ] }, "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": 77, "end": 78, "ctxt": 0 }, "value": "B", "optional": false }, "declare": false, "span": { "start": 71, "end": 120, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 95, "end": 109, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 95, "end": 103, "ctxt": 0 }, "value": "property", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 103, "end": 108, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 105, "end": 108, "ctxt": 0 }, "kind": "any" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 87, "end": 88, "ctxt": 0 }, "value": "A", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 127, "end": 129, "ctxt": 0 }, "value": "BD", "optional": false }, "declare": false, "span": { "start": 121, "end": 212, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 146, "end": 168, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 154, "end": 162, "ctxt": 0 }, "value": "property", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 162, "end": 167, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 164, "end": 167, "ctxt": 0 }, "kind": "any" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": true, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 138, "end": 139, "ctxt": 0 }, "value": "A", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 219, "end": 225, "ctxt": 0 }, "value": "BDBang", "optional": false }, "declare": false, "span": { "start": 213, "end": 319, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 242, "end": 265, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 250, "end": 258, "ctxt": 0 }, "value": "property", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 259, "end": 264, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 261, "end": 264, "ctxt": 0 }, "kind": "any" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": true, "definite": true } ], "superClass": { "type": "Identifier", "span": { "start": 234, "end": 235, "ctxt": 0 }, "value": "A", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 326, "end": 332, "ctxt": 0 }, "value": "BOther", "optional": false }, "declare": false, "span": { "start": 320, "end": 532, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassMethod", "span": { "start": 349, "end": 373, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 357, "end": 358, "ctxt": 0 }, "value": "m", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 349, "end": 373, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 361, "end": 373, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 363, "end": 371, "ctxt": 0 }, "argument": { "type": "NumericLiteral", "span": { "start": 370, "end": 371, "ctxt": 0 }, "value": 2.0, "raw": "2" } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassProperty", "span": { "start": 404, "end": 423, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 412, "end": 417, "ctxt": 0 }, "value": "nonce", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 417, "end": 422, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 419, "end": 422, "ctxt": 0 }, "kind": "any" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": true, "definite": false }, { "type": "ClassProperty", "span": { "start": 468, "end": 490, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 476, "end": 484, "ctxt": 0 }, "value": "property", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 487, "end": 490, "ctxt": 0 }, "value": "y", "raw": "'y'" }, "typeAnnotation": null, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": true, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 341, "end": 342, "ctxt": 0 }, "value": "A", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 539, "end": 540, "ctxt": 0 }, "value": "U", "optional": false }, "declare": false, "span": { "start": 533, "end": 603, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 547, "end": 566, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 555, "end": 560, "ctxt": 0 }, "value": "nonce", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 560, "end": 565, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 562, "end": 565, "ctxt": 0 }, "kind": "any" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": true, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 611, "end": 612, "ctxt": 0 }, "value": "C", "optional": false }, "declare": false, "span": { "start": 605, "end": 631, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 619, "end": 629, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 619, "end": 620, "ctxt": 0 }, "value": "p", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 620, "end": 628, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 622, "end": 628, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 638, "end": 639, "ctxt": 0 }, "value": "D", "optional": false }, "declare": false, "span": { "start": 632, "end": 675, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 656, "end": 664, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 656, "end": 657, "ctxt": 0 }, "value": "p", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 657, "end": 663, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 659, "end": 663, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 659, "end": 663, "ctxt": 0 }, "value": "hi", "raw": "'hi'" } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 648, "end": 649, "ctxt": 0 }, "value": "C", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 682, "end": 684, "ctxt": 0 }, "value": "DD", "optional": false }, "declare": false, "span": { "start": 676, "end": 726, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 701, "end": 718, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 709, "end": 710, "ctxt": 0 }, "value": "p", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 710, "end": 717, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 712, "end": 717, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 712, "end": 717, "ctxt": 0 }, "value": "bye", "raw": "'bye'" } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": true, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 693, "end": 694, "ctxt": 0 }, "value": "C", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 743, "end": 744, "ctxt": 0 }, "value": "E", "optional": false }, "declare": true, "span": { "start": 729, "end": 778, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 751, "end": 761, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 751, "end": 753, "ctxt": 0 }, "value": "p1", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 753, "end": 761, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 755, "end": 761, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 766, "end": 776, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 766, "end": 768, "ctxt": 0 }, "value": "p2", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 768, "end": 776, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 770, "end": 776, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 785, "end": 786, "ctxt": 0 }, "value": "F", "optional": false }, "declare": false, "span": { "start": 779, "end": 837, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 803, "end": 811, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 803, "end": 805, "ctxt": 0 }, "value": "p1", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 806, "end": 811, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 808, "end": 811, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 808, "end": 811, "ctxt": 0 }, "value": "z", "raw": "'z'" } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": true }, { "type": "ClassProperty", "span": { "start": 816, "end": 835, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 824, "end": 826, "ctxt": 0 }, "value": "p2", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 826, "end": 835, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 828, "end": 835, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 828, "end": 835, "ctxt": 0 }, "value": "alpha", "raw": "'alpha'" } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": true, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 795, "end": 796, "ctxt": 0 }, "value": "E", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 845, "end": 846, "ctxt": 0 }, "value": "G", "optional": false }, "declare": false, "span": { "start": 839, "end": 936, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 863, "end": 870, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 863, "end": 865, "ctxt": 0 }, "value": "p1", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 865, "end": 870, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 867, "end": 870, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 867, "end": 870, "ctxt": 0 }, "value": "z", "raw": "'z'" } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "Constructor", "span": { "start": 875, "end": 934, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 875, "end": 886, "ctxt": 0 }, "value": "constructor", "optional": false }, "params": [], "body": { "type": "BlockStatement", "span": { "start": 889, "end": 934, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 899, "end": 906, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 899, "end": 906, "ctxt": 0 }, "callee": { "type": "Super", "span": { "start": 899, "end": 904, "ctxt": 0 } }, "arguments": [], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 915, "end": 928, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 915, "end": 928, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 915, "end": 922, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 915, "end": 919, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 920, "end": 922, "ctxt": 0 }, "value": "p1", "optional": false } }, "right": { "type": "StringLiteral", "span": { "start": 925, "end": 928, "ctxt": 0 }, "value": "z", "raw": "'z'" } } } ] }, "accessibility": null, "isOptional": false } ], "superClass": { "type": "Identifier", "span": { "start": 855, "end": 856, "ctxt": 0 }, "value": "E", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 953, "end": 954, "ctxt": 0 }, "value": "H", "optional": false }, "declare": false, "span": { "start": 938, "end": 1042, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 971, "end": 999, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 980, "end": 982, "ctxt": 0 }, "value": "p1", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 982, "end": 999, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 984, "end": 999, "ctxt": 0 }, "types": [ { "type": "TsLiteralType", "span": { "start": 984, "end": 987, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 984, "end": 987, "ctxt": 0 }, "value": "a", "raw": "'a'" } }, { "type": "TsLiteralType", "span": { "start": 990, "end": 993, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 990, "end": 993, "ctxt": 0 }, "value": "b", "raw": "'b'" } }, { "type": "TsLiteralType", "span": { "start": 996, "end": 999, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 996, "end": 999, "ctxt": 0 }, "value": "c", "raw": "'c'" } } ] } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": true, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 1004, "end": 1040, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1021, "end": 1023, "ctxt": 0 }, "value": "p2", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1023, "end": 1040, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 1025, "end": 1040, "ctxt": 0 }, "types": [ { "type": "TsLiteralType", "span": { "start": 1025, "end": 1028, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 1025, "end": 1028, "ctxt": 0 }, "value": "a", "raw": "'a'" } }, { "type": "TsLiteralType", "span": { "start": 1031, "end": 1034, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 1031, "end": 1034, "ctxt": 0 }, "value": "b", "raw": "'b'" } }, { "type": "TsLiteralType", "span": { "start": 1037, "end": 1040, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 1037, "end": 1040, "ctxt": 0 }, "value": "c", "raw": "'c'" } } ] } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": true, "isOptional": false, "isOverride": false, "readonly": false, "declare": true, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 963, "end": 964, "ctxt": 0 }, "value": "E", "optional": false }, "isAbstract": true, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "TsInterfaceDeclaration", "span": { "start": 1044, "end": 1073, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1054, "end": 1055, "ctxt": 0 }, "value": "I", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 1056, "end": 1073, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1062, "end": 1071, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1062, "end": 1063, "ctxt": 0 }, "value": "q", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1063, "end": 1071, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1065, "end": 1071, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1074, "end": 1099, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1084, "end": 1085, "ctxt": 0 }, "value": "J", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1094, "end": 1095, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1094, "end": 1095, "ctxt": 0 }, "value": "I", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1096, "end": 1099, "ctxt": 0 }, "body": [] } }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1106, "end": 1107, "ctxt": 0 }, "value": "J", "optional": false }, "declare": false, "span": { "start": 1100, "end": 1121, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1114, "end": 1119, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1114, "end": 1115, "ctxt": 0 }, "value": "r", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 1118, "end": 1119, "ctxt": 0 }, "value": 5.0, "raw": "5" }, "typeAnnotation": null, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1128, "end": 1129, "ctxt": 0 }, "value": "K", "optional": false }, "declare": false, "span": { "start": 1122, "end": 1240, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1146, "end": 1159, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1146, "end": 1147, "ctxt": 0 }, "value": "q", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1148, "end": 1159, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 1150, "end": 1159, "ctxt": 0 }, "types": [ { "type": "TsLiteralType", "span": { "start": 1150, "end": 1151, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 1150, "end": 1151, "ctxt": 0 }, "value": 1.0, "raw": "1" } }, { "type": "TsLiteralType", "span": { "start": 1154, "end": 1155, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 1154, "end": 1155, "ctxt": 0 }, "value": 2.0, "raw": "2" } }, { "type": "TsLiteralType", "span": { "start": 1158, "end": 1159, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 1158, "end": 1159, "ctxt": 0 }, "value": 3.0, "raw": "3" } } ] } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": true }, { "type": "ClassProperty", "span": { "start": 1208, "end": 1217, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1208, "end": 1209, "ctxt": 0 }, "value": "r", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1210, "end": 1217, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 1212, "end": 1217, "ctxt": 0 }, "types": [ { "type": "TsLiteralType", "span": { "start": 1212, "end": 1213, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 1212, "end": 1213, "ctxt": 0 }, "value": 4.0, "raw": "4" } }, { "type": "TsLiteralType", "span": { "start": 1216, "end": 1217, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 1216, "end": 1217, "ctxt": 0 }, "value": 5.0, "raw": "5" } } ] } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": true } ], "superClass": { "type": "Identifier", "span": { "start": 1138, "end": 1139, "ctxt": 0 }, "value": "J", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1258, "end": 1259, "ctxt": 0 }, "value": "L", "optional": false }, "declare": false, "span": { "start": 1252, "end": 1331, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1266, "end": 1273, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1266, "end": 1267, "ctxt": 0 }, "value": "a", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1267, "end": 1272, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1269, "end": 1272, "ctxt": 0 }, "kind": "any" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "Constructor", "span": { "start": 1278, "end": 1329, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1278, "end": 1289, "ctxt": 0 }, "value": "constructor", "optional": false }, "params": [ { "type": "Parameter", "span": { "start": 1290, "end": 1298, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1290, "end": 1298, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1293, "end": 1298, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1295, "end": 1298, "ctxt": 0 }, "kind": "any" } } } } ], "body": { "type": "BlockStatement", "span": { "start": 1300, "end": 1329, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 1310, "end": 1323, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1310, "end": 1322, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1310, "end": 1316, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1310, "end": 1314, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1315, "end": 1316, "ctxt": 0 }, "value": "a", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 1319, "end": 1322, "ctxt": 0 }, "value": "arg", "optional": false } } } ] }, "accessibility": null, "isOptional": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1338, "end": 1339, "ctxt": 0 }, "value": "M", "optional": false }, "declare": false, "span": { "start": 1332, "end": 1495, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1356, "end": 1374, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1364, "end": 1365, "ctxt": 0 }, "value": "a", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1365, "end": 1373, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1367, "end": 1373, "ctxt": 0 }, "kind": "number" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": true, "definite": false }, { "type": "Constructor", "span": { "start": 1379, "end": 1493, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1379, "end": 1390, "ctxt": 0 }, "value": "constructor", "optional": false }, "params": [ { "type": "Parameter", "span": { "start": 1391, "end": 1402, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1391, "end": 1402, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1394, "end": 1402, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1396, "end": 1402, "ctxt": 0 }, "kind": "number" } } } } ], "body": { "type": "BlockStatement", "span": { "start": 1404, "end": 1493, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 1414, "end": 1425, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 1414, "end": 1424, "ctxt": 0 }, "callee": { "type": "Super", "span": { "start": 1414, "end": 1419, "ctxt": 0 } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1420, "end": 1423, "ctxt": 0 }, "value": "arg", "optional": false } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 1434, "end": 1454, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 1434, "end": 1453, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 1434, "end": 1445, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1434, "end": 1441, "ctxt": 0 }, "value": "console", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1442, "end": 1445, "ctxt": 0 }, "value": "log", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 1446, "end": 1452, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 1446, "end": 1450, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 1451, "end": 1452, "ctxt": 0 }, "value": "a", "optional": false } } } ], "typeArguments": null } } ] }, "accessibility": null, "isOptional": false } ], "superClass": { "type": "Identifier", "span": { "start": 1348, "end": 1349, "ctxt": 0 }, "value": "L", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } ], "interpreter": null }