{
"type": "Program",
"statements": [
{
"type": "ImportDeclaration",
"source": {
"type": "StringLiteral",
"value": "./a",
"loc": {
"start": {
"line": 16,
"column": 30
},
"end": {
"line": 16,
"column": 35
}
}
},
"specifiers": [
{
"type": "ImportSpecifier",
"local": {
"type": "Identifier",
"name": "Anno1",
"loc": {
"start": {
"line": 16,
"column": 10
},
"end": {
"line": 16,
"column": 15
}
}
},
"imported": {
"type": "Identifier",
"name": "Anno1",
"loc": {
"start": {
"line": 16,
"column": 10
},
"end": {
"line": 16,
"column": 15
}
}
},
"isType": false,
"loc": {
"start": {
"line": 16,
"column": 10
},
"end": {
"line": 16,
"column": 15
}
}
},
{
"type": "ImportSpecifier",
"local": {
"type": "Identifier",
"name": "Anno2",
"loc": {
"start": {
"line": 16,
"column": 17
},
"end": {
"line": 16,
"column": 22
}
}
},
"imported": {
"type": "Identifier",
"name": "Anno2",
"loc": {
"start": {
"line": 16,
"column": 17
},
"end": {
"line": 16,
"column": 22
}
}
},
"isType": false,
"loc": {
"start": {
"line": 16,
"column": 17
},
"end": {
"line": 16,
"column": 22
}
}
}
],
"loc": {
"start": {
"line": 16,
"column": 1
},
"end": {
"line": 16,
"column": 35
}
}
},
{
"type": "ClassDeclaration",
"definition": {
"id": {
"type": "Identifier",
"name": "A",
"loc": {
"start": {
"line": 19,
"column": 7
},
"end": {
"line": 19,
"column": 8
}
}
},
"superClass": null,
"implements": [],
"constructor": {
"type": "MethodDefinition",
"key": {
"type": "Identifier",
"name": "constructor",
"loc": {
"start": {
"line": 1,
"column": 1
},
"end": {
"line": 1,
"column": 1
}
}
},
"kind": "constructor",
"static": false,
"optional": false,
"computed": false,
"value": {
"type": "FunctionExpression",
"function": {
"type": "ScriptFunction",
"id": null,
"generator": false,
"async": false,
"expression": false,
"params": [],
"body": {
"type": "BlockStatement",
"statements": [],
"loc": {
"start": {
"line": 19,
"column": 1
},
"end": {
"line": 19,
"column": 1
}
}
},
"loc": {
"start": {
"line": 19,
"column": 1
},
"end": {
"line": 19,
"column": 1
}
}
},
"loc": {
"start": {
"line": 1,
"column": 1
},
"end": {
"line": 1,
"column": 1
}
}
},
"overloads": [],
"decorators": [],
"annotations": [
{
"type": "Annotation",
"expression": {
"type": "Identifier",
"name": "Anno1",
"loc": {
"start": {
"line": 18,
"column": 2
},
"end": {
"line": 18,
"column": 29
}
}
},
"name": "Anno1",
"isImported": true,
"loc": {
"start": {
"line": 18,
"column": 1
},
"end": {
"line": 18,
"column": 29
}
}
}
],
"loc": {
"start": {
"line": 19,
"column": 1
},
"end": {
"line": 19,
"column": 11
}
}
},
"body": [],
"indexSignatures": [],
"loc": {
"start": {
"line": 19,
"column": 9
},
"end": {
"line": 19,
"column": 11
}
}
},
"decorators": [],
"isAnnotationDeclaration": false,
"loc": {
"start": {
"line": 19,
"column": 1
},
"end": {
"line": 19,
"column": 11
}
}
},
{
"type": "ClassDeclaration",
"definition": {
"id": {
"type": "Identifier",
"name": "B",
"loc": {
"start": {
"line": 22,
"column": 7
},
"end": {
"line": 22,
"column": 8
}
}
},
"superClass": null,
"implements": [],
"constructor": {
"type": "MethodDefinition",
"key": {
"type": "Identifier",
"name": "constructor",
"loc": {
"start": {
"line": 1,
"column": 1
},
"end": {
"line": 1,
"column": 1
}
}
},
"kind": "constructor",
"static": false,
"optional": false,
"computed": false,
"value": {
"type": "FunctionExpression",
"function": {
"type": "ScriptFunction",
"id": null,
"generator": false,
"async": false,
"expression": false,
"params": [],
"body": {
"type": "BlockStatement",
"statements": [],
"loc": {
"start": {
"line": 22,
"column": 1
},
"end": {
"line": 22,
"column": 1
}
}
},
"loc": {
"start": {
"line": 22,
"column": 1
},
"end": {
"line": 22,
"column": 1
}
}
},
"loc": {
"start": {
"line": 1,
"column": 1
},
"end": {
"line": 1,
"column": 1
}
}
},
"overloads": [],
"decorators": [],
"annotations": [
{
"type": "Annotation",
"expression": {
"type": "CallExpression",
"callee": {
"type": "Identifier",
"name": "Anno1",
"loc": {
"start": {
"line": 21,
"column": 2
},
"end": {
"line": 21,
"column": 29
}
}
},
"arguments": [],
"optional": false,
"loc": {
"start": {
"line": 21,
"column": 2
},
"end": {
"line": 21,
"column": 31
}
}
},
"name": "Anno1",
"isImported": true,
"loc": {
"start": {
"line": 21,
"column": 1
},
"end": {
"line": 21,
"column": 31
}
}
}
],
"loc": {
"start": {
"line": 22,
"column": 1
},
"end": {
"line": 22,
"column": 11
}
}
},
"body": [],
"indexSignatures": [],
"loc": {
"start": {
"line": 22,
"column": 9
},
"end": {
"line": 22,
"column": 11
}
}
},
"decorators": [],
"isAnnotationDeclaration": false,
"loc": {
"start": {
"line": 22,
"column": 1
},
"end": {
"line": 22,
"column": 11
}
}
},
{
"type": "ClassDeclaration",
"definition": {
"id": {
"type": "Identifier",
"name": "C",
"loc": {
"start": {
"line": 25,
"column": 7
},
"end": {
"line": 25,
"column": 8
}
}
},
"superClass": null,
"implements": [],
"constructor": {
"type": "MethodDefinition",
"key": {
"type": "Identifier",
"name": "constructor",
"loc": {
"start": {
"line": 1,
"column": 1
},
"end": {
"line": 1,
"column": 1
}
}
},
"kind": "constructor",
"static": false,
"optional": false,
"computed": false,
"value": {
"type": "FunctionExpression",
"function": {
"type": "ScriptFunction",
"id": null,
"generator": false,
"async": false,
"expression": false,
"params": [],
"body": {
"type": "BlockStatement",
"statements": [],
"loc": {
"start": {
"line": 25,
"column": 1
},
"end": {
"line": 25,
"column": 1
}
}
},
"loc": {
"start": {
"line": 25,
"column": 1
},
"end": {
"line": 25,
"column": 1
}
}
},
"loc": {
"start": {
"line": 1,
"column": 1
},
"end": {
"line": 1,
"column": 1
}
}
},
"overloads": [],
"decorators": [],
"annotations": [
{
"type": "Annotation",
"expression": {
"type": "CallExpression",
"callee": {
"type": "Identifier",
"name": "Anno1",
"loc": {
"start": {
"line": 24,
"column": 2
},
"end": {
"line": 24,
"column": 29
}
}
},
"arguments": [
{
"type": "ObjectExpression",
"properties": [],
"loc": {
"start": {
"line": 24,
"column": 30
},
"end": {
"line": 24,
"column": 32
}
}
}
],
"optional": false,
"loc": {
"start": {
"line": 24,
"column": 2
},
"end": {
"line": 24,
"column": 33
}
}
},
"name": "Anno1",
"isImported": true,
"loc": {
"start": {
"line": 24,
"column": 1
},
"end": {
"line": 24,
"column": 33
}
}
}
],
"loc": {
"start": {
"line": 25,
"column": 1
},
"end": {
"line": 25,
"column": 11
}
}
},
"body": [],
"indexSignatures": [],
"loc": {
"start": {
"line": 25,
"column": 9
},
"end": {
"line": 25,
"column": 11
}
}
},
"decorators": [],
"isAnnotationDeclaration": false,
"loc": {
"start": {
"line": 25,
"column": 1
},
"end": {
"line": 25,
"column": 11
}
}
},
{
"type": "ClassDeclaration",
"definition": {
"id": {
"type": "Identifier",
"name": "D",
"loc": {
"start": {
"line": 28,
"column": 7
},
"end": {
"line": 28,
"column": 8
}
}
},
"superClass": null,
"implements": [],
"constructor": {
"type": "MethodDefinition",
"key": {
"type": "Identifier",
"name": "constructor",
"loc": {
"start": {
"line": 1,
"column": 1
},
"end": {
"line": 1,
"column": 1
}
}
},
"kind": "constructor",
"static": false,
"optional": false,
"computed": false,
"value": {
"type": "FunctionExpression",
"function": {
"type": "ScriptFunction",
"id": null,
"generator": false,
"async": false,
"expression": false,
"params": [],
"body": {
"type": "BlockStatement",
"statements": [],
"loc": {
"start": {
"line": 28,
"column": 1
},
"end": {
"line": 28,
"column": 1
}
}
},
"loc": {
"start": {
"line": 28,
"column": 1
},
"end": {
"line": 28,
"column": 1
}
}
},
"loc": {
"start": {
"line": 1,
"column": 1
},
"end": {
"line": 1,
"column": 1
}
}
},
"overloads": [],
"decorators": [],
"annotations": [
{
"type": "Annotation",
"expression": {
"type": "CallExpression",
"callee": {
"type": "Identifier",
"name": "Anno2",
"loc": {
"start": {
"line": 27,
"column": 2
},
"end": {
"line": 27,
"column": 29
}
}
},
"arguments": [
{
"type": "ObjectExpression",
"properties": [
{
"type": "Property",
"method": false,
"shorthand": false,
"computed": false,
"key": {
"type": "Identifier",
"name": "a",
"loc": {
"start": {
"line": 27,
"column": 31
},
"end": {
"line": 27,
"column": 32
}
}
},
"value": {
"type": "NumberLiteral",
"value": 1,
"loc": {
"start": {
"line": 27,
"column": 34
},
"end": {
"line": 27,
"column": 35
}
}
},
"kind": "init",
"loc": {
"start": {
"line": 27,
"column": 31
},
"end": {
"line": 27,
"column": 35
}
}
},
{
"type": "Property",
"method": false,
"shorthand": false,
"computed": false,
"key": {
"type": "Identifier",
"name": "b",
"loc": {
"start": {
"line": 27,
"column": 37
},
"end": {
"line": 27,
"column": 38
}
}
},
"value": {
"type": "StringLiteral",
"value": "string",
"loc": {
"start": {
"line": 27,
"column": 40
},
"end": {
"line": 27,
"column": 48
}
}
},
"kind": "init",
"loc": {
"start": {
"line": 27,
"column": 37
},
"end": {
"line": 27,
"column": 48
}
}
}
],
"loc": {
"start": {
"line": 27,
"column": 30
},
"end": {
"line": 27,
"column": 49
}
}
}
],
"optional": false,
"loc": {
"start": {
"line": 27,
"column": 2
},
"end": {
"line": 27,
"column": 50
}
}
},
"name": "Anno2",
"isImported": true,
"loc": {
"start": {
"line": 27,
"column": 1
},
"end": {
"line": 27,
"column": 50
}
}
}
],
"loc": {
"start": {
"line": 28,
"column": 1
},
"end": {
"line": 28,
"column": 11
}
}
},
"body": [],
"indexSignatures": [],
"loc": {
"start": {
"line": 28,
"column": 9
},
"end": {
"line": 28,
"column": 11
}
}
},
"decorators": [],
"isAnnotationDeclaration": false,
"loc": {
"start": {
"line": 28,
"column": 1
},
"end": {
"line": 28,
"column": 11
}
}
}
],
"loc": {
"start": {
"line": 1,
"column": 1
},
"end": {
"line": 28,
"column": 11
}
}
}