| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | import Node from './node';
/**
* Wraps a generic type
*
*/
export default class Generic extends Node {
constructor(
type: Identifier,
parameters: Identifier[],
position: Object
) {
super(position);
/** @type {Identifier} */
this.type = type;
/** @type {Identifier[]} */
this.parameters = parameters;
}
/** @override */
get children() {
return ['parameters'];
}
/** @override */
toString() {
return `${this.type.identifier.rootId}<${this.parameters.join(", ")}>`
}
} |