All files / parser/nodes genericDeclaration.js

80% Statements 4/5
100% Branches 0/0
50% Functions 1/2
80% Lines 4/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                              12x     12x     12x     12x              
import Node from './node';
 
/**
 * Wraps a generic class declaration
 * 
 */
export default class GenericDeclaration extends Node {
    
    constructor(
        type: Identifier,
        parameters: Identifier[],
        defaultType: Identifier,
        optional: bool,
        position: Object
    ) {
        super(position);
        
        /** @type {Identifier} */
        this.type = type;
 
        /** @type {Identifier[]} */
        this.parameters = parameters;
        
        /** @type {Identifier} */
        this.defaultType = defaultType;
    }
    
    /** @override */
    get children() {
        return [this.typ].concat(this.parameters);
    }
}