function Node(t, init) {
    var token = t.token;
    if (token) {
        // If init.type exists it will override token.type.
        this.type = token.type;
        this.value = token.value;
        this.lineno = token.lineno;

        // Start and end are file positions for error handling.
        this.start = token.start;
        this.end = token.end;
    } else {
        this.lineno = t.lineno;
    }

    // Node uses a tokenizer for debugging (getSource, filename getter).
    this.tokenizer = t;
    this.children = [];

    for (var prop in init)
        this[prop] = init[prop];
}
function Node(t, init) {
    var token = t.token;
    if (token) {
        
        this.type = token.type;
        this.value = token.value;
        this.lineno = token.lineno;

        
        this.start = token.start;
        this.end = token.end;
    } else {
        this.lineno = t.lineno;
    }

    
    this.tokenizer = t;
    this.children = [];

    for (var prop in init)
        this[prop] = init[prop];
}
function Node ( t , init ) { var token = t . token ; if ( token ) { // If init.type exists it will override token.type. this . type = token . type ; this . value = token . value ; this . lineno = token . lineno ; // Start and end are file positions for error handling. this . start = token . start ; this . end = token . end ; } else { this . lineno = t . lineno ; } // Node uses a tokenizer for debugging (getSource, filename getter). this . tokenizer = t ; this . children = [ ] ; for ( var prop in init ) this [ prop ] = init [ prop ] ; }
/*
Node :: (tokenizer, optional init object) -> node
/ * Node :: ( tokenizer optional init object ) - > node