CssSyntaxRewriter Class
Builds a new tree by visiting an old one and returning replacements.
public class CssSyntaxRewriter : CssSyntaxVisitor<SyntaxNode?>Remarks
A node whose parts all come back unchanged is returned as it was, so rewriting a tree and changing nothing in it costs nothing and keeps every node.
Example
private sealed class RenameClass : CssSyntaxRewriter
{
public override SyntaxNode? VisitClassSelector(CssClassSelectorSyntax node)
=> node.Name == "old" ? node.WithNameToken(SyntaxFactory.Identifier("new").WithTriviaFrom(node.NameToken)) : base.VisitClassSelector(node);
}- Inheritance
CssSyntaxVisitor<SyntaxNode?>CssSyntaxRewriter
Constructors
| Name | Description |
|---|---|
| CssSyntaxRewriter() |
CssSyntaxRewriter()
public CssSyntaxRewriter()No documentation is available.
Methods
Visit(CssSyntaxNode?)
CssSyntaxRewriter.cspublic override SyntaxNode? Visit(CssSyntaxNode? node)Parameters
nodeCssSyntaxNode?
Returns
Exceptions
InsufficientExecutionStackException- The style sheet is nested too deeply to rewrite.
VisitAnPlusB(CssAnPlusBSyntax)
Syntax.g.cspublic override SyntaxNode? VisitAnPlusB(CssAnPlusBSyntax node)No documentation is available.
VisitAtRule(CssAtRuleSyntax)
Syntax.g.cspublic override SyntaxNode? VisitAtRule(CssAtRuleSyntax node)No documentation is available.
VisitAttributeSelector(CssAttributeSelectorSyntax)
Syntax.g.cspublic override SyntaxNode? VisitAttributeSelector(CssAttributeSelectorSyntax node)No documentation is available.
VisitBadDeclaration(CssBadDeclarationSyntax)
Syntax.g.cspublic override SyntaxNode? VisitBadDeclaration(CssBadDeclarationSyntax node)No documentation is available.
VisitBlock(CssBlockSyntax)
Syntax.g.cspublic override SyntaxNode? VisitBlock(CssBlockSyntax node)No documentation is available.
VisitBooleanFeature(CssBooleanFeatureSyntax)
Syntax.g.cspublic override SyntaxNode? VisitBooleanFeature(CssBooleanFeatureSyntax node)No documentation is available.
VisitClassSelector(CssClassSelectorSyntax)
Syntax.g.cspublic override SyntaxNode? VisitClassSelector(CssClassSelectorSyntax node)No documentation is available.
VisitCombinator(CssCombinatorSyntax)
Syntax.g.cspublic override SyntaxNode? VisitCombinator(CssCombinatorSyntax node)No documentation is available.
VisitComparison(CssComparisonSyntax)
Syntax.g.cspublic override SyntaxNode? VisitComparison(CssComparisonSyntax node)No documentation is available.
VisitComplexSelector(CssComplexSelectorSyntax)
Syntax.g.cspublic override SyntaxNode? VisitComplexSelector(CssComplexSelectorSyntax node)No documentation is available.
VisitComplexSelectorPart(CssComplexSelectorPartSyntax)
Syntax.g.cspublic override SyntaxNode? VisitComplexSelectorPart(CssComplexSelectorPartSyntax node)No documentation is available.
VisitCompoundSelector(CssCompoundSelectorSyntax)
Syntax.g.cspublic override SyntaxNode? VisitCompoundSelector(CssCompoundSelectorSyntax node)No documentation is available.
VisitConditionChain(CssConditionChainSyntax)
Syntax.g.cspublic override SyntaxNode? VisitConditionChain(CssConditionChainSyntax node)No documentation is available.
VisitConditionFunction(CssConditionFunctionSyntax)
Syntax.g.cspublic override SyntaxNode? VisitConditionFunction(CssConditionFunctionSyntax node)No documentation is available.
VisitConditionPrelude(CssConditionPreludeSyntax)
Syntax.g.cspublic override SyntaxNode? VisitConditionPrelude(CssConditionPreludeSyntax node)No documentation is available.
VisitContainerCondition(CssContainerConditionSyntax)
Syntax.g.cspublic override SyntaxNode? VisitContainerCondition(CssContainerConditionSyntax node)No documentation is available.
VisitContainerPrelude(CssContainerPreludeSyntax)
Syntax.g.cspublic override SyntaxNode? VisitContainerPrelude(CssContainerPreludeSyntax node)No documentation is available.
VisitCustomMediaPrelude(CssCustomMediaPreludeSyntax)
Syntax.g.cspublic override SyntaxNode? VisitCustomMediaPrelude(CssCustomMediaPreludeSyntax node)No documentation is available.
VisitDeclaration(CssDeclarationSyntax)
Syntax.g.cspublic override SyntaxNode? VisitDeclaration(CssDeclarationSyntax node)No documentation is available.
VisitDeclarationCondition(CssDeclarationConditionSyntax)
Syntax.g.cspublic override SyntaxNode? VisitDeclarationCondition(CssDeclarationConditionSyntax node)No documentation is available.
VisitFeatureValue(CssFeatureValueSyntax)
Syntax.g.cspublic override SyntaxNode? VisitFeatureValue(CssFeatureValueSyntax node)No documentation is available.
VisitFunction(CssFunctionSyntax)
Syntax.g.cspublic override SyntaxNode? VisitFunction(CssFunctionSyntax node)No documentation is available.
VisitFunctionalPseudoSelector(CssFunctionalPseudoSelectorSyntax)
Syntax.g.cspublic override SyntaxNode? VisitFunctionalPseudoSelector(CssFunctionalPseudoSelectorSyntax node)No documentation is available.
VisitGeneralEnclosed(CssGeneralEnclosedSyntax)
Syntax.g.cspublic override SyntaxNode? VisitGeneralEnclosed(CssGeneralEnclosedSyntax node)No documentation is available.
VisitGenericPrelude(CssGenericPreludeSyntax)
Syntax.g.cspublic override SyntaxNode? VisitGenericPrelude(CssGenericPreludeSyntax node)No documentation is available.
VisitIdSelector(CssIdSelectorSyntax)
Syntax.g.cspublic override SyntaxNode? VisitIdSelector(CssIdSelectorSyntax node)No documentation is available.
VisitIgnoredToken(CssIgnoredTokenSyntax)
Syntax.g.cspublic override SyntaxNode? VisitIgnoredToken(CssIgnoredTokenSyntax node)No documentation is available.
VisitImportLayer(CssImportLayerSyntax)
Syntax.g.cspublic override SyntaxNode? VisitImportLayer(CssImportLayerSyntax node)No documentation is available.
VisitImportPrelude(CssImportPreludeSyntax)
Syntax.g.cspublic override SyntaxNode? VisitImportPrelude(CssImportPreludeSyntax node)No documentation is available.
VisitImportSupports(CssImportSupportsSyntax)
Syntax.g.cspublic override SyntaxNode? VisitImportSupports(CssImportSupportsSyntax node)No documentation is available.
VisitImportant(CssImportantSyntax)
Syntax.g.cspublic override SyntaxNode? VisitImportant(CssImportantSyntax node)No documentation is available.
VisitInvalidMediaQuery(CssInvalidMediaQuerySyntax)
Syntax.g.cspublic override SyntaxNode? VisitInvalidMediaQuery(CssInvalidMediaQuerySyntax node)No documentation is available.
VisitInvalidSelector(CssInvalidSelectorSyntax)
Syntax.g.cspublic override SyntaxNode? VisitInvalidSelector(CssInvalidSelectorSyntax node)No documentation is available.
VisitKeyframeSelector(CssKeyframeSelectorSyntax)
Syntax.g.cspublic override SyntaxNode? VisitKeyframeSelector(CssKeyframeSelectorSyntax node)No documentation is available.
VisitKeyframeSelectorList(CssKeyframeSelectorListSyntax)
Syntax.g.cspublic override SyntaxNode? VisitKeyframeSelectorList(CssKeyframeSelectorListSyntax node)No documentation is available.
VisitLayerName(CssLayerNameSyntax)
Syntax.g.cspublic override SyntaxNode? VisitLayerName(CssLayerNameSyntax node)No documentation is available.
VisitLayerPrelude(CssLayerPreludeSyntax)
Syntax.g.cspublic override SyntaxNode? VisitLayerPrelude(CssLayerPreludeSyntax node)No documentation is available.
VisitList overloads
VisitList(SyntaxTokenList)
CssSyntaxRewriter.cspublic virtual SyntaxTokenList VisitList(SyntaxTokenList list)No documentation is available.
VisitList(SyntaxTriviaList)
CssSyntaxRewriter.csRewrites each trivium of a list, dropping the ones a rewrite turned into the default trivium.
public virtual SyntaxTriviaList VisitList(SyntaxTriviaList list)VisitList<TNode>(SeparatedSyntaxList<TNode>)
CssSyntaxRewriter.csRewrites the elements of a separated list, keeping its separators in place.
public virtual SeparatedSyntaxList<TNode> VisitList<TNode>(SeparatedSyntaxList<TNode> list) where TNode : CssSyntaxNodeVisitList<TNode>(SyntaxList<TNode>)
CssSyntaxRewriter.cspublic virtual SyntaxList<TNode> VisitList<TNode>(SyntaxList<TNode> list) where TNode : CssSyntaxNodeNo documentation is available.
VisitMediaConditionQuery(CssMediaConditionQuerySyntax)
Syntax.g.cspublic override SyntaxNode? VisitMediaConditionQuery(CssMediaConditionQuerySyntax node)No documentation is available.
VisitMediaQueryList(CssMediaQueryListSyntax)
Syntax.g.cspublic override SyntaxNode? VisitMediaQueryList(CssMediaQueryListSyntax node)No documentation is available.
VisitMediaTypeQuery(CssMediaTypeQuerySyntax)
Syntax.g.cspublic override SyntaxNode? VisitMediaTypeQuery(CssMediaTypeQuerySyntax node)No documentation is available.
VisitNameList(CssNameListSyntax)
Syntax.g.cspublic override SyntaxNode? VisitNameList(CssNameListSyntax node)No documentation is available.
VisitNamePrelude(CssNamePreludeSyntax)
Syntax.g.cspublic override SyntaxNode? VisitNamePrelude(CssNamePreludeSyntax node)No documentation is available.
VisitNamespacePrefix(CssNamespacePrefixSyntax)
Syntax.g.cspublic override SyntaxNode? VisitNamespacePrefix(CssNamespacePrefixSyntax node)No documentation is available.
VisitNamespacePrelude(CssNamespacePreludeSyntax)
Syntax.g.cspublic override SyntaxNode? VisitNamespacePrelude(CssNamespacePreludeSyntax node)No documentation is available.
VisitNestingSelector(CssNestingSelectorSyntax)
Syntax.g.cspublic override SyntaxNode? VisitNestingSelector(CssNestingSelectorSyntax node)No documentation is available.
VisitNotCondition(CssNotConditionSyntax)
Syntax.g.cspublic override SyntaxNode? VisitNotCondition(CssNotConditionSyntax node)No documentation is available.
VisitNthArgument(CssNthArgumentSyntax)
Syntax.g.cspublic override SyntaxNode? VisitNthArgument(CssNthArgumentSyntax node)No documentation is available.
VisitPageSelector(CssPageSelectorSyntax)
Syntax.g.cspublic override SyntaxNode? VisitPageSelector(CssPageSelectorSyntax node)No documentation is available.
VisitPageSelectorList(CssPageSelectorListSyntax)
Syntax.g.cspublic override SyntaxNode? VisitPageSelectorList(CssPageSelectorListSyntax node)No documentation is available.
VisitParenthesizedCondition(CssParenthesizedConditionSyntax)
Syntax.g.cspublic override SyntaxNode? VisitParenthesizedCondition(CssParenthesizedConditionSyntax node)No documentation is available.
VisitPlainFeature(CssPlainFeatureSyntax)
Syntax.g.cspublic override SyntaxNode? VisitPlainFeature(CssPlainFeatureSyntax node)No documentation is available.
VisitPseudoPage(CssPseudoPageSyntax)
Syntax.g.cspublic override SyntaxNode? VisitPseudoPage(CssPseudoPageSyntax node)No documentation is available.
VisitPseudoSelector(CssPseudoSelectorSyntax)
Syntax.g.cspublic override SyntaxNode? VisitPseudoSelector(CssPseudoSelectorSyntax node)No documentation is available.
VisitQualifiedRule(CssQualifiedRuleSyntax)
Syntax.g.cspublic override SyntaxNode? VisitQualifiedRule(CssQualifiedRuleSyntax node)No documentation is available.
VisitRangeFeature(CssRangeFeatureSyntax)
Syntax.g.cspublic override SyntaxNode? VisitRangeFeature(CssRangeFeatureSyntax node)No documentation is available.
VisitScopeBoundary(CssScopeBoundarySyntax)
Syntax.g.cspublic override SyntaxNode? VisitScopeBoundary(CssScopeBoundarySyntax node)No documentation is available.
VisitScopePrelude(CssScopePreludeSyntax)
Syntax.g.cspublic override SyntaxNode? VisitScopePrelude(CssScopePreludeSyntax node)No documentation is available.
VisitSelectorList(CssSelectorListSyntax)
Syntax.g.cspublic override SyntaxNode? VisitSelectorList(CssSelectorListSyntax node)No documentation is available.
VisitSimpleBlock(CssSimpleBlockSyntax)
Syntax.g.cspublic override SyntaxNode? VisitSimpleBlock(CssSimpleBlockSyntax node)No documentation is available.
VisitSkippedText(CssSkippedTextSyntax)
Syntax.g.cspublic override SyntaxNode? VisitSkippedText(CssSkippedTextSyntax node)No documentation is available.
VisitSkippedValue(CssSkippedValueSyntax)
Syntax.g.cspublic override SyntaxNode? VisitSkippedValue(CssSkippedValueSyntax node)No documentation is available.
VisitStyleSheet(CssStyleSheetSyntax)
Syntax.g.cspublic override SyntaxNode? VisitStyleSheet(CssStyleSheetSyntax node)No documentation is available.
VisitToken(SyntaxToken)
CssSyntaxRewriter.csRewrites a token, putting the trivia around it through CssSyntaxRewriter.VisitTrivia.
public virtual SyntaxToken VisitToken(SyntaxToken token)Parameters
tokenSyntaxToken
Returns
Remarks
Nothing else reaches a token's trivia, so an override of CssSyntaxRewriter.VisitTrivia would never be called if this returned the token untouched. A rewrite that returns the default trivium removes it.
VisitTokenValue(CssTokenValueSyntax)
Syntax.g.cspublic override SyntaxNode? VisitTokenValue(CssTokenValueSyntax node)No documentation is available.
VisitTrivia(SyntaxTrivia)
CssSyntaxRewriter.cspublic virtual SyntaxTrivia VisitTrivia(SyntaxTrivia trivia)No documentation is available.
VisitTypeSelector(CssTypeSelectorSyntax)
Syntax.g.cspublic override SyntaxNode? VisitTypeSelector(CssTypeSelectorSyntax node)No documentation is available.
VisitUniversalSelector(CssUniversalSelectorSyntax)
Syntax.g.cspublic override SyntaxNode? VisitUniversalSelector(CssUniversalSelectorSyntax node)No documentation is available.
VisitViewTransitionPartSelector(CssViewTransitionPartSelectorSyntax)
Syntax.g.cspublic override SyntaxNode? VisitViewTransitionPartSelector(CssViewTransitionPartSelectorSyntax node)No documentation is available.