Class MarkRemovableRulesetNodes
- java.lang.Object
-
- com.google.common.css.compiler.ast.DefaultTreeVisitor
-
- com.google.common.css.compiler.ast.SkippingTreeVisitor
-
- com.google.common.css.compiler.passes.MarkRemovableRulesetNodes
-
- All Implemented Interfaces:
AtRuleHandler,CssCompilerPass,CssTreeVisitor
- Direct Known Subclasses:
MarkRemovableRulesetNodesForChunk
public class MarkRemovableRulesetNodes extends SkippingTreeVisitor implements CssCompilerPass
Compiler pass that marks the ruleset nodes that should be removed from the tree.This pass assumes that each ruleset node contains exactly one declaration and one selector. This pass should be preceded by SplitRulesetNodes pass. This pass skips over nodes in the body that are not ruleset nodes and ignores all their children including ruleset nodes. So, in particular, all ruleset nodes contained within
@mediarules will be ignored.
-
-
Constructor Summary
Constructors Constructor Description MarkRemovableRulesetNodes(CssTree tree)Creates a new pass over the specified tree.MarkRemovableRulesetNodes(CssTree tree, boolean skipping)Creates a new pass over the specified tree.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanenterBlock(CssBlockNode block)Called before visiting aCssBlockNode's sub treesvoidrunPass()voidsetReferencedRules(java.util.Set<java.lang.String> referencedRules, java.lang.String prefixOfReferencedRules)Sets the reference rules.-
Methods inherited from class com.google.common.css.compiler.ast.SkippingTreeVisitor
canModifyRuleset, isSkipping
-
Methods inherited from class com.google.common.css.compiler.ast.DefaultTreeVisitor
enterArgumentNode, enterAttributeSelector, 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, enterValueNode, leaveArgumentNode, leaveAttributeSelector, leaveBlock, leaveCharSet, leaveClassSelector, leaveCombinator, leaveComponent, leaveCompositeValueNode, leaveCompositeValueNodeOperator, leaveConditionalBlock, leaveConditionalRule, leaveDeclaration, leaveDeclarationBlock, leaveDefinition, leaveFontFace, leaveForLoop, leaveFunctionNode, leaveIdSelector, leaveImportBlock, leaveImportRule, leaveKey, leaveKeyBlock, leaveKeyframeRuleset, leaveKeyframesRule, leaveMediaRule, leaveMediaTypeListDelimiter, leaveMixin, leaveMixinDefinition, leavePageRule, leavePageSelector, leavePropertyValue, leaveProvideNode, leavePseudoClass, leavePseudoElement, leaveRequireNode, leaveRuleset, leaveSelector, leaveSelectorBlock, leaveTree, leaveUnknownAtRule, leaveValueNode
-
-
-
-
Constructor Detail
-
MarkRemovableRulesetNodes
public MarkRemovableRulesetNodes(CssTree tree)
Creates a new pass over the specified tree.
-
MarkRemovableRulesetNodes
public MarkRemovableRulesetNodes(CssTree tree, boolean skipping)
Creates a new pass over the specified tree.- Parameters:
skipping- whether to skip over rulesets containing properties that might make them unsafe to modify (seeSkippingTreeVisitor)
-
-
Method Detail
-
setReferencedRules
public void setReferencedRules(java.util.Set<java.lang.String> referencedRules, java.lang.String prefixOfReferencedRules)Sets the reference rules.- Parameters:
referencedRules- the set of referenced rules, which, since it is aliased, is expected not to change while this pass is in progressprefixOfReferencedRules- the prefix to match when looking for unreferenced rules
-
enterBlock
public boolean enterBlock(CssBlockNode block)
Description copied from interface:CssTreeVisitorCalled before visiting aCssBlockNode's sub trees- Specified by:
enterBlockin interfaceCssTreeVisitor- Overrides:
enterBlockin classDefaultTreeVisitor
-
runPass
public void runPass()
- Specified by:
runPassin interfaceCssCompilerPass
-
-