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