diff --git a/lib/less/tree/directive.js b/lib/less/tree/directive.js index e189128d..5a22abca 100644 --- a/lib/less/tree/directive.js +++ b/lib/less/tree/directive.js @@ -73,6 +73,9 @@ Directive.prototype.markReferenced = function () { } } }; +Directive.prototype.getIsReferenced = function () { + return !this.currentFileInfo || !this.currentFileInfo.reference || this.isReferenced; +}; Directive.prototype.outputRuleset = function (context, output, rules) { var ruleCnt = rules.length, i; context.tabLevel = (context.tabLevel | 0) + 1; diff --git a/lib/less/tree/ruleset.js b/lib/less/tree/ruleset.js index aa86214d..ce3cb541 100644 --- a/lib/less/tree/ruleset.js +++ b/lib/less/tree/ruleset.js @@ -414,13 +414,44 @@ Ruleset.prototype.genCSS = function (context, output) { } }; Ruleset.prototype.markReferenced = function () { - if (!this.selectors) { - return; + var s; + if (this.selectors) { + for (s = 0; s < this.selectors.length; s++) { + this.selectors[s].markReferenced(); + } } - for (var s = 0; s < this.selectors.length; s++) { - this.selectors[s].markReferenced(); + + if (this.rules) { + for (s = 0; s < this.rules.length; s++) { + if (this.rules[s].markReferenced) + this.rules[s].markReferenced(); + } } }; +Ruleset.prototype.getIsReferenced = function() { + var i, j, path, selector; + + if (this.paths) { + for (i=0; i