AdvancedOptimizer.prototype.reduceNonAdjacent = function (tokens) {
var candidates = {};
- var moreThanOnce = [];
+ var repeated = [];
for (var i = tokens.length - 1; i >= 0; i--) {
var token = tokens[i];
if (!candidates[selector])
candidates[selector] = [];
else
- moreThanOnce.push(selector);
+ repeated.push(selector);
candidates[selector].push({
where: i,
}
}
- var reducedInSimple = this.reduceSimpleNonAdjacentCases(tokens, moreThanOnce, candidates);
+ var reducedInSimple = this.reduceSimpleNonAdjacentCases(tokens, repeated, candidates);
var reducedInComplex = this.reduceComplexNonAdjacentCases(tokens, candidates);
this.minificationsMade.unshift(reducedInSimple || reducedInComplex);
};
-AdvancedOptimizer.prototype.reduceSimpleNonAdjacentCases = function (tokens, matches, positions) {
+AdvancedOptimizer.prototype.reduceSimpleNonAdjacentCases = function (tokens, repeated, candidates) {
var reduced = false;
- for (var i = 0, l = matches.length; i < l; i++) {
- var selector = matches[i];
- var data = positions[selector];
+ for (var i = 0, l = repeated.length; i < l; i++) {
+ var selector = repeated[i];
+ var data = candidates[selector];
if (data.length < 2)
continue;
return reduced;
};
-AdvancedOptimizer.prototype.reduceComplexNonAdjacentCases = function (tokens, positions) {
+AdvancedOptimizer.prototype.reduceComplexNonAdjacentCases = function (tokens, candidates) {
var reduced = false;
allSelectors:
- for (var complexSelector in positions) {
+ for (var complexSelector in candidates) {
if (complexSelector.indexOf(',') == -1)
continue;
- var into = positions[complexSelector];
+ var into = candidates[complexSelector];
var intoPosition = into[into.length - 1].where;
var intoToken = tokens[intoPosition];
for (var j = 0, m = selectors.length; j < m; j++) {
var selector = selectors[j];
- var data = positions[selector];
+ var data = candidates[selector];
if (data.length < 2)
continue allSelectors;