Files

147 lines
5.8 KiB
JSON

{
"type": "File",
"start":0,"end":59,"loc":{"start":{"line":1,"column":0,"index":0},"end":{"line":3,"column":18,"index":59}},
"program": {
"type": "Program",
"start":0,"end":59,"loc":{"start":{"line":1,"column":0,"index":0},"end":{"line":3,"column":18,"index":59}},
"sourceType": "module",
"interpreter": null,
"body": [
{
"type": "ClassDeclaration",
"start":0,"end":17,"loc":{"start":{"line":1,"column":0,"index":0},"end":{"line":1,"column":17,"index":17}},
"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":14,"loc":{"start":{"line":1,"column":7,"index":7},"end":{"line":1,"column":14,"index":14}},
"params": [
{
"type": "TypeParameter",
"start":8,"end":10,"loc":{"start":{"line":1,"column":8,"index":8},"end":{"line":1,"column":10,"index":10}},
"name": "T",
"variance": {
"type": "Variance",
"start":8,"end":9,"loc":{"start":{"line":1,"column":8,"index":8},"end":{"line":1,"column":9,"index":9}},
"kind": "plus"
}
},
{
"type": "TypeParameter",
"start":11,"end":13,"loc":{"start":{"line":1,"column":11,"index":11},"end":{"line":1,"column":13,"index":13}},
"name": "U",
"variance": {
"type": "Variance",
"start":11,"end":12,"loc":{"start":{"line":1,"column":11,"index":11},"end":{"line":1,"column":12,"index":12}},
"kind": "minus"
}
}
]
},
"superClass": null,
"body": {
"type": "ClassBody",
"start":15,"end":17,"loc":{"start":{"line":1,"column":15,"index":15},"end":{"line":1,"column":17,"index":17}},
"body": []
}
},
{
"type": "FunctionDeclaration",
"start":18,"end":40,"loc":{"start":{"line":2,"column":0,"index":18},"end":{"line":2,"column":22,"index":40}},
"id": {
"type": "Identifier",
"start":27,"end":28,"loc":{"start":{"line":2,"column":9,"index":27},"end":{"line":2,"column":10,"index":28},"identifierName":"f"},
"name": "f"
},
"generator": false,
"async": false,
"typeParameters": {
"type": "TypeParameterDeclaration",
"start":28,"end":35,"loc":{"start":{"line":2,"column":10,"index":28},"end":{"line":2,"column":17,"index":35}},
"params": [
{
"type": "TypeParameter",
"start":29,"end":31,"loc":{"start":{"line":2,"column":11,"index":29},"end":{"line":2,"column":13,"index":31}},
"name": "T",
"variance": {
"type": "Variance",
"start":29,"end":30,"loc":{"start":{"line":2,"column":11,"index":29},"end":{"line":2,"column":12,"index":30}},
"kind": "plus"
}
},
{
"type": "TypeParameter",
"start":32,"end":34,"loc":{"start":{"line":2,"column":14,"index":32},"end":{"line":2,"column":16,"index":34}},
"name": "U",
"variance": {
"type": "Variance",
"start":32,"end":33,"loc":{"start":{"line":2,"column":14,"index":32},"end":{"line":2,"column":15,"index":33}},
"kind": "minus"
}
}
]
},
"params": [],
"body": {
"type": "BlockStatement",
"start":38,"end":40,"loc":{"start":{"line":2,"column":20,"index":38},"end":{"line":2,"column":22,"index":40}},
"body": [],
"directives": []
}
},
{
"type": "TypeAlias",
"start":41,"end":59,"loc":{"start":{"line":3,"column":0,"index":41},"end":{"line":3,"column":18,"index":59}},
"id": {
"type": "Identifier",
"start":46,"end":47,"loc":{"start":{"line":3,"column":5,"index":46},"end":{"line":3,"column":6,"index":47},"identifierName":"T"},
"name": "T"
},
"typeParameters": {
"type": "TypeParameterDeclaration",
"start":47,"end":54,"loc":{"start":{"line":3,"column":6,"index":47},"end":{"line":3,"column":13,"index":54}},
"params": [
{
"type": "TypeParameter",
"start":48,"end":50,"loc":{"start":{"line":3,"column":7,"index":48},"end":{"line":3,"column":9,"index":50}},
"name": "T",
"variance": {
"type": "Variance",
"start":48,"end":49,"loc":{"start":{"line":3,"column":7,"index":48},"end":{"line":3,"column":8,"index":49}},
"kind": "plus"
}
},
{
"type": "TypeParameter",
"start":51,"end":53,"loc":{"start":{"line":3,"column":10,"index":51},"end":{"line":3,"column":12,"index":53}},
"name": "U",
"variance": {
"type": "Variance",
"start":51,"end":52,"loc":{"start":{"line":3,"column":10,"index":51},"end":{"line":3,"column":11,"index":52}},
"kind": "minus"
}
}
]
},
"right": {
"type": "ObjectTypeAnnotation",
"start":57,"end":59,"loc":{"start":{"line":3,"column":16,"index":57},"end":{"line":3,"column":18,"index":59}},
"callProperties": [],
"properties": [],
"indexers": [],
"internalSlots": [],
"exact": false,
"inexact": false
}
}
],
"directives": [],
"extra": {
"topLevelAwait": false
}
}
}