(function (tree) {

tree.Comment = function (value, silent, index, currentFileInfo) {

this.value = value;
this.silent = !!silent;
this.currentFileInfo = currentFileInfo;

}; tree.Comment.prototype = {

type: "Comment",
genCSS: function (env, output) {
    if (this.debugInfo) {
        output.add(tree.debugInfo(env, this), this.currentFileInfo, this.index);
    }
    output.add(this.value.trim()); //TODO shouldn't need to trim, we shouldn't grab the \n
},
toCSS: tree.toCSS,
isSilent: function(env) {
    var isReference = (this.currentFileInfo && this.currentFileInfo.reference && !this.isReferenced),
        isCompressed = env.compress && !this.value.match(/^\/\*!/);
    return this.silent || isReference || isCompressed;
},
eval: function () { return this; },
markReferenced: function () {
    this.isReferenced = true;
}

};

})(require('../tree'));