Class SyntaxNode
Assembly: Microsoft.CodeAnalysis.dll
Syntax
public abstract class SyntaxNode
Properties
ContainsAnnotations
Declaration
public bool ContainsAnnotations { get; }
Property Value
ContainsDiagnostics
Declaration
public bool ContainsDiagnostics { get; }
Property Value
ContainsDirectives
Declaration
public bool ContainsDirectives { get; }
Property Value
ContainsSkippedText
Declaration
public bool ContainsSkippedText { get; }
Property Value
FullSpan
Declaration
public TextSpan FullSpan { get; }
Property Value
HasLeadingTrivia
Declaration
public bool HasLeadingTrivia { get; }
Property Value
HasStructuredTrivia
Declaration
public bool HasStructuredTrivia { get; }
Property Value
HasTrailingTrivia
Declaration
public bool HasTrailingTrivia { get; }
Property Value
IsMissing
Declaration
public bool IsMissing { get; }
Property Value
IsStructuredTrivia
Declaration
public bool IsStructuredTrivia { get; }
Property Value
KindText
Declaration
protected string KindText { get; }
Property Value
Language
Declaration
public abstract string Language { get; }
Property Value
Parent
Declaration
public SyntaxNode? Parent { get; }
Property Value
ParentTrivia
Declaration
public virtual SyntaxTrivia ParentTrivia { get; }
Property Value
RawKind
Declaration
public int RawKind { get; }
Property Value
Span
Declaration
public TextSpan Span { get; }
Property Value
SpanStart
Declaration
public int SpanStart { get; }
Property Value
SyntaxTree
Declaration
public SyntaxTree SyntaxTree { get; }
Property Value
SyntaxTreeCore
Declaration
protected abstract SyntaxTree SyntaxTreeCore { get; }
Property Value
Methods
Ancestors(bool)
Declaration
public IEnumerable<SyntaxNode> Ancestors(bool ascendOutOfTrivia = true)
Parameters
| Type |
Name |
Description |
| bool |
ascendOutOfTrivia |
|
Returns
AncestorsAndSelf(bool)
Declaration
public IEnumerable<SyntaxNode> AncestorsAndSelf(bool ascendOutOfTrivia = true)
Parameters
| Type |
Name |
Description |
| bool |
ascendOutOfTrivia |
|
Returns
ChildNodes()
Declaration
public IEnumerable<SyntaxNode> ChildNodes()
Returns
ChildNodesAndTokens()
Declaration
public ChildSyntaxList ChildNodesAndTokens()
Returns
ChildThatContainsPosition(int)
Declaration
public virtual SyntaxNodeOrToken ChildThatContainsPosition(int position)
Parameters
| Type |
Name |
Description |
| int |
position |
|
Returns
ChildTokens()
Declaration
public IEnumerable<SyntaxToken> ChildTokens()
Returns
Contains(SyntaxNode?)
Declaration
public bool Contains(SyntaxNode? node)
Parameters
Returns
ContainsDirective(int)
Declaration
public bool ContainsDirective(int rawKind)
Parameters
| Type |
Name |
Description |
| int |
rawKind |
|
Returns
CopyAnnotationsTo<T>(T?)
Declaration
public T? CopyAnnotationsTo<T>(T? node) where T : SyntaxNode
Parameters
| Type |
Name |
Description |
| T |
node |
|
Returns
Type Parameters
DescendantNodes(TextSpan, Func<SyntaxNode, bool>?, bool)
Declaration
public IEnumerable<SyntaxNode> DescendantNodes(TextSpan span, Func<SyntaxNode, bool>? descendIntoChildren = null, bool descendIntoTrivia = false)
Parameters
Returns
DescendantNodes(Func<SyntaxNode, bool>?, bool)
Declaration
public IEnumerable<SyntaxNode> DescendantNodes(Func<SyntaxNode, bool>? descendIntoChildren = null, bool descendIntoTrivia = false)
Parameters
Returns
DescendantNodesAndSelf(TextSpan, Func<SyntaxNode, bool>?, bool)
Declaration
public IEnumerable<SyntaxNode> DescendantNodesAndSelf(TextSpan span, Func<SyntaxNode, bool>? descendIntoChildren = null, bool descendIntoTrivia = false)
Parameters
Returns
DescendantNodesAndSelf(Func<SyntaxNode, bool>?, bool)
Declaration
public IEnumerable<SyntaxNode> DescendantNodesAndSelf(Func<SyntaxNode, bool>? descendIntoChildren = null, bool descendIntoTrivia = false)
Parameters
Returns
DescendantNodesAndTokens(TextSpan, Func<SyntaxNode, bool>?, bool)
Declaration
public IEnumerable<SyntaxNodeOrToken> DescendantNodesAndTokens(TextSpan span, Func<SyntaxNode, bool>? descendIntoChildren = null, bool descendIntoTrivia = false)
Parameters
Returns
DescendantNodesAndTokens(Func<SyntaxNode, bool>?, bool)
Declaration
public IEnumerable<SyntaxNodeOrToken> DescendantNodesAndTokens(Func<SyntaxNode, bool>? descendIntoChildren = null, bool descendIntoTrivia = false)
Parameters
Returns
DescendantNodesAndTokensAndSelf(TextSpan, Func<SyntaxNode, bool>?, bool)
Declaration
public IEnumerable<SyntaxNodeOrToken> DescendantNodesAndTokensAndSelf(TextSpan span, Func<SyntaxNode, bool>? descendIntoChildren = null, bool descendIntoTrivia = false)
Parameters
Returns
DescendantNodesAndTokensAndSelf(Func<SyntaxNode, bool>?, bool)
Declaration
public IEnumerable<SyntaxNodeOrToken> DescendantNodesAndTokensAndSelf(Func<SyntaxNode, bool>? descendIntoChildren = null, bool descendIntoTrivia = false)
Parameters
Returns
DescendantTokens(TextSpan, Func<SyntaxNode, bool>?, bool)
Declaration
public IEnumerable<SyntaxToken> DescendantTokens(TextSpan span, Func<SyntaxNode, bool>? descendIntoChildren = null, bool descendIntoTrivia = false)
Parameters
Returns
DescendantTokens(Func<SyntaxNode, bool>?, bool)
Declaration
public IEnumerable<SyntaxToken> DescendantTokens(Func<SyntaxNode, bool>? descendIntoChildren = null, bool descendIntoTrivia = false)
Parameters
Returns
DescendantTrivia(TextSpan, Func<SyntaxNode, bool>?, bool)
Declaration
public IEnumerable<SyntaxTrivia> DescendantTrivia(TextSpan span, Func<SyntaxNode, bool>? descendIntoChildren = null, bool descendIntoTrivia = false)
Parameters
Returns
DescendantTrivia(Func<SyntaxNode, bool>?, bool)
Declaration
public IEnumerable<SyntaxTrivia> DescendantTrivia(Func<SyntaxNode, bool>? descendIntoChildren = null, bool descendIntoTrivia = false)
Parameters
Returns
EquivalentToCore(SyntaxNode)
Declaration
protected virtual bool EquivalentToCore(SyntaxNode other)
Parameters
Returns
FindNode(TextSpan, bool, bool)
Declaration
public SyntaxNode FindNode(TextSpan span, bool findInsideTrivia = false, bool getInnermostNodeForTie = false)
Parameters
| Type |
Name |
Description |
| TextSpan |
span |
|
| bool |
findInsideTrivia |
|
| bool |
getInnermostNodeForTie |
|
Returns
FindToken(int, bool)
Declaration
public SyntaxToken FindToken(int position, bool findInsideTrivia = false)
Parameters
| Type |
Name |
Description |
| int |
position |
|
| bool |
findInsideTrivia |
|
Returns
FindTokenCore(int, bool)
Declaration
protected virtual SyntaxToken FindTokenCore(int position, bool findInsideTrivia)
Parameters
| Type |
Name |
Description |
| int |
position |
|
| bool |
findInsideTrivia |
|
Returns
FindTokenCore(int, Func<SyntaxTrivia, bool>)
Declaration
protected virtual SyntaxToken FindTokenCore(int position, Func<SyntaxTrivia, bool> stepInto)
Parameters
Returns
FindTrivia(int, bool)
Declaration
public SyntaxTrivia FindTrivia(int position, bool findInsideTrivia = false)
Parameters
| Type |
Name |
Description |
| int |
position |
|
| bool |
findInsideTrivia |
|
Returns
FindTrivia(int, Func<SyntaxTrivia, bool>?)
Declaration
public SyntaxTrivia FindTrivia(int position, Func<SyntaxTrivia, bool>? stepInto)
Parameters
Returns
FindTriviaCore(int, bool)
Declaration
protected virtual SyntaxTrivia FindTriviaCore(int position, bool findInsideTrivia)
Parameters
| Type |
Name |
Description |
| int |
position |
|
| bool |
findInsideTrivia |
|
Returns
FirstAncestorOrSelf<TNode>(Func<TNode, bool>?, bool)
Declaration
public TNode? FirstAncestorOrSelf<TNode>(Func<TNode, bool>? predicate = null, bool ascendOutOfTrivia = true) where TNode : SyntaxNode
Parameters
| Type |
Name |
Description |
| Func<TNode, bool> |
predicate |
|
| bool |
ascendOutOfTrivia |
|
Returns
Type Parameters
FirstAncestorOrSelf<TNode, TArg>(Func<TNode, TArg, bool>, TArg, bool)
Declaration
public TNode? FirstAncestorOrSelf<TNode, TArg>(Func<TNode, TArg, bool> predicate, TArg argument, bool ascendOutOfTrivia = true) where TNode : SyntaxNode
Parameters
| Type |
Name |
Description |
| Func<TNode, TArg, bool> |
predicate |
|
| TArg |
argument |
|
| bool |
ascendOutOfTrivia |
|
Returns
Type Parameters
| Name |
Description |
| TNode |
|
| TArg |
|
GetAnnotatedNodes(SyntaxAnnotation)
Declaration
public IEnumerable<SyntaxNode> GetAnnotatedNodes(SyntaxAnnotation syntaxAnnotation)
Parameters
Returns
GetAnnotatedNodes(string)
Declaration
public IEnumerable<SyntaxNode> GetAnnotatedNodes(string annotationKind)
Parameters
| Type |
Name |
Description |
| string |
annotationKind |
|
Returns
GetAnnotatedNodesAndTokens(SyntaxAnnotation)
Declaration
public IEnumerable<SyntaxNodeOrToken> GetAnnotatedNodesAndTokens(SyntaxAnnotation annotation)
Parameters
Returns
GetAnnotatedNodesAndTokens(string)
Declaration
public IEnumerable<SyntaxNodeOrToken> GetAnnotatedNodesAndTokens(string annotationKind)
Parameters
| Type |
Name |
Description |
| string |
annotationKind |
|
Returns
GetAnnotatedNodesAndTokens(params string[])
Declaration
public IEnumerable<SyntaxNodeOrToken> GetAnnotatedNodesAndTokens(params string[] annotationKinds)
Parameters
| Type |
Name |
Description |
| string[] |
annotationKinds |
|
Returns
GetAnnotatedTokens(SyntaxAnnotation)
Declaration
public IEnumerable<SyntaxToken> GetAnnotatedTokens(SyntaxAnnotation syntaxAnnotation)
Parameters
Returns
GetAnnotatedTokens(string)
Declaration
public IEnumerable<SyntaxToken> GetAnnotatedTokens(string annotationKind)
Parameters
| Type |
Name |
Description |
| string |
annotationKind |
|
Returns
GetAnnotatedTrivia(SyntaxAnnotation)
Declaration
public IEnumerable<SyntaxTrivia> GetAnnotatedTrivia(SyntaxAnnotation annotation)
Parameters
Returns
GetAnnotatedTrivia(string)
Declaration
public IEnumerable<SyntaxTrivia> GetAnnotatedTrivia(string annotationKind)
Parameters
| Type |
Name |
Description |
| string |
annotationKind |
|
Returns
GetAnnotatedTrivia(params string[])
Declaration
public IEnumerable<SyntaxTrivia> GetAnnotatedTrivia(params string[] annotationKinds)
Parameters
| Type |
Name |
Description |
| string[] |
annotationKinds |
|
Returns
GetAnnotations(IEnumerable<string>)
Declaration
public IEnumerable<SyntaxAnnotation> GetAnnotations(IEnumerable<string> annotationKinds)
Parameters
Returns
GetAnnotations(string)
Declaration
public IEnumerable<SyntaxAnnotation> GetAnnotations(string annotationKind)
Parameters
| Type |
Name |
Description |
| string |
annotationKind |
|
Returns
GetDiagnostics()
Declaration
public IEnumerable<Diagnostic> GetDiagnostics()
Returns
GetFirstToken(bool, bool, bool, bool)
Declaration
public SyntaxToken GetFirstToken(bool includeZeroWidth = false, bool includeSkipped = false, bool includeDirectives = false, bool includeDocumentationComments = false)
Parameters
| Type |
Name |
Description |
| bool |
includeZeroWidth |
|
| bool |
includeSkipped |
|
| bool |
includeDirectives |
|
| bool |
includeDocumentationComments |
|
Returns
GetLastToken(bool, bool, bool, bool)
Declaration
public SyntaxToken GetLastToken(bool includeZeroWidth = false, bool includeSkipped = false, bool includeDirectives = false, bool includeDocumentationComments = false)
Parameters
| Type |
Name |
Description |
| bool |
includeZeroWidth |
|
| bool |
includeSkipped |
|
| bool |
includeDirectives |
|
| bool |
includeDocumentationComments |
|
Returns
GetLeadingTrivia()
Declaration
public SyntaxTriviaList GetLeadingTrivia()
Returns
GetLocation()
Declaration
public Location GetLocation()
Returns
GetRedAtZero<T>(ref T?)
Declaration
protected T? GetRedAtZero<T>(ref T? field) where T : SyntaxNode
Parameters
| Type |
Name |
Description |
| T |
field |
|
Returns
Type Parameters
GetRed<T>(ref T?, int)
Declaration
protected T? GetRed<T>(ref T? field, int slot) where T : SyntaxNode
Parameters
| Type |
Name |
Description |
| T |
field |
|
| int |
slot |
|
Returns
Type Parameters
GetReference()
Declaration
public SyntaxReference GetReference()
Returns
GetText(Encoding?, SourceHashAlgorithm)
Declaration
public SourceText GetText(Encoding? encoding = null, SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1)
Parameters
Returns
GetTrailingTrivia()
Declaration
public SyntaxTriviaList GetTrailingTrivia()
Returns
HasAnnotation(SyntaxAnnotation?)
Declaration
public bool HasAnnotation(SyntaxAnnotation? annotation)
Parameters
Returns
HasAnnotations(IEnumerable<string>)
Declaration
public bool HasAnnotations(IEnumerable<string> annotationKinds)
Parameters
Returns
HasAnnotations(string)
Declaration
public bool HasAnnotations(string annotationKind)
Parameters
| Type |
Name |
Description |
| string |
annotationKind |
|
Returns
InsertNodesInListCore(SyntaxNode, IEnumerable<SyntaxNode>, bool)
Declaration
protected abstract SyntaxNode InsertNodesInListCore(SyntaxNode nodeInList, IEnumerable<SyntaxNode> nodesToInsert, bool insertBefore)
Parameters
Returns
InsertTokensInListCore(SyntaxToken, IEnumerable<SyntaxToken>, bool)
Declaration
protected abstract SyntaxNode InsertTokensInListCore(SyntaxToken originalToken, IEnumerable<SyntaxToken> newTokens, bool insertBefore)
Parameters
Returns
InsertTriviaInListCore(SyntaxTrivia, IEnumerable<SyntaxTrivia>, bool)
Declaration
protected abstract SyntaxNode InsertTriviaInListCore(SyntaxTrivia originalTrivia, IEnumerable<SyntaxTrivia> newTrivia, bool insertBefore)
Parameters
Returns
IsEquivalentTo(SyntaxNode?)
Declaration
public bool IsEquivalentTo(SyntaxNode? other)
Parameters
Returns
IsEquivalentTo(SyntaxNode, bool)
Declaration
public bool IsEquivalentTo(SyntaxNode node, bool topLevel = false)
Parameters
Returns
IsEquivalentToCore(SyntaxNode, bool)
Declaration
protected abstract bool IsEquivalentToCore(SyntaxNode node, bool topLevel = false)
Parameters
Returns
IsIncrementallyIdenticalTo(SyntaxNode?)
Declaration
public bool IsIncrementallyIdenticalTo(SyntaxNode? other)
Parameters
Returns
IsPartOfStructuredTrivia()
Declaration
public bool IsPartOfStructuredTrivia()
Returns
NormalizeWhitespaceCore(string, string, bool)
Declaration
protected abstract SyntaxNode NormalizeWhitespaceCore(string indentation, string eol, bool elasticTrivia)
Parameters
Returns
RemoveNodesCore(IEnumerable<SyntaxNode>, SyntaxRemoveOptions)
Declaration
protected abstract SyntaxNode? RemoveNodesCore(IEnumerable<SyntaxNode> nodes, SyntaxRemoveOptions options)
Parameters
Returns
ReplaceCore<TNode>(IEnumerable<TNode>?, Func<TNode, TNode, SyntaxNode>?, IEnumerable<SyntaxToken>?, Func<SyntaxToken, SyntaxToken, SyntaxToken>?, IEnumerable<SyntaxTrivia>?, Func<SyntaxTrivia, SyntaxTrivia, SyntaxTrivia>?)
Declaration
protected abstract SyntaxNode ReplaceCore<TNode>(IEnumerable<TNode>? nodes = null, Func<TNode, TNode, SyntaxNode>? computeReplacementNode = null, IEnumerable<SyntaxToken>? tokens = null, Func<SyntaxToken, SyntaxToken, SyntaxToken>? computeReplacementToken = null, IEnumerable<SyntaxTrivia>? trivia = null, Func<SyntaxTrivia, SyntaxTrivia, SyntaxTrivia>? computeReplacementTrivia = null) where TNode : SyntaxNode
Parameters
Returns
Type Parameters
ReplaceNodeInListCore(SyntaxNode, IEnumerable<SyntaxNode>)
Declaration
protected abstract SyntaxNode ReplaceNodeInListCore(SyntaxNode originalNode, IEnumerable<SyntaxNode> replacementNodes)
Parameters
Returns
ReplaceTokenInListCore(SyntaxToken, IEnumerable<SyntaxToken>)
Declaration
protected abstract SyntaxNode ReplaceTokenInListCore(SyntaxToken originalToken, IEnumerable<SyntaxToken> newTokens)
Parameters
Returns
ReplaceTriviaInListCore(SyntaxTrivia, IEnumerable<SyntaxTrivia>)
Declaration
protected abstract SyntaxNode ReplaceTriviaInListCore(SyntaxTrivia originalTrivia, IEnumerable<SyntaxTrivia> newTrivia)
Parameters
Returns
SerializeTo(Stream, CancellationToken)
Declaration
[Obsolete("Syntax serialization support is no longer supported", true)]
public virtual void SerializeTo(Stream stream, CancellationToken cancellationToken = default)
Parameters
ToFullString()
Declaration
public virtual string ToFullString()
Returns
ToString()
Declaration
public override string ToString()
Returns
Overrides
WriteTo(TextWriter)
Declaration
public virtual void WriteTo(TextWriter writer)
Parameters
Extension Methods
SyntaxNodeExtensions.ReplaceSyntax<TRoot>(TRoot, IEnumerable<SyntaxNode>?, Func<SyntaxNode, SyntaxNode, SyntaxNode>?, IEnumerable<SyntaxToken>?, Func<SyntaxToken, SyntaxToken, SyntaxToken>?, IEnumerable<SyntaxTrivia>?, Func<SyntaxTrivia, SyntaxTrivia, SyntaxTrivia>?)