swc/crates/swc_ecma_parser/tests/tsc/classCanExtendConstructorFunction.json

2569 lines
66 KiB
JSON

{
"type": "Script",
"span": {
"start": 130,
"end": 2335,
"ctxt": 0
},
"body": [
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 139,
"end": 144,
"ctxt": 0
},
"value": "Wagon",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 145,
"end": 155,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 145,
"end": 155,
"ctxt": 0
},
"value": "numberOxen",
"optional": false,
"typeAnnotation": null
}
}
],
"decorators": [],
"span": {
"start": 130,
"end": 193,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 157,
"end": 193,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 163,
"end": 191,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 163,
"end": 191,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 163,
"end": 178,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 163,
"end": 167,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 168,
"end": 178,
"ctxt": 0
},
"value": "numberOxen",
"optional": false
}
},
"right": {
"type": "Identifier",
"span": {
"start": 181,
"end": 191,
"ctxt": 0
},
"value": "numberOxen",
"optional": false
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
{
"type": "ExpressionStatement",
"span": {
"start": 226,
"end": 304,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 226,
"end": 304,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 226,
"end": 238,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 226,
"end": 231,
"ctxt": 0
},
"value": "Wagon",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 232,
"end": 238,
"ctxt": 0
},
"value": "circle",
"optional": false
}
},
"right": {
"type": "FunctionExpression",
"identifier": null,
"params": [
{
"type": "Parameter",
"span": {
"start": 251,
"end": 257,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 251,
"end": 257,
"ctxt": 0
},
"value": "wagons",
"optional": false,
"typeAnnotation": null
}
}
],
"decorators": [],
"span": {
"start": 241,
"end": 304,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 259,
"end": 304,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 265,
"end": 302,
"ctxt": 0
},
"argument": {
"type": "ConditionalExpression",
"span": {
"start": 272,
"end": 301,
"ctxt": 0
},
"test": {
"type": "Identifier",
"span": {
"start": 272,
"end": 278,
"ctxt": 0
},
"value": "wagons",
"optional": false
},
"consequent": {
"type": "MemberExpression",
"span": {
"start": 281,
"end": 294,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 281,
"end": 287,
"ctxt": 0
},
"value": "wagons",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 288,
"end": 294,
"ctxt": 0
},
"value": "length",
"optional": false
}
},
"alternate": {
"type": "NumericLiteral",
"span": {
"start": 297,
"end": 301,
"ctxt": 0
},
"value": 3.14
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
}
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 363,
"end": 409,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 363,
"end": 409,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 363,
"end": 383,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 363,
"end": 378,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 363,
"end": 368,
"ctxt": 0
},
"value": "Wagon",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 369,
"end": 378,
"ctxt": 0
},
"value": "prototype",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 379,
"end": 383,
"ctxt": 0
},
"value": "load",
"optional": false
}
},
"right": {
"type": "FunctionExpression",
"identifier": null,
"params": [
{
"type": "Parameter",
"span": {
"start": 396,
"end": 404,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 396,
"end": 404,
"ctxt": 0
},
"value": "supplies",
"optional": false,
"typeAnnotation": null
}
}
],
"decorators": [],
"span": {
"start": 386,
"end": 409,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 406,
"end": 409,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
}
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 466,
"end": 534,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 466,
"end": 534,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 466,
"end": 488,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 466,
"end": 481,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 466,
"end": 471,
"ctxt": 0
},
"value": "Wagon",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 472,
"end": 481,
"ctxt": 0
},
"value": "prototype",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 482,
"end": 488,
"ctxt": 0
},
"value": "weight",
"optional": false
}
},
"right": {
"type": "ArrowFunctionExpression",
"span": {
"start": 491,
"end": 534,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 491,
"end": 499,
"ctxt": 0
},
"value": "supplies",
"optional": false,
"typeAnnotation": null
}
],
"body": {
"type": "ConditionalExpression",
"span": {
"start": 503,
"end": 534,
"ctxt": 0
},
"test": {
"type": "Identifier",
"span": {
"start": 503,
"end": 511,
"ctxt": 0
},
"value": "supplies",
"optional": false
},
"consequent": {
"type": "MemberExpression",
"span": {
"start": 514,
"end": 529,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 514,
"end": 522,
"ctxt": 0
},
"value": "supplies",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 523,
"end": 529,
"ctxt": 0
},
"value": "length",
"optional": false
}
},
"alternate": {
"type": "UnaryExpression",
"span": {
"start": 532,
"end": 534,
"ctxt": 0
},
"operator": "-",
"argument": {
"type": "NumericLiteral",
"span": {
"start": 533,
"end": 534,
"ctxt": 0
},
"value": 1.0
}
}
},
"async": false,
"generator": false,
"typeParameters": null,
"returnType": null
}
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 535,
"end": 617,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 535,
"end": 617,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 535,
"end": 556,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 535,
"end": 550,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 535,
"end": 540,
"ctxt": 0
},
"value": "Wagon",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 541,
"end": 550,
"ctxt": 0
},
"value": "prototype",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 551,
"end": 556,
"ctxt": 0
},
"value": "speed",
"optional": false
}
},
"right": {
"type": "FunctionExpression",
"identifier": null,
"params": [],
"decorators": [],
"span": {
"start": 559,
"end": 617,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 571,
"end": 617,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 577,
"end": 615,
"ctxt": 0
},
"argument": {
"type": "BinaryExpression",
"span": {
"start": 584,
"end": 615,
"ctxt": 0
},
"operator": "/",
"left": {
"type": "MemberExpression",
"span": {
"start": 584,
"end": 599,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 584,
"end": 588,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 589,
"end": 599,
"ctxt": 0
},
"value": "numberOxen",
"optional": false
}
},
"right": {
"type": "CallExpression",
"span": {
"start": 602,
"end": 615,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 602,
"end": 613,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 602,
"end": 606,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 607,
"end": 613,
"ctxt": 0
},
"value": "weight",
"optional": false
}
},
"arguments": [],
"typeArguments": null
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
}
}
},
{
"type": "ClassDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 630,
"end": 633,
"ctxt": 0
},
"value": "Sql",
"optional": false
},
"declare": false,
"span": {
"start": 624,
"end": 1229,
"ctxt": 0
},
"decorators": [],
"body": [
{
"type": "Constructor",
"span": {
"start": 654,
"end": 748,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 654,
"end": 665,
"ctxt": 0
},
"value": "constructor",
"optional": false
},
"params": [],
"body": {
"type": "BlockStatement",
"span": {
"start": 668,
"end": 748,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 678,
"end": 686,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 678,
"end": 685,
"ctxt": 0
},
"callee": {
"type": "Super",
"span": {
"start": 678,
"end": 683,
"ctxt": 0
}
},
"arguments": [],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 726,
"end": 742,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 726,
"end": 742,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 726,
"end": 737,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 726,
"end": 730,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 731,
"end": 737,
"ctxt": 0
},
"value": "foonly",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 740,
"end": 742,
"ctxt": 0
},
"value": 12.0
}
}
}
]
},
"accessibility": null,
"isOptional": false
},
{
"type": "ClassMethod",
"span": {
"start": 919,
"end": 1227,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 919,
"end": 923,
"ctxt": 0
},
"value": "load",
"optional": false
},
"function": {
"params": [
{
"type": "Parameter",
"span": {
"start": 924,
"end": 929,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 924,
"end": 929,
"ctxt": 0
},
"value": "files",
"optional": false,
"typeAnnotation": null
}
},
{
"type": "Parameter",
"span": {
"start": 931,
"end": 937,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 931,
"end": 937,
"ctxt": 0
},
"value": "format",
"optional": false,
"typeAnnotation": null
}
}
],
"decorators": [],
"span": {
"start": 919,
"end": 1227,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 939,
"end": 1227,
"ctxt": 0
},
"stmts": [
{
"type": "IfStatement",
"span": {
"start": 949,
"end": 1221,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 953,
"end": 977,
"ctxt": 0
},
"operator": "===",
"left": {
"type": "Identifier",
"span": {
"start": 953,
"end": 959,
"ctxt": 0
},
"value": "format",
"optional": false
},
"right": {
"type": "StringLiteral",
"span": {
"start": 964,
"end": 977,
"ctxt": 0
},
"value": "xmlolololol",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
},
"consequent": {
"type": "BlockStatement",
"span": {
"start": 979,
"end": 1060,
"ctxt": 0
},
"stmts": [
{
"type": "ThrowStatement",
"span": {
"start": 993,
"end": 1050,
"ctxt": 0
},
"argument": {
"type": "NewExpression",
"span": {
"start": 999,
"end": 1049,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1003,
"end": 1008,
"ctxt": 0
},
"value": "Error",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 1009,
"end": 1048,
"ctxt": 0
},
"value": "please do not use XML. It was a joke.",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
}
],
"typeArguments": null
}
}
]
},
"alternate": {
"type": "BlockStatement",
"span": {
"start": 1074,
"end": 1221,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 1088,
"end": 1101,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 1088,
"end": 1101,
"ctxt": 0
},
"callee": {
"type": "SuperPropExpression",
"span": {
"start": 1088,
"end": 1099,
"ctxt": 0
},
"obj": {
"type": "Super",
"span": {
"start": 1088,
"end": 1093,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1094,
"end": 1099,
"ctxt": 0
},
"value": "speed",
"optional": false
}
},
"arguments": [],
"typeArguments": null
}
},
{
"type": "IfStatement",
"span": {
"start": 1128,
"end": 1211,
"ctxt": 0
},
"test": {
"type": "BinaryExpression",
"span": {
"start": 1132,
"end": 1150,
"ctxt": 0
},
"operator": "<",
"left": {
"type": "CallExpression",
"span": {
"start": 1132,
"end": 1146,
"ctxt": 0
},
"callee": {
"type": "SuperPropExpression",
"span": {
"start": 1132,
"end": 1144,
"ctxt": 0
},
"obj": {
"type": "Super",
"span": {
"start": 1132,
"end": 1137,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1138,
"end": 1144,
"ctxt": 0
},
"value": "weight",
"optional": false
}
},
"arguments": [],
"typeArguments": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 1149,
"end": 1150,
"ctxt": 0
},
"value": 0.0
}
},
"consequent": {
"type": "BlockStatement",
"span": {
"start": 1152,
"end": 1211,
"ctxt": 0
},
"stmts": []
},
"alternate": null
}
]
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
"kind": "method",
"isStatic": false,
"accessibility": null,
"isAbstract": false,
"isOptional": false,
"isOverride": false
}
],
"superClass": {
"type": "Identifier",
"span": {
"start": 642,
"end": 647,
"ctxt": 0
},
"value": "Wagon",
"optional": false
},
"isAbstract": false,
"typeParams": null,
"superTypeParams": null,
"implements": []
},
{
"type": "VariableDeclaration",
"span": {
"start": 1230,
"end": 1249,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1234,
"end": 1248,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1234,
"end": 1236,
"ctxt": 0
},
"value": "db",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "NewExpression",
"span": {
"start": 1239,
"end": 1248,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1243,
"end": 1246,
"ctxt": 0
},
"value": "Sql",
"optional": false
},
"arguments": [],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 1250,
"end": 1275,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 1250,
"end": 1275,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 1250,
"end": 1263,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 1250,
"end": 1252,
"ctxt": 0
},
"value": "db",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 1253,
"end": 1263,
"ctxt": 0
},
"value": "numberOxen",
"optional": false
}
},
"right": {
"type": "MemberExpression",
"span": {
"start": 1266,
"end": 1275,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 1266,
"end": 1268,
"ctxt": 0
},
"value": "db",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 1269,
"end": 1275,
"ctxt": 0
},
"value": "foonly",
"optional": false
}
}
}
},
{
"type": "ClassDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1332,
"end": 1340,
"ctxt": 0
},
"value": "Drakkhen",
"optional": false
},
"declare": false,
"span": {
"start": 1326,
"end": 1360,
"ctxt": 0
},
"decorators": [],
"body": [],
"superClass": {
"type": "Identifier",
"span": {
"start": 1349,
"end": 1355,
"ctxt": 0
},
"value": "Dragon",
"optional": false
},
"isAbstract": false,
"typeParams": null,
"superTypeParams": null,
"implements": []
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1420,
"end": 1426,
"ctxt": 0
},
"value": "Dragon",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 1427,
"end": 1446,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 1427,
"end": 1446,
"ctxt": 0
},
"value": "numberEaten",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1438,
"end": 1446,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1440,
"end": 1446,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"decorators": [],
"span": {
"start": 1411,
"end": 1486,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1448,
"end": 1486,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 1454,
"end": 1484,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 1454,
"end": 1484,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 1454,
"end": 1470,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 1454,
"end": 1458,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 1459,
"end": 1470,
"ctxt": 0
},
"value": "numberEaten",
"optional": false
}
},
"right": {
"type": "Identifier",
"span": {
"start": 1473,
"end": 1484,
"ctxt": 0
},
"value": "numberEaten",
"optional": false
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
{
"type": "ClassDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1503,
"end": 1512,
"ctxt": 0
},
"value": "Firedrake",
"optional": false
},
"declare": false,
"span": {
"start": 1497,
"end": 1574,
"ctxt": 0
},
"decorators": [],
"body": [
{
"type": "Constructor",
"span": {
"start": 1534,
"end": 1572,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1534,
"end": 1545,
"ctxt": 0
},
"value": "constructor",
"optional": false
},
"params": [],
"body": {
"type": "BlockStatement",
"span": {
"start": 1548,
"end": 1572,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 1558,
"end": 1566,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 1558,
"end": 1565,
"ctxt": 0
},
"callee": {
"type": "Super",
"span": {
"start": 1558,
"end": 1563,
"ctxt": 0
}
},
"arguments": [],
"typeArguments": null
}
}
]
},
"accessibility": null,
"isOptional": false
}
],
"superClass": {
"type": "Identifier",
"span": {
"start": 1521,
"end": 1527,
"ctxt": 0
},
"value": "Dragon",
"optional": false
},
"isAbstract": false,
"typeParams": null,
"superTypeParams": null,
"implements": []
},
{
"type": "ClassDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1587,
"end": 1596,
"ctxt": 0
},
"value": "Conestoga",
"optional": false
},
"declare": false,
"span": {
"start": 1581,
"end": 1842,
"ctxt": 0
},
"decorators": [],
"body": [
{
"type": "Constructor",
"span": {
"start": 1617,
"end": 1710,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1617,
"end": 1628,
"ctxt": 0
},
"value": "constructor",
"optional": false
},
"params": [
{
"type": "TsParameterProperty",
"span": {
"start": 1629,
"end": 1649,
"ctxt": 0
},
"decorators": [],
"accessibility": "public",
"override": false,
"readonly": false,
"param": {
"type": "Identifier",
"span": {
"start": 1636,
"end": 1649,
"ctxt": 0
},
"value": "drunkOO",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1643,
"end": 1649,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsLiteralType",
"span": {
"start": 1645,
"end": 1649,
"ctxt": 0
},
"literal": {
"type": "BooleanLiteral",
"span": {
"start": 1645,
"end": 1649,
"ctxt": 0
},
"value": true
}
}
}
}
}
],
"body": {
"type": "BlockStatement",
"span": {
"start": 1651,
"end": 1710,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 1690,
"end": 1704,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 1690,
"end": 1703,
"ctxt": 0
},
"callee": {
"type": "Super",
"span": {
"start": 1690,
"end": 1695,
"ctxt": 0
}
},
"arguments": [
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 1696,
"end": 1702,
"ctxt": 0
},
"value": "nope",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
}
],
"typeArguments": null
}
}
]
},
"accessibility": null,
"isOptional": false
},
{
"type": "ClassMethod",
"span": {
"start": 1764,
"end": 1840,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1771,
"end": 1777,
"ctxt": 0
},
"value": "circle",
"optional": false
},
"function": {
"params": [
{
"type": "Parameter",
"span": {
"start": 1778,
"end": 1802,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 1778,
"end": 1802,
"ctxt": 0
},
"value": "others",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1784,
"end": 1802,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 1786,
"end": 1802,
"ctxt": 0
},
"elemType": {
"type": "TsParenthesizedType",
"span": {
"start": 1786,
"end": 1800,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeQuery",
"span": {
"start": 1787,
"end": 1799,
"ctxt": 0
},
"exprName": {
"type": "Identifier",
"span": {
"start": 1794,
"end": 1799,
"ctxt": 0
},
"value": "Wagon",
"optional": false
},
"typeArguments": null
}
}
}
}
}
}
],
"decorators": [],
"span": {
"start": 1764,
"end": 1840,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1804,
"end": 1840,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 1814,
"end": 1834,
"ctxt": 0
},
"argument": {
"type": "MemberExpression",
"span": {
"start": 1821,
"end": 1834,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 1821,
"end": 1827,
"ctxt": 0
},
"value": "others",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 1828,
"end": 1834,
"ctxt": 0
},
"value": "length",
"optional": false
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
"kind": "method",
"isStatic": true,
"accessibility": null,
"isAbstract": false,
"isOptional": false,
"isOverride": false
}
],
"superClass": {
"type": "Identifier",
"span": {
"start": 1605,
"end": 1610,
"ctxt": 0
},
"value": "Wagon",
"optional": false
},
"isAbstract": false,
"typeParams": null,
"superTypeParams": null,
"implements": []
},
{
"type": "VariableDeclaration",
"span": {
"start": 1843,
"end": 1871,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1847,
"end": 1870,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1847,
"end": 1848,
"ctxt": 0
},
"value": "c",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "NewExpression",
"span": {
"start": 1851,
"end": 1870,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1855,
"end": 1864,
"ctxt": 0
},
"value": "Conestoga",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 1865,
"end": 1869,
"ctxt": 0
},
"value": true
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 1872,
"end": 1881,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 1872,
"end": 1881,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 1872,
"end": 1873,
"ctxt": 0
},
"value": "c",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 1874,
"end": 1881,
"ctxt": 0
},
"value": "drunkOO",
"optional": false
}
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 1882,
"end": 1894,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 1882,
"end": 1894,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 1882,
"end": 1883,
"ctxt": 0
},
"value": "c",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 1884,
"end": 1894,
"ctxt": 0
},
"value": "numberOxen",
"optional": false
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1976,
"end": 1980,
"ctxt": 0
},
"value": "Soup",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 1981,
"end": 1988,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 1981,
"end": 1988,
"ctxt": 0
},
"value": "flavour",
"optional": false,
"typeAnnotation": null
}
}
],
"decorators": [],
"span": {
"start": 1967,
"end": 2020,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1990,
"end": 2020,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 1996,
"end": 2018,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 1996,
"end": 2018,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 1996,
"end": 2008,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 1996,
"end": 2000,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2001,
"end": 2008,
"ctxt": 0
},
"value": "flavour",
"optional": false
}
},
"right": {
"type": "Identifier",
"span": {
"start": 2011,
"end": 2018,
"ctxt": 0
},
"value": "flavour",
"optional": false
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
{
"type": "ClassDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 2087,
"end": 2094,
"ctxt": 0
},
"value": "Chowder",
"optional": false
},
"declare": false,
"span": {
"start": 2081,
"end": 2157,
"ctxt": 0
},
"decorators": [],
"body": [
{
"type": "ClassMethod",
"span": {
"start": 2114,
"end": 2155,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 2114,
"end": 2117,
"ctxt": 0
},
"value": "log",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 2114,
"end": 2155,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 2120,
"end": 2155,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 2130,
"end": 2149,
"ctxt": 0
},
"argument": {
"type": "MemberExpression",
"span": {
"start": 2137,
"end": 2149,
"ctxt": 0
},
"object": {
"type": "ThisExpression",
"span": {
"start": 2137,
"end": 2141,
"ctxt": 0
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2142,
"end": 2149,
"ctxt": 0
},
"value": "flavour",
"optional": false
}
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
"kind": "method",
"isStatic": false,
"accessibility": null,
"isAbstract": false,
"isOptional": false,
"isOverride": false
}
],
"superClass": {
"type": "Identifier",
"span": {
"start": 2103,
"end": 2107,
"ctxt": 0
},
"value": "Soup",
"optional": false
},
"isAbstract": false,
"typeParams": null,
"superTypeParams": null,
"implements": []
},
{
"type": "VariableDeclaration",
"span": {
"start": 2159,
"end": 2182,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2163,
"end": 2181,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2163,
"end": 2167,
"ctxt": 0
},
"value": "soup",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "NewExpression",
"span": {
"start": 2170,
"end": 2181,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2174,
"end": 2178,
"ctxt": 0
},
"value": "Soup",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 2179,
"end": 2180,
"ctxt": 0
},
"value": 1.0
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 2183,
"end": 2195,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 2183,
"end": 2195,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 2183,
"end": 2187,
"ctxt": 0
},
"value": "soup",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 2188,
"end": 2195,
"ctxt": 0
},
"value": "flavour",
"optional": false
}
}
},
{
"type": "VariableDeclaration",
"span": {
"start": 2196,
"end": 2245,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2200,
"end": 2244,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2200,
"end": 2207,
"ctxt": 0
},
"value": "chowder",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "NewExpression",
"span": {
"start": 2210,
"end": 2244,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2214,
"end": 2221,
"ctxt": 0
},
"value": "Chowder",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "ObjectExpression",
"span": {
"start": 2222,
"end": 2243,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 2224,
"end": 2229,
"ctxt": 0
},
"value": "claim",
"optional": false
},
"value": {
"type": "StringLiteral",
"span": {
"start": 2231,
"end": 2241,
"ctxt": 0
},
"value": "ignorant",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
}
]
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 2246,
"end": 2267,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 2246,
"end": 2267,
"ctxt": 0
},
"object": {
"type": "MemberExpression",
"span": {
"start": 2246,
"end": 2261,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 2246,
"end": 2253,
"ctxt": 0
},
"value": "chowder",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 2254,
"end": 2261,
"ctxt": 0
},
"value": "flavour",
"optional": false
}
},
"property": {
"type": "Identifier",
"span": {
"start": 2262,
"end": 2267,
"ctxt": 0
},
"value": "claim",
"optional": false
}
}
},
{
"type": "VariableDeclaration",
"span": {
"start": 2268,
"end": 2300,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2272,
"end": 2299,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2272,
"end": 2283,
"ctxt": 0
},
"value": "errorNoArgs",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "NewExpression",
"span": {
"start": 2286,
"end": 2299,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2290,
"end": 2297,
"ctxt": 0
},
"value": "Chowder",
"optional": false
},
"arguments": [],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 2301,
"end": 2335,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2305,
"end": 2334,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2305,
"end": 2317,
"ctxt": 0
},
"value": "errorArgType",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "NewExpression",
"span": {
"start": 2320,
"end": 2334,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2324,
"end": 2331,
"ctxt": 0
},
"value": "Chowder",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 2332,
"end": 2333,
"ctxt": 0
},
"value": 0.0
}
}
],
"typeArguments": null
},
"definite": false
}
]
}
],
"interpreter": null
}