All files / parser/nodes generic.js

0% Statements 0/5
100% Branches 0/0
0% Functions 0/3
0% Lines 0/5
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(", ")}>`
    }
}