Class TemplateCompactPrintingVisitor<T>
- java.lang.Object
-
- com.google.common.css.compiler.ast.DefaultTreeVisitor
-
- com.google.common.css.compiler.passes.CompactPrintingVisitor
-
- com.google.common.css.compiler.passes.TemplateCompactPrintingVisitor<T>
-
- Type Parameters:
T- type of chunk id objects
- All Implemented Interfaces:
AtRuleHandler,CssTreeVisitor
public class TemplateCompactPrintingVisitor<T> extends CompactPrintingVisitor
Printer for templates, which outputs GSS with holes to be filled for references. In addition, the declaration boundaries are explicitly noted, so that a declaration can be removed if it ends up empty.This pass can only be used if
MapChunkAwareNodesToChunkpass has been run before. Otherwise this pass won't work.
-
-
Field Summary
-
Fields inherited from class com.google.common.css.compiler.passes.CompactPrintingVisitor
buffer, visitController
-
-
Constructor Summary
Constructors Constructor Description TemplateCompactPrintingVisitor(VisitController visitController, T chunk, CodeBuffer buffer)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidappendValueNode(CssValueNode node)Appends the given value node to the buffer.booleanenterAttributeSelector(CssAttributeSelectorNode node)Called before visiting aCssAttributeSelectorNode's sub treesbooleanenterCharSet(CssCharSetNode cssCharSetNode)Called before visiting aCssCharSetNode's sub treesbooleanenterClassSelector(CssClassSelectorNode node)Called before visiting aCssClassSelectorNode's sub treesbooleanenterCombinator(CssCombinatorNode combinator)Called before visiting aCssCombinatorNode's sub treesbooleanenterDeclaration(CssDeclarationNode declaration)Called before visiting aCssDeclarationNode's sub treesbooleanenterFontFace(CssFontFaceNode cssFontFaceNode)Called before visiting aCssFontFaceNode's sub treesbooleanenterIdSelector(CssIdSelectorNode node)Called before visiting aCssIdSelectorNode's sub treesbooleanenterImportRule(CssImportRuleNode node)Called before visiting aCssImportRuleNode's sub treesbooleanenterKeyframeRuleset(CssKeyframeRulesetNode ruleset)Called before visiting aCssKeyframeRulesetNode's sub treesbooleanenterKeyframesRule(CssKeyframesNode keyframes)Called before visiting aCssKeyframesNode's sub treesbooleanenterMediaRule(CssMediaRuleNode media)Called before visiting aCssMediaRuleNode's sub treesbooleanenterPageRule(CssPageRuleNode node)Called before visiting aCssPageRuleNode's sub treesbooleanenterPseudoClass(CssPseudoClassNode node)Called before visiting aCssPseudoClassNode's sub treesbooleanenterPseudoElement(CssPseudoElementNode node)Called before visiting aCssPseudoElementNode's sub treesbooleanenterRuleset(CssRulesetNode ruleset)Called before visiting aCssRulesetNode's sub trees.booleanenterSelector(CssSelectorNode selector)Called before visiting aCssSelectorNode's sub treesbooleanenterUnknownAtRule(CssUnknownAtRuleNode node)Called before visiting aCssUnknownAtRuleNode's sub treesvoidleaveAttributeSelector(CssAttributeSelectorNode node)Called after visiting aCssAttributeSelectorNode's sub treesvoidleaveCharSet(CssCharSetNode cssCharSetNode)Called after visiting aCssCharSetNode's sub treesvoidleaveClassSelector(CssClassSelectorNode node)Called after visiting aCssClassSelectorNode's sub treesvoidleaveCombinator(CssCombinatorNode combinator)Called after visiting aCssCombinatorNode's sub treesvoidleaveDeclaration(CssDeclarationNode declaration)Called after visiting aCssDeclarationNode's sub treesvoidleaveFontFace(CssFontFaceNode cssFontFaceNode)Called after visiting aCssFontFaceNode's sub treesvoidleaveIdSelector(CssIdSelectorNode node)Called after visiting aCssIdSelectorNode's sub treesvoidleaveImportRule(CssImportRuleNode node)Called after visiting aCssImportRuleNode's sub treesvoidleaveKeyframeRuleset(CssKeyframeRulesetNode ruleset)Called after visiting aCssKeyframeRulesetNode's sub treesvoidleaveKeyframesRule(CssKeyframesNode keyframes)Called after visiting aCssKeyframesNode's sub treesvoidleaveMediaRule(CssMediaRuleNode media)Called after visiting aCssMediaRuleNode's sub treesvoidleavePageRule(CssPageRuleNode node)Called after visiting aCssPageRuleNode's sub treesvoidleavePseudoClass(CssPseudoClassNode node)Called after visiting aCssPseudoClassNode's sub treesvoidleavePseudoElement(CssPseudoElementNode node)Called after visiting aCssPseudoElementNode's sub treesvoidleaveRuleset(CssRulesetNode ruleset)Called after visiting aCssRulesetNode's sub treesvoidleaveSelector(CssSelectorNode selector)Called after visiting aCssSelectorNode's sub treesvoidleaveUnknownAtRule(CssUnknownAtRuleNode node)Called after visiting aCssUnknownAtRuleNode's sub trees-
Methods inherited from class com.google.common.css.compiler.passes.CompactPrintingVisitor
enterArgumentNode, enterBlock, enterCompositeValueNode, enterCompositeValueNodeOperator, enterConditionalBlock, enterDeclarationBlock, enterDefinition, enterFunctionNode, enterKey, enterMediaTypeListDelimiter, enterPageSelector, enterValueNode, getCompactPrintedString, leaveCompositeValueNode, leaveDeclarationBlock, leaveFunctionNode, leaveKey, leaveKeyBlock, leaveSelectorBlock, leaveValueNode
-
Methods inherited from class com.google.common.css.compiler.ast.DefaultTreeVisitor
enterComponent, enterConditionalRule, enterForLoop, enterImportBlock, enterKeyBlock, enterMixin, enterMixinDefinition, enterPropertyValue, enterProvideNode, enterRequireNode, enterSelectorBlock, enterTree, leaveArgumentNode, leaveBlock, leaveComponent, leaveCompositeValueNodeOperator, leaveConditionalBlock, leaveConditionalRule, leaveDefinition, leaveForLoop, leaveImportBlock, leaveMediaTypeListDelimiter, leaveMixin, leaveMixinDefinition, leavePageSelector, leavePropertyValue, leaveProvideNode, leaveRequireNode, leaveTree
-
-
-
-
Constructor Detail
-
TemplateCompactPrintingVisitor
public TemplateCompactPrintingVisitor(VisitController visitController, T chunk, @Nullable CodeBuffer buffer)
-
-
Method Detail
-
appendValueNode
protected void appendValueNode(CssValueNode node)
Description copied from class:CompactPrintingVisitorAppends the given value node to the buffer.Subclasses can modify this to provide a different serialization for particular types of value nodes.
- Overrides:
appendValueNodein classCompactPrintingVisitor- Parameters:
node- the node to append
-
enterDeclaration
public boolean enterDeclaration(CssDeclarationNode declaration)
Description copied from interface:CssTreeVisitorCalled before visiting aCssDeclarationNode's sub trees- Specified by:
enterDeclarationin interfaceCssTreeVisitor- Overrides:
enterDeclarationin classCompactPrintingVisitor
-
leaveDeclaration
public void leaveDeclaration(CssDeclarationNode declaration)
Description copied from interface:CssTreeVisitorCalled after visiting aCssDeclarationNode's sub trees- Specified by:
leaveDeclarationin interfaceCssTreeVisitor- Overrides:
leaveDeclarationin classCompactPrintingVisitor
-
enterRuleset
public boolean enterRuleset(CssRulesetNode ruleset)
Description copied from interface:CssTreeVisitorCalled before visiting aCssRulesetNode's sub trees.- Specified by:
enterRulesetin interfaceCssTreeVisitor- Overrides:
enterRulesetin classDefaultTreeVisitor- Returns:
- whether ruleset children should be visited
-
leaveRuleset
public void leaveRuleset(CssRulesetNode ruleset)
Description copied from interface:CssTreeVisitorCalled after visiting aCssRulesetNode's sub trees- Specified by:
leaveRulesetin interfaceCssTreeVisitor- Overrides:
leaveRulesetin classDefaultTreeVisitor
-
enterMediaRule
public boolean enterMediaRule(CssMediaRuleNode media)
Description copied from interface:AtRuleHandlerCalled before visiting aCssMediaRuleNode's sub trees- Specified by:
enterMediaRulein interfaceAtRuleHandler- Overrides:
enterMediaRulein classCompactPrintingVisitor- Parameters:
media- node
-
leaveMediaRule
public void leaveMediaRule(CssMediaRuleNode media)
Description copied from interface:AtRuleHandlerCalled after visiting aCssMediaRuleNode's sub trees- Specified by:
leaveMediaRulein interfaceAtRuleHandler- Overrides:
leaveMediaRulein classCompactPrintingVisitor- Parameters:
media- node
-
enterSelector
public boolean enterSelector(CssSelectorNode selector)
Description copied from interface:CssTreeVisitorCalled before visiting aCssSelectorNode's sub trees- Specified by:
enterSelectorin interfaceCssTreeVisitor- Overrides:
enterSelectorin classCompactPrintingVisitor
-
leaveSelector
public void leaveSelector(CssSelectorNode selector)
Description copied from interface:CssTreeVisitorCalled after visiting aCssSelectorNode's sub trees- Specified by:
leaveSelectorin interfaceCssTreeVisitor- Overrides:
leaveSelectorin classCompactPrintingVisitor
-
enterFontFace
public boolean enterFontFace(CssFontFaceNode cssFontFaceNode)
Description copied from interface:AtRuleHandlerCalled before visiting aCssFontFaceNode's sub trees- Specified by:
enterFontFacein interfaceAtRuleHandler- Overrides:
enterFontFacein classCompactPrintingVisitor- Parameters:
cssFontFaceNode- node
-
leaveFontFace
public void leaveFontFace(CssFontFaceNode cssFontFaceNode)
Description copied from interface:AtRuleHandlerCalled after visiting aCssFontFaceNode's sub trees- Specified by:
leaveFontFacein interfaceAtRuleHandler- Overrides:
leaveFontFacein classDefaultTreeVisitor- Parameters:
cssFontFaceNode- node
-
enterCharSet
public boolean enterCharSet(CssCharSetNode cssCharSetNode)
Description copied from interface:AtRuleHandlerCalled before visiting aCssCharSetNode's sub trees- Specified by:
enterCharSetin interfaceAtRuleHandler- Overrides:
enterCharSetin classCompactPrintingVisitor- Parameters:
cssCharSetNode- node
-
leaveCharSet
public void leaveCharSet(CssCharSetNode cssCharSetNode)
Description copied from interface:AtRuleHandlerCalled after visiting aCssCharSetNode's sub trees- Specified by:
leaveCharSetin interfaceAtRuleHandler- Overrides:
leaveCharSetin classCompactPrintingVisitor- Parameters:
cssCharSetNode- node
-
enterKeyframeRuleset
public boolean enterKeyframeRuleset(CssKeyframeRulesetNode ruleset)
Description copied from interface:CssTreeVisitorCalled before visiting aCssKeyframeRulesetNode's sub trees- Specified by:
enterKeyframeRulesetin interfaceCssTreeVisitor- Overrides:
enterKeyframeRulesetin classDefaultTreeVisitor
-
leaveKeyframeRuleset
public void leaveKeyframeRuleset(CssKeyframeRulesetNode ruleset)
Description copied from interface:CssTreeVisitorCalled after visiting aCssKeyframeRulesetNode's sub trees- Specified by:
leaveKeyframeRulesetin interfaceCssTreeVisitor- Overrides:
leaveKeyframeRulesetin classDefaultTreeVisitor
-
enterKeyframesRule
public boolean enterKeyframesRule(CssKeyframesNode keyframes)
Description copied from interface:AtRuleHandlerCalled before visiting aCssKeyframesNode's sub trees- Specified by:
enterKeyframesRulein interfaceAtRuleHandler- Overrides:
enterKeyframesRulein classCompactPrintingVisitor- Parameters:
keyframes- node
-
leaveKeyframesRule
public void leaveKeyframesRule(CssKeyframesNode keyframes)
Description copied from interface:AtRuleHandlerCalled after visiting aCssKeyframesNode's sub trees- Specified by:
leaveKeyframesRulein interfaceAtRuleHandler- Overrides:
leaveKeyframesRulein classCompactPrintingVisitor- Parameters:
keyframes- node
-
enterPageRule
public boolean enterPageRule(CssPageRuleNode node)
Description copied from interface:AtRuleHandlerCalled before visiting aCssPageRuleNode's sub trees- Specified by:
enterPageRulein interfaceAtRuleHandler- Overrides:
enterPageRulein classCompactPrintingVisitor- Parameters:
node- node
-
leavePageRule
public void leavePageRule(CssPageRuleNode node)
Description copied from interface:AtRuleHandlerCalled after visiting aCssPageRuleNode's sub trees- Specified by:
leavePageRulein interfaceAtRuleHandler- Overrides:
leavePageRulein classDefaultTreeVisitor- Parameters:
node- node
-
enterClassSelector
public boolean enterClassSelector(CssClassSelectorNode node)
Description copied from interface:CssTreeVisitorCalled before visiting aCssClassSelectorNode's sub trees- Specified by:
enterClassSelectorin interfaceCssTreeVisitor- Overrides:
enterClassSelectorin classCompactPrintingVisitor
-
leaveClassSelector
public void leaveClassSelector(CssClassSelectorNode node)
Description copied from interface:CssTreeVisitorCalled after visiting aCssClassSelectorNode's sub trees- Specified by:
leaveClassSelectorin interfaceCssTreeVisitor- Overrides:
leaveClassSelectorin classDefaultTreeVisitor
-
enterUnknownAtRule
public boolean enterUnknownAtRule(CssUnknownAtRuleNode node)
Description copied from interface:AtRuleHandlerCalled before visiting aCssUnknownAtRuleNode's sub trees- Specified by:
enterUnknownAtRulein interfaceAtRuleHandler- Overrides:
enterUnknownAtRulein classCompactPrintingVisitor- Parameters:
node- node
-
leaveUnknownAtRule
public void leaveUnknownAtRule(CssUnknownAtRuleNode node)
Description copied from interface:AtRuleHandlerCalled after visiting aCssUnknownAtRuleNode's sub trees- Specified by:
leaveUnknownAtRulein interfaceAtRuleHandler- Overrides:
leaveUnknownAtRulein classCompactPrintingVisitor
-
enterImportRule
public boolean enterImportRule(CssImportRuleNode node)
Description copied from interface:AtRuleHandlerCalled before visiting aCssImportRuleNode's sub trees- Specified by:
enterImportRulein interfaceAtRuleHandler- Overrides:
enterImportRulein classCompactPrintingVisitor- Parameters:
node- node
-
leaveImportRule
public void leaveImportRule(CssImportRuleNode node)
Description copied from interface:AtRuleHandlerCalled after visiting aCssImportRuleNode's sub trees- Specified by:
leaveImportRulein interfaceAtRuleHandler- Overrides:
leaveImportRulein classCompactPrintingVisitor- Parameters:
node- node
-
enterIdSelector
public boolean enterIdSelector(CssIdSelectorNode node)
Description copied from interface:CssTreeVisitorCalled before visiting aCssIdSelectorNode's sub trees- Specified by:
enterIdSelectorin interfaceCssTreeVisitor- Overrides:
enterIdSelectorin classCompactPrintingVisitor
-
leaveIdSelector
public void leaveIdSelector(CssIdSelectorNode node)
Description copied from interface:CssTreeVisitorCalled after visiting aCssIdSelectorNode's sub trees- Specified by:
leaveIdSelectorin interfaceCssTreeVisitor- Overrides:
leaveIdSelectorin classDefaultTreeVisitor
-
enterPseudoClass
public boolean enterPseudoClass(CssPseudoClassNode node)
Description copied from interface:CssTreeVisitorCalled before visiting aCssPseudoClassNode's sub trees- Specified by:
enterPseudoClassin interfaceCssTreeVisitor- Overrides:
enterPseudoClassin classCompactPrintingVisitor
-
leavePseudoClass
public void leavePseudoClass(CssPseudoClassNode node)
Description copied from interface:CssTreeVisitorCalled after visiting aCssPseudoClassNode's sub trees- Specified by:
leavePseudoClassin interfaceCssTreeVisitor- Overrides:
leavePseudoClassin classCompactPrintingVisitor
-
enterPseudoElement
public boolean enterPseudoElement(CssPseudoElementNode node)
Description copied from interface:CssTreeVisitorCalled before visiting aCssPseudoElementNode's sub trees- Specified by:
enterPseudoElementin interfaceCssTreeVisitor- Overrides:
enterPseudoElementin classCompactPrintingVisitor
-
leavePseudoElement
public void leavePseudoElement(CssPseudoElementNode node)
Description copied from interface:CssTreeVisitorCalled after visiting aCssPseudoElementNode's sub trees- Specified by:
leavePseudoElementin interfaceCssTreeVisitor- Overrides:
leavePseudoElementin classDefaultTreeVisitor
-
enterAttributeSelector
public boolean enterAttributeSelector(CssAttributeSelectorNode node)
Description copied from interface:CssTreeVisitorCalled before visiting aCssAttributeSelectorNode's sub trees- Specified by:
enterAttributeSelectorin interfaceCssTreeVisitor- Overrides:
enterAttributeSelectorin classCompactPrintingVisitor
-
leaveAttributeSelector
public void leaveAttributeSelector(CssAttributeSelectorNode node)
Description copied from interface:CssTreeVisitorCalled after visiting aCssAttributeSelectorNode's sub trees- Specified by:
leaveAttributeSelectorin interfaceCssTreeVisitor- Overrides:
leaveAttributeSelectorin classDefaultTreeVisitor
-
enterCombinator
public boolean enterCombinator(CssCombinatorNode combinator)
Description copied from interface:CssTreeVisitorCalled before visiting aCssCombinatorNode's sub trees- Specified by:
enterCombinatorin interfaceCssTreeVisitor- Overrides:
enterCombinatorin classCompactPrintingVisitor
-
leaveCombinator
public void leaveCombinator(CssCombinatorNode combinator)
Description copied from interface:CssTreeVisitorCalled after visiting aCssCombinatorNode's sub trees- Specified by:
leaveCombinatorin interfaceCssTreeVisitor- Overrides:
leaveCombinatorin classCompactPrintingVisitor
-
-