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

2297 lines
60 KiB
JSON

{
"type": "Script",
"span": {
"start": 24,
"end": 1234,
"ctxt": 0
},
"body": [
{
"type": "ClassDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 30,
"end": 35,
"ctxt": 0
},
"value": "BaseA",
"optional": false
},
"declare": false,
"span": {
"start": 24,
"end": 123,
"ctxt": 0
},
"decorators": [],
"body": [
{
"type": "Constructor",
"span": {
"start": 42,
"end": 82,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 49,
"end": 60,
"ctxt": 0
},
"value": "constructor",
"optional": false
},
"params": [
{
"type": "TsParameterProperty",
"span": {
"start": 61,
"end": 77,
"ctxt": 0
},
"decorators": [],
"accessibility": "public",
"override": false,
"readonly": false,
"param": {
"type": "Identifier",
"span": {
"start": 68,
"end": 77,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 69,
"end": 77,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 71,
"end": 77,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"body": {
"type": "BlockStatement",
"span": {
"start": 79,
"end": 82,
"ctxt": 0
},
"stmts": []
},
"accessibility": "public",
"isOptional": false
},
{
"type": "ClassMethod",
"span": {
"start": 87,
"end": 121,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 87,
"end": 101,
"ctxt": 0
},
"value": "createInstance",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 87,
"end": 121,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 104,
"end": 121,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 106,
"end": 119,
"ctxt": 0
},
"expression": {
"type": "NewExpression",
"span": {
"start": 106,
"end": 118,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 110,
"end": 115,
"ctxt": 0
},
"value": "BaseA",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 116,
"end": 117,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
],
"typeArguments": null
}
}
]
},
"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": 131,
"end": 136,
"ctxt": 0
},
"value": "BaseB",
"optional": false
},
"declare": false,
"span": {
"start": 125,
"end": 227,
"ctxt": 0
},
"decorators": [],
"body": [
{
"type": "Constructor",
"span": {
"start": 143,
"end": 186,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 153,
"end": 164,
"ctxt": 0
},
"value": "constructor",
"optional": false
},
"params": [
{
"type": "TsParameterProperty",
"span": {
"start": 165,
"end": 181,
"ctxt": 0
},
"decorators": [],
"accessibility": "public",
"override": false,
"readonly": false,
"param": {
"type": "Identifier",
"span": {
"start": 172,
"end": 181,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 173,
"end": 181,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 175,
"end": 181,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"body": {
"type": "BlockStatement",
"span": {
"start": 183,
"end": 186,
"ctxt": 0
},
"stmts": []
},
"accessibility": "protected",
"isOptional": false
},
{
"type": "ClassMethod",
"span": {
"start": 191,
"end": 225,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 191,
"end": 205,
"ctxt": 0
},
"value": "createInstance",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 191,
"end": 225,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 208,
"end": 225,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 210,
"end": 223,
"ctxt": 0
},
"expression": {
"type": "NewExpression",
"span": {
"start": 210,
"end": 222,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 214,
"end": 219,
"ctxt": 0
},
"value": "BaseB",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 220,
"end": 221,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
}
],
"typeArguments": null
}
}
]
},
"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": 235,
"end": 240,
"ctxt": 0
},
"value": "BaseC",
"optional": false
},
"declare": false,
"span": {
"start": 229,
"end": 375,
"ctxt": 0
},
"decorators": [],
"body": [
{
"type": "Constructor",
"span": {
"start": 247,
"end": 288,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 255,
"end": 266,
"ctxt": 0
},
"value": "constructor",
"optional": false
},
"params": [
{
"type": "TsParameterProperty",
"span": {
"start": 267,
"end": 283,
"ctxt": 0
},
"decorators": [],
"accessibility": "public",
"override": false,
"readonly": false,
"param": {
"type": "Identifier",
"span": {
"start": 274,
"end": 283,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 275,
"end": 283,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 277,
"end": 283,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"body": {
"type": "BlockStatement",
"span": {
"start": 285,
"end": 288,
"ctxt": 0
},
"stmts": []
},
"accessibility": "private",
"isOptional": false
},
{
"type": "ClassMethod",
"span": {
"start": 293,
"end": 327,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 293,
"end": 307,
"ctxt": 0
},
"value": "createInstance",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 293,
"end": 327,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 310,
"end": 327,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 312,
"end": 325,
"ctxt": 0
},
"expression": {
"type": "NewExpression",
"span": {
"start": 312,
"end": 324,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 316,
"end": 321,
"ctxt": 0
},
"value": "BaseC",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 322,
"end": 323,
"ctxt": 0
},
"value": 3.0,
"raw": "3"
}
}
],
"typeArguments": null
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
"kind": "method",
"isStatic": false,
"accessibility": null,
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 332,
"end": 373,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 339,
"end": 353,
"ctxt": 0
},
"value": "staticInstance",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 332,
"end": 373,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 356,
"end": 373,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 358,
"end": 371,
"ctxt": 0
},
"expression": {
"type": "NewExpression",
"span": {
"start": 358,
"end": 370,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 362,
"end": 367,
"ctxt": 0
},
"value": "BaseC",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 368,
"end": 369,
"ctxt": 0
},
"value": 4.0,
"raw": "4"
}
}
],
"typeArguments": null
}
}
]
},
"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": []
},
{
"type": "ClassDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 383,
"end": 391,
"ctxt": 0
},
"value": "DerivedA",
"optional": false
},
"declare": false,
"span": {
"start": 377,
"end": 592,
"ctxt": 0
},
"decorators": [],
"body": [
{
"type": "Constructor",
"span": {
"start": 412,
"end": 455,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 412,
"end": 423,
"ctxt": 0
},
"value": "constructor",
"optional": false
},
"params": [
{
"type": "TsParameterProperty",
"span": {
"start": 424,
"end": 440,
"ctxt": 0
},
"decorators": [],
"accessibility": "public",
"override": false,
"readonly": false,
"param": {
"type": "Identifier",
"span": {
"start": 431,
"end": 440,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 432,
"end": 440,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 434,
"end": 440,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"body": {
"type": "BlockStatement",
"span": {
"start": 442,
"end": 455,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 444,
"end": 453,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 444,
"end": 452,
"ctxt": 0
},
"callee": {
"type": "Super",
"span": {
"start": 444,
"end": 449,
"ctxt": 0
}
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 450,
"end": 451,
"ctxt": 0
},
"value": "x",
"optional": false
}
}
],
"typeArguments": null
}
}
]
},
"accessibility": null,
"isOptional": false
},
{
"type": "ClassMethod",
"span": {
"start": 460,
"end": 497,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 460,
"end": 474,
"ctxt": 0
},
"value": "createInstance",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 460,
"end": 497,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 477,
"end": 497,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 479,
"end": 495,
"ctxt": 0
},
"expression": {
"type": "NewExpression",
"span": {
"start": 479,
"end": 494,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 483,
"end": 491,
"ctxt": 0
},
"value": "DerivedA",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 492,
"end": 493,
"ctxt": 0
},
"value": 5.0,
"raw": "5"
}
}
],
"typeArguments": null
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
"kind": "method",
"isStatic": false,
"accessibility": null,
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 502,
"end": 540,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 502,
"end": 520,
"ctxt": 0
},
"value": "createBaseInstance",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 502,
"end": 540,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 523,
"end": 540,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 525,
"end": 538,
"ctxt": 0
},
"expression": {
"type": "NewExpression",
"span": {
"start": 525,
"end": 537,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 529,
"end": 534,
"ctxt": 0
},
"value": "BaseA",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 535,
"end": 536,
"ctxt": 0
},
"value": 6.0,
"raw": "6"
}
}
],
"typeArguments": null
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
"kind": "method",
"isStatic": false,
"accessibility": null,
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 545,
"end": 590,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 552,
"end": 570,
"ctxt": 0
},
"value": "staticBaseInstance",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 545,
"end": 590,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 573,
"end": 590,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 575,
"end": 588,
"ctxt": 0
},
"expression": {
"type": "NewExpression",
"span": {
"start": 575,
"end": 587,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 579,
"end": 584,
"ctxt": 0
},
"value": "BaseA",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 585,
"end": 586,
"ctxt": 0
},
"value": 7.0,
"raw": "7"
}
}
],
"typeArguments": null
}
}
]
},
"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": 400,
"end": 405,
"ctxt": 0
},
"value": "BaseA",
"optional": false
},
"isAbstract": false,
"typeParams": null,
"superTypeParams": null,
"implements": []
},
{
"type": "ClassDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 600,
"end": 608,
"ctxt": 0
},
"value": "DerivedB",
"optional": false
},
"declare": false,
"span": {
"start": 594,
"end": 821,
"ctxt": 0
},
"decorators": [],
"body": [
{
"type": "Constructor",
"span": {
"start": 629,
"end": 672,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 629,
"end": 640,
"ctxt": 0
},
"value": "constructor",
"optional": false
},
"params": [
{
"type": "TsParameterProperty",
"span": {
"start": 641,
"end": 657,
"ctxt": 0
},
"decorators": [],
"accessibility": "public",
"override": false,
"readonly": false,
"param": {
"type": "Identifier",
"span": {
"start": 648,
"end": 657,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 649,
"end": 657,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 651,
"end": 657,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"body": {
"type": "BlockStatement",
"span": {
"start": 659,
"end": 672,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 661,
"end": 670,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 661,
"end": 669,
"ctxt": 0
},
"callee": {
"type": "Super",
"span": {
"start": 661,
"end": 666,
"ctxt": 0
}
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 667,
"end": 668,
"ctxt": 0
},
"value": "x",
"optional": false
}
}
],
"typeArguments": null
}
}
]
},
"accessibility": null,
"isOptional": false
},
{
"type": "ClassMethod",
"span": {
"start": 677,
"end": 714,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 677,
"end": 691,
"ctxt": 0
},
"value": "createInstance",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 677,
"end": 714,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 694,
"end": 714,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 696,
"end": 712,
"ctxt": 0
},
"expression": {
"type": "NewExpression",
"span": {
"start": 696,
"end": 711,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 700,
"end": 708,
"ctxt": 0
},
"value": "DerivedB",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 709,
"end": 710,
"ctxt": 0
},
"value": 7.0,
"raw": "7"
}
}
],
"typeArguments": null
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
"kind": "method",
"isStatic": false,
"accessibility": null,
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 719,
"end": 757,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 719,
"end": 737,
"ctxt": 0
},
"value": "createBaseInstance",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 719,
"end": 757,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 740,
"end": 757,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 742,
"end": 755,
"ctxt": 0
},
"expression": {
"type": "NewExpression",
"span": {
"start": 742,
"end": 754,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 746,
"end": 751,
"ctxt": 0
},
"value": "BaseB",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 752,
"end": 753,
"ctxt": 0
},
"value": 8.0,
"raw": "8"
}
}
],
"typeArguments": null
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
"kind": "method",
"isStatic": false,
"accessibility": null,
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 768,
"end": 813,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 775,
"end": 793,
"ctxt": 0
},
"value": "staticBaseInstance",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 768,
"end": 813,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 796,
"end": 813,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 798,
"end": 811,
"ctxt": 0
},
"expression": {
"type": "NewExpression",
"span": {
"start": 798,
"end": 810,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 802,
"end": 807,
"ctxt": 0
},
"value": "BaseB",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 808,
"end": 809,
"ctxt": 0
},
"value": 9.0,
"raw": "9"
}
}
],
"typeArguments": null
}
}
]
},
"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": 617,
"end": 622,
"ctxt": 0
},
"value": "BaseB",
"optional": false
},
"isAbstract": false,
"typeParams": null,
"superTypeParams": null,
"implements": []
},
{
"type": "ClassDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 829,
"end": 837,
"ctxt": 0
},
"value": "DerivedC",
"optional": false
},
"declare": false,
"span": {
"start": 823,
"end": 1067,
"ctxt": 0
},
"decorators": [],
"body": [
{
"type": "Constructor",
"span": {
"start": 867,
"end": 910,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 867,
"end": 878,
"ctxt": 0
},
"value": "constructor",
"optional": false
},
"params": [
{
"type": "TsParameterProperty",
"span": {
"start": 879,
"end": 895,
"ctxt": 0
},
"decorators": [],
"accessibility": "public",
"override": false,
"readonly": false,
"param": {
"type": "Identifier",
"span": {
"start": 886,
"end": 895,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 887,
"end": 895,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 889,
"end": 895,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"body": {
"type": "BlockStatement",
"span": {
"start": 897,
"end": 910,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 899,
"end": 908,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 899,
"end": 907,
"ctxt": 0
},
"callee": {
"type": "Super",
"span": {
"start": 899,
"end": 904,
"ctxt": 0
}
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 905,
"end": 906,
"ctxt": 0
},
"value": "x",
"optional": false
}
}
],
"typeArguments": null
}
}
]
},
"accessibility": null,
"isOptional": false
},
{
"type": "ClassMethod",
"span": {
"start": 915,
"end": 952,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 915,
"end": 929,
"ctxt": 0
},
"value": "createInstance",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 915,
"end": 952,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 932,
"end": 952,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 934,
"end": 950,
"ctxt": 0
},
"expression": {
"type": "NewExpression",
"span": {
"start": 934,
"end": 949,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 938,
"end": 946,
"ctxt": 0
},
"value": "DerivedC",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 947,
"end": 948,
"ctxt": 0
},
"value": 9.0,
"raw": "9"
}
}
],
"typeArguments": null
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
"kind": "method",
"isStatic": false,
"accessibility": null,
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 957,
"end": 996,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 957,
"end": 975,
"ctxt": 0
},
"value": "createBaseInstance",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 957,
"end": 996,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 978,
"end": 996,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 980,
"end": 994,
"ctxt": 0
},
"expression": {
"type": "NewExpression",
"span": {
"start": 980,
"end": 993,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 984,
"end": 989,
"ctxt": 0
},
"value": "BaseC",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 990,
"end": 992,
"ctxt": 0
},
"value": 10.0,
"raw": "10"
}
}
],
"typeArguments": null
}
}
]
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
"kind": "method",
"isStatic": false,
"accessibility": null,
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 1010,
"end": 1056,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1017,
"end": 1035,
"ctxt": 0
},
"value": "staticBaseInstance",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 1010,
"end": 1056,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1038,
"end": 1056,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 1040,
"end": 1054,
"ctxt": 0
},
"expression": {
"type": "NewExpression",
"span": {
"start": 1040,
"end": 1053,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1044,
"end": 1049,
"ctxt": 0
},
"value": "BaseC",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 1050,
"end": 1052,
"ctxt": 0
},
"value": 11.0,
"raw": "11"
}
}
],
"typeArguments": null
}
}
]
},
"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": 846,
"end": 851,
"ctxt": 0
},
"value": "BaseC",
"optional": false
},
"isAbstract": false,
"typeParams": null,
"superTypeParams": null,
"implements": []
},
{
"type": "VariableDeclaration",
"span": {
"start": 1069,
"end": 1091,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1073,
"end": 1090,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1073,
"end": 1075,
"ctxt": 0
},
"value": "ba",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "NewExpression",
"span": {
"start": 1078,
"end": 1090,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1082,
"end": 1087,
"ctxt": 0
},
"value": "BaseA",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 1088,
"end": 1089,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1092,
"end": 1114,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1096,
"end": 1113,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1096,
"end": 1098,
"ctxt": 0
},
"value": "bb",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "NewExpression",
"span": {
"start": 1101,
"end": 1113,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1105,
"end": 1110,
"ctxt": 0
},
"value": "BaseB",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 1111,
"end": 1112,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1124,
"end": 1146,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1128,
"end": 1145,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1128,
"end": 1130,
"ctxt": 0
},
"value": "bc",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "NewExpression",
"span": {
"start": 1133,
"end": 1145,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1137,
"end": 1142,
"ctxt": 0
},
"value": "BaseC",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 1143,
"end": 1144,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1157,
"end": 1182,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1161,
"end": 1181,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1161,
"end": 1163,
"ctxt": 0
},
"value": "da",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "NewExpression",
"span": {
"start": 1166,
"end": 1181,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1170,
"end": 1178,
"ctxt": 0
},
"value": "DerivedA",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 1179,
"end": 1180,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1183,
"end": 1208,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1187,
"end": 1207,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1187,
"end": 1189,
"ctxt": 0
},
"value": "db",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "NewExpression",
"span": {
"start": 1192,
"end": 1207,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1196,
"end": 1204,
"ctxt": 0
},
"value": "DerivedB",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 1205,
"end": 1206,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1209,
"end": 1234,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1213,
"end": 1233,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1213,
"end": 1215,
"ctxt": 0
},
"value": "dc",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "NewExpression",
"span": {
"start": 1218,
"end": 1233,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1222,
"end": 1230,
"ctxt": 0
},
"value": "DerivedC",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 1231,
"end": 1232,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
],
"typeArguments": null
},
"definite": false
}
]
}
],
"interpreter": null
}