Class ReplaceMixins
java.lang.Object
com.google.common.css.compiler.ast.DefaultTreeVisitor
com.google.common.css.compiler.passes.ReplaceMixins
- All Implemented Interfaces:
AtRuleHandler,CssCompilerPass,CssTreeVisitor
Compiler pass that replaces mixins with the corresponding mixin definitions
and replaces the variables in the definitions with the values given by the
mixin.
In addition, this pass ensures that each mixin has a matching definition and that the argument count of the use and the definition is equal.
CollectMixinDefinitions has to run before.
ReplaceConstantReferences has to run afterwards.
-
Constructor Summary
ConstructorsConstructorDescriptionReplaceMixins(MutatingVisitController visitController, ErrorManager errorManager, Map<String, CssMixinDefinitionNode> definitions) -
Method Summary
Modifier and TypeMethodDescriptionbooleanCalled before visiting aCssFunctionNode's sub treesbooleanenterValueNode(CssValueNode node) Replaces a variable inside the copy of the mixin definition with the value given by the mixin.voidCalled after visiting aCssDeclarationNode's sub treesvoidCalled after visiting aCssDeclarationBlockNode's sub treesvoidleaveMixin(CssMixinNode node) Called after visiting aCssMixinNode's sub treesvoidrunPass()Methods inherited from class com.google.common.css.compiler.ast.DefaultTreeVisitor
enterAttributeSelector, enterBlock, enterCharSet, enterClassSelector, enterCombinator, enterComponent, enterCompositeValueNode, enterCompositeValueNodeOperator, enterConditionalBlock, enterConditionalRule, enterDeclaration, enterDeclarationBlock, enterDefinition, enterFontFace, enterForLoop, enterFunctionNode, enterIdSelector, enterImportBlock, enterImportRule, enterKey, enterKeyBlock, enterKeyframeRuleset, enterKeyframesRule, enterMediaRule, enterMediaTypeListDelimiter, enterMixin, enterMixinDefinition, enterPageRule, enterPageSelector, enterPropertyValue, enterProvideNode, enterPseudoClass, enterPseudoElement, enterRequireNode, enterRuleset, enterSelector, enterSelectorBlock, enterTree, enterUnknownAtRule, leaveArgumentNode, leaveAttributeSelector, leaveBlock, leaveCharSet, leaveClassSelector, leaveCombinator, leaveComponent, leaveCompositeValueNode, leaveCompositeValueNodeOperator, leaveConditionalBlock, leaveConditionalRule, leaveDefinition, leaveFontFace, leaveForLoop, leaveFunctionNode, leaveIdSelector, leaveImportBlock, leaveImportRule, leaveKey, leaveKeyBlock, leaveKeyframeRuleset, leaveKeyframesRule, leaveMediaRule, leaveMediaTypeListDelimiter, leaveMixinDefinition, leavePageRule, leavePageSelector, leavePropertyValue, leaveProvideNode, leavePseudoClass, leavePseudoElement, leaveRequireNode, leaveRuleset, leaveSelector, leaveSelectorBlock, leaveTree, leaveUnknownAtRule, leaveValueNode
-
Constructor Details
-
ReplaceMixins
public ReplaceMixins(MutatingVisitController visitController, ErrorManager errorManager, Map<String, CssMixinDefinitionNode> definitions)
-
-
Method Details
-
leaveMixin
Description copied from interface:AtRuleHandlerCalled after visiting aCssMixinNode's sub trees- Specified by:
leaveMixinin interfaceAtRuleHandler- Overrides:
leaveMixinin classDefaultTreeVisitor- Parameters:
node- node
-
leaveDeclaration
Description copied from interface:CssTreeVisitorCalled after visiting aCssDeclarationNode's sub trees- Specified by:
leaveDeclarationin interfaceCssTreeVisitor- Overrides:
leaveDeclarationin classDefaultTreeVisitor
-
leaveDeclarationBlock
Description copied from interface:CssTreeVisitorCalled after visiting aCssDeclarationBlockNode's sub trees- Specified by:
leaveDeclarationBlockin interfaceCssTreeVisitor- Overrides:
leaveDeclarationBlockin classDefaultTreeVisitor
-
enterValueNode
Replaces a variable inside the copy of the mixin definition with the value given by the mixin.- Specified by:
enterValueNodein interfaceCssTreeVisitor- Overrides:
enterValueNodein classDefaultTreeVisitor
-
enterArgumentNode
Description copied from interface:CssTreeVisitorCalled before visiting aCssFunctionNode's sub trees- Specified by:
enterArgumentNodein interfaceCssTreeVisitor- Overrides:
enterArgumentNodein classDefaultTreeVisitor
-
runPass
public void runPass()- Specified by:
runPassin interfaceCssCompilerPass
-