Files

207 lines
8.9 KiB
JSON

{
"type": "File",
"start":0,"end":119,"loc":{"start":{"line":1,"column":0,"index":0},"end":{"line":7,"column":29,"index":119}},
"program": {
"type": "Program",
"start":0,"end":119,"loc":{"start":{"line":1,"column":0,"index":0},"end":{"line":7,"column":29,"index":119}},
"sourceType": "module",
"interpreter": null,
"body": [
{
"type": "ClassDeclaration",
"start":0,"end":25,"loc":{"start":{"line":1,"column":0,"index":0},"end":{"line":1,"column":25,"index":25}},
"id": {
"type": "Identifier",
"start":6,"end":7,"loc":{"start":{"line":1,"column":6,"index":6},"end":{"line":1,"column":7,"index":7},"identifierName":"C"},
"name": "C"
},
"typeParameters": {
"type": "TypeParameterDeclaration",
"start":7,"end":22,"loc":{"start":{"line":1,"column":7,"index":7},"end":{"line":1,"column":22,"index":22}},
"params": [
{
"type": "TypeParameter",
"start":8,"end":21,"loc":{"start":{"line":1,"column":8,"index":8},"end":{"line":1,"column":21,"index":21}},
"name": "T",
"variance": null,
"bound": {
"type": "TypeAnnotation",
"start":10,"end":21,"loc":{"start":{"line":1,"column":10,"index":10},"end":{"line":1,"column":21,"index":21}},
"typeAnnotation": {
"type": "GenericTypeAnnotation",
"start":18,"end":21,"loc":{"start":{"line":1,"column":18,"index":18},"end":{"line":1,"column":21,"index":21}},
"typeParameters": null,
"id": {
"type": "Identifier",
"start":18,"end":21,"loc":{"start":{"line":1,"column":18,"index":18},"end":{"line":1,"column":21,"index":21},"identifierName":"Foo"},
"name": "Foo"
}
}
}
}
]
},
"superClass": null,
"body": {
"type": "ClassBody",
"start":23,"end":25,"loc":{"start":{"line":1,"column":23,"index":23},"end":{"line":1,"column":25,"index":25}},
"body": []
}
},
{
"type": "FunctionDeclaration",
"start":27,"end":57,"loc":{"start":{"line":3,"column":0,"index":27},"end":{"line":3,"column":30,"index":57}},
"id": {
"type": "Identifier",
"start":36,"end":37,"loc":{"start":{"line":3,"column":9,"index":36},"end":{"line":3,"column":10,"index":37},"identifierName":"F"},
"name": "F"
},
"generator": false,
"async": false,
"typeParameters": {
"type": "TypeParameterDeclaration",
"start":37,"end":52,"loc":{"start":{"line":3,"column":10,"index":37},"end":{"line":3,"column":25,"index":52}},
"params": [
{
"type": "TypeParameter",
"start":38,"end":51,"loc":{"start":{"line":3,"column":11,"index":38},"end":{"line":3,"column":24,"index":51}},
"name": "T",
"variance": null,
"bound": {
"type": "TypeAnnotation",
"start":40,"end":51,"loc":{"start":{"line":3,"column":13,"index":40},"end":{"line":3,"column":24,"index":51}},
"typeAnnotation": {
"type": "GenericTypeAnnotation",
"start":48,"end":51,"loc":{"start":{"line":3,"column":21,"index":48},"end":{"line":3,"column":24,"index":51}},
"typeParameters": null,
"id": {
"type": "Identifier",
"start":48,"end":51,"loc":{"start":{"line":3,"column":21,"index":48},"end":{"line":3,"column":24,"index":51},"identifierName":"Foo"},
"name": "Foo"
}
}
}
}
]
},
"params": [],
"body": {
"type": "BlockStatement",
"start":55,"end":57,"loc":{"start":{"line":3,"column":28,"index":55},"end":{"line":3,"column":30,"index":57}},
"body": [],
"directives": []
}
},
{
"type": "InterfaceDeclaration",
"start":59,"end":88,"loc":{"start":{"line":5,"column":0,"index":59},"end":{"line":5,"column":29,"index":88}},
"id": {
"type": "Identifier",
"start":69,"end":70,"loc":{"start":{"line":5,"column":10,"index":69},"end":{"line":5,"column":11,"index":70},"identifierName":"I"},
"name": "I"
},
"typeParameters": {
"type": "TypeParameterDeclaration",
"start":70,"end":85,"loc":{"start":{"line":5,"column":11,"index":70},"end":{"line":5,"column":26,"index":85}},
"params": [
{
"type": "TypeParameter",
"start":71,"end":84,"loc":{"start":{"line":5,"column":12,"index":71},"end":{"line":5,"column":25,"index":84}},
"name": "T",
"variance": null,
"bound": {
"type": "TypeAnnotation",
"start":73,"end":84,"loc":{"start":{"line":5,"column":14,"index":73},"end":{"line":5,"column":25,"index":84}},
"typeAnnotation": {
"type": "GenericTypeAnnotation",
"start":81,"end":84,"loc":{"start":{"line":5,"column":22,"index":81},"end":{"line":5,"column":25,"index":84}},
"typeParameters": null,
"id": {
"type": "Identifier",
"start":81,"end":84,"loc":{"start":{"line":5,"column":22,"index":81},"end":{"line":5,"column":25,"index":84},"identifierName":"Foo"},
"name": "Foo"
}
}
}
}
]
},
"extends": [],
"body": {
"type": "ObjectTypeAnnotation",
"start":86,"end":88,"loc":{"start":{"line":5,"column":27,"index":86},"end":{"line":5,"column":29,"index":88}},
"callProperties": [],
"properties": [],
"indexers": [],
"internalSlots": [],
"exact": false
}
},
{
"type": "TypeAlias",
"start":90,"end":119,"loc":{"start":{"line":7,"column":0,"index":90},"end":{"line":7,"column":29,"index":119}},
"id": {
"type": "Identifier",
"start":95,"end":96,"loc":{"start":{"line":7,"column":5,"index":95},"end":{"line":7,"column":6,"index":96},"identifierName":"T"},
"name": "T"
},
"typeParameters": {
"type": "TypeParameterDeclaration",
"start":96,"end":111,"loc":{"start":{"line":7,"column":6,"index":96},"end":{"line":7,"column":21,"index":111}},
"params": [
{
"type": "TypeParameter",
"start":97,"end":110,"loc":{"start":{"line":7,"column":7,"index":97},"end":{"line":7,"column":20,"index":110}},
"name": "P",
"variance": null,
"bound": {
"type": "TypeAnnotation",
"start":99,"end":110,"loc":{"start":{"line":7,"column":9,"index":99},"end":{"line":7,"column":20,"index":110}},
"typeAnnotation": {
"type": "GenericTypeAnnotation",
"start":107,"end":110,"loc":{"start":{"line":7,"column":17,"index":107},"end":{"line":7,"column":20,"index":110}},
"typeParameters": null,
"id": {
"type": "Identifier",
"start":107,"end":110,"loc":{"start":{"line":7,"column":17,"index":107},"end":{"line":7,"column":20,"index":110},"identifierName":"Foo"},
"name": "Foo"
}
}
}
}
]
},
"right": {
"type": "GenericTypeAnnotation",
"start":114,"end":118,"loc":{"start":{"line":7,"column":24,"index":114},"end":{"line":7,"column":28,"index":118}},
"typeParameters": {
"type": "TypeParameterInstantiation",
"start":115,"end":118,"loc":{"start":{"line":7,"column":25,"index":115},"end":{"line":7,"column":28,"index":118}},
"params": [
{
"type": "GenericTypeAnnotation",
"start":116,"end":117,"loc":{"start":{"line":7,"column":26,"index":116},"end":{"line":7,"column":27,"index":117}},
"typeParameters": null,
"id": {
"type": "Identifier",
"start":116,"end":117,"loc":{"start":{"line":7,"column":26,"index":116},"end":{"line":7,"column":27,"index":117},"identifierName":"P"},
"name": "P"
}
}
]
},
"id": {
"type": "Identifier",
"start":114,"end":115,"loc":{"start":{"line":7,"column":24,"index":114},"end":{"line":7,"column":25,"index":115},"identifierName":"I"},
"name": "I"
}
}
}
],
"directives": [],
"extra": {
"topLevelAwait": false
}
}
}