List of usage examples for com.google.common.css.compiler.passes CollectMixinDefinitions runPass
@Override public void runPass()
From source file:com.google.gwt.resources.rg.GssResourceGenerator.java
private OptimizationInfo optimize(ExtendedCssTree extendedCssTree, ResourceContext context, boolean simplifyCss, boolean eliminateDeadStyles) throws UnableToCompleteException { CssTree cssTree = extendedCssTree.getCssTree(); // Collect mixin definitions and replace mixins CollectMixinDefinitions collectMixinDefinitions = new CollectMixinDefinitions( cssTree.getMutatingVisitController(), errorManager); collectMixinDefinitions.runPass(); new ReplaceMixins(cssTree.getMutatingVisitController(), errorManager, collectMixinDefinitions.getDefinitions()).runPass(); new ProcessComponents<Object>(cssTree.getMutatingVisitController(), errorManager).runPass(); RuntimeConditionalNodeCollector runtimeConditionalNodeCollector = new RuntimeConditionalNodeCollector( cssTree.getVisitController()); runtimeConditionalNodeCollector.runPass(); new ExtendedEliminateConditionalNodes(cssTree.getMutatingVisitController(), getPermutationsConditions(context, extendedCssTree.getPermutationAxes()), runtimeConditionalNodeCollector.getRuntimeConditionalNodes()).runPass(); new DisallowDefInsideRuntimeConditionalNode(cssTree.getVisitController(), errorManager).runPass(); // Don't continue if errors exist checkErrors();/* w ww . j ava 2 s . co m*/ CollectConstantDefinitions collectConstantDefinitionsPass = new CollectConstantDefinitions(cssTree); collectConstantDefinitionsPass.runPass(); ReplaceConstantReferences replaceConstantReferences = new ReplaceConstantReferences(cssTree, collectConstantDefinitionsPass.getConstantDefinitions(), true, errorManager, false); replaceConstantReferences.runPass(); new ImageSpriteCreator(cssTree.getMutatingVisitController(), context, errorManager).runPass(); Map<String, GssFunction> gssFunctionMap = new GwtGssFunctionMapProvider(context).get(); new ResolveCustomFunctionNodes(cssTree.getMutatingVisitController(), errorManager, gssFunctionMap, true, allowedNonStandardFunctions).runPass(); if (simplifyCss) { // Eliminate empty rules. new EliminateEmptyRulesetNodes(cssTree.getMutatingVisitController()).runPass(); // Eliminating units for zero values. new EliminateUnitsFromZeroNumericValues(cssTree.getMutatingVisitController()).runPass(); // Optimize color values. new ColorValueOptimizer(cssTree.getMutatingVisitController()).runPass(); // Compress redundant top-right-bottom-left value lists. new AbbreviatePositionalValues(cssTree.getMutatingVisitController()).runPass(); } if (eliminateDeadStyles) { // Report errors for duplicate declarations new DisallowDuplicateDeclarations(cssTree.getVisitController(), errorManager).runPass(); // Split rules by selector and declaration. new SplitRulesetNodes(cssTree.getMutatingVisitController()).runPass(); // Dead code elimination. new MarkRemovableRulesetNodes(cssTree).runPass(); new EliminateUselessRulesetNodes(cssTree).runPass(); // Merge of rules with same selector. new MergeAdjacentRulesetNodesWithSameSelector(cssTree).runPass(); new EliminateUselessRulesetNodes(cssTree).runPass(); // Merge of rules with same styles. new MergeAdjacentRulesetNodesWithSameDeclarations(cssTree).runPass(); new EliminateUselessRulesetNodes(cssTree).runPass(); } return new OptimizationInfo(collectConstantDefinitionsPass.getConstantDefinitions()); }