SyntaxWalker Class

Walks a tree without knowing the language that produced it.

public abstract class SyntaxWalker

Remarks

This walker dispatches on structure alone. A language that wants to dispatch on kind offers a walker of its own, built on its visitor.

Example

private sealed class TokenCounter() : SyntaxWalker(SyntaxWalkerDepth.Token)
{
    public int Count { get; private set; }

    protected override void VisitToken(SyntaxToken token) => Count++;
}

Constructors

NameDescription
SyntaxWalker(SyntaxWalkerDepth)

SyntaxWalker(SyntaxWalkerDepth)

SyntaxWalker.cs
protected SyntaxWalker(SyntaxWalkerDepth depth = SyntaxWalkerDepth.Node)

Parameters

depth SyntaxWalkerDepth

No documentation is available.

Properties

NameDescription
DepthGets how far down this walker goes.

Gets how far down this walker goes.

protected SyntaxWalkerDepth Depth { get; }

Property value

SyntaxWalkerDepth

Methods

NameDescription
Visit(SyntaxNode)Visits node and everything below it.
VisitLeadingTrivia(SyntaxToken)
VisitToken(SyntaxToken)
VisitTrailingTrivia(SyntaxToken)
VisitTrivia(SyntaxTrivia)

Visit(SyntaxNode)

SyntaxWalker.cs

Visits node and everything below it.

public virtual void Visit(SyntaxNode node)

Parameters

node SyntaxNode

Exceptions

ArgumentNullException
node is null.
InsufficientExecutionStackException
The tree is nested too deeply to walk.

VisitLeadingTrivia(SyntaxToken)

SyntaxWalker.cs
protected virtual void VisitLeadingTrivia(SyntaxToken token)

Parameters

token SyntaxToken

No documentation is available.

VisitToken(SyntaxToken)

SyntaxWalker.cs
protected virtual void VisitToken(SyntaxToken token)

Parameters

token SyntaxToken

No documentation is available.

VisitTrailingTrivia(SyntaxToken)

SyntaxWalker.cs
protected virtual void VisitTrailingTrivia(SyntaxToken token)

Parameters

token SyntaxToken

No documentation is available.

VisitTrivia(SyntaxTrivia)

SyntaxWalker.cs
protected virtual void VisitTrivia(SyntaxTrivia trivia)

Parameters

trivia SyntaxTrivia

No documentation is available.