public class ExternalClassesCollector
extends com.google.gwt.thirdparty.common.css.compiler.ast.DefaultTreeVisitor
implements com.google.gwt.thirdparty.common.css.compiler.ast.CssCompilerPass
@external at-rule.
 This pass also removes the @external nodes from the AST.
| Modifier and Type | Field and Description | 
|---|---|
| static java.lang.String | EXTERNAL_AT_RULE | 
| Constructor and Description | 
|---|
| ExternalClassesCollector(com.google.gwt.thirdparty.common.css.compiler.ast.MutatingVisitController visitController,
                        com.google.gwt.thirdparty.common.css.compiler.ast.ErrorManager errorManager) | 
| Modifier and Type | Method and Description | 
|---|---|
| boolean | enterClassSelector(com.google.gwt.thirdparty.common.css.compiler.ast.CssClassSelectorNode classSelector) | 
| com.google.gwt.thirdparty.guava.common.collect.ImmutableSet<java.lang.String> | getExternalClassNames(java.util.Set<java.lang.String> styleClassesSet,
                     java.util.Set<java.lang.String> orphanClassName)Returns an immutable set of external class names that should not be renamed. | 
| void | leaveUnknownAtRule(com.google.gwt.thirdparty.common.css.compiler.ast.CssUnknownAtRuleNode node) | 
| void | runPass() | 
enterArgumentNode, enterAttributeSelector, enterBlock, 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, 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, leaveValueNode, visitpublic static final java.lang.String EXTERNAL_AT_RULE
public ExternalClassesCollector(com.google.gwt.thirdparty.common.css.compiler.ast.MutatingVisitController visitController,
                                com.google.gwt.thirdparty.common.css.compiler.ast.ErrorManager errorManager)
public void runPass()
runPass in interface com.google.gwt.thirdparty.common.css.compiler.ast.CssCompilerPasspublic boolean enterClassSelector(com.google.gwt.thirdparty.common.css.compiler.ast.CssClassSelectorNode classSelector)
enterClassSelector in interface com.google.gwt.thirdparty.common.css.compiler.ast.CssTreeVisitorenterClassSelector in class com.google.gwt.thirdparty.common.css.compiler.ast.DefaultTreeVisitorpublic void leaveUnknownAtRule(com.google.gwt.thirdparty.common.css.compiler.ast.CssUnknownAtRuleNode node)
leaveUnknownAtRule in interface com.google.gwt.thirdparty.common.css.compiler.ast.AtRuleHandlerleaveUnknownAtRule in class com.google.gwt.thirdparty.common.css.compiler.ast.DefaultTreeVisitorpublic com.google.gwt.thirdparty.guava.common.collect.ImmutableSet<java.lang.String> getExternalClassNames(java.util.Set<java.lang.String> styleClassesSet,
                                                                                                           java.util.Set<java.lang.String> orphanClassName)
@external as well as all of the class names from
 styleClassesSet that match prefixes defined with @external.
 The set will contain also the class names that are not in the AST anymore (defined in a
 conditional node that has been evaluated to false) and are not associated to a java method.
 That doesn't make sense to rename these class names because they are not in the final css
 and javascript. Moreover we handle the case where an @external related to these
 style classes has been removed from the AST (because it was also defined in a conditional
 node evaluated to false) and the compiler doesn't have to throw and error for this case.
 
/ * conditional node evaluated to false at compile time */
styleClassesSet - a set of class names that should be filtered to
     return those matching external prefixes. Note that the passed-in set is not
     modified.orphanClassName - a set of class names that aren't associated to a java method of the
                        CssResource interface.