SyntaxNodeExtensions Class

Extensions for SyntaxNode.

public static class SyntaxNodeExtensions

Methods

NameDescription
Add(SyntaxList<KeyValueSyntax>, string, DateTimeValueSyntax)Adds a date/time value node to a list of key/value nodes.
Add(SyntaxList<KeyValueSyntax>, string, bool)Adds a boolean key/value pair to a list of key/value nodes.
Add(SyntaxList<KeyValueSyntax>, string, double)Adds a floating-point key/value pair to a list of key/value nodes.
Add(SyntaxList<KeyValueSyntax>, string, int)Adds an integer key/value pair to a list of key/value nodes.
Add(SyntaxList<KeyValueSyntax>, string, int[])Adds an integer array key/value pair to a list of key/value nodes.
Add(SyntaxList<KeyValueSyntax>, string, long)Adds a long key/value pair to a list of key/value nodes.
Add(SyntaxList<KeyValueSyntax>, string, string)Adds a string key/value pair to a list of key/value nodes.
Add(SyntaxList<KeyValueSyntax>, string, string[])Adds a string array key/value pair to a list of key/value nodes.
AddLeadingComment<T>(T, string)Adds a leading comment to the node.
AddLeadingTrivia<T>(T, SyntaxTrivia)Adds leading trivia to the node.
AddLeadingTriviaNewLine<T>(T)Adds a leading newline trivia to the node.
AddLeadingWhitespace<T>(T)Adds leading whitespace trivia to the node.
AddTrailingComment(KeyValueSyntax, string)Adds a trailing comment to a key/value node.
AddTrailingComment<T>(T, string)Adds a trailing comment to the node.
AddTrailingTrivia<T>(T, SyntaxTrivia)Adds trailing trivia to the node.
AddTrailingTriviaNewLine<T>(T)Adds a trailing newline trivia to the node.
AddTrailingWhitespace<T>(T)Adds trailing whitespace trivia to the node.
Descendants(SyntaxNode, bool)Get all descendants in Depth-First-Search order of the node. Note that this method returns the node itself (last).
Tokens(SyntaxNode, bool)Get all SyntaxToken and SyntaxTrivia in Depth-First-Search order of the node.

Add overloads

Add(SyntaxList<KeyValueSyntax>, string, DateTimeValueSyntax)

SyntaxNodeExtensions.cs

Adds a date/time value node to a list of key/value nodes.

public static void Add(this SyntaxList<KeyValueSyntax> list, string name, DateTimeValueSyntax value)
Parameters
list SyntaxList<KeyValueSyntax>
The target list.
name string
The key name.
value DateTimeValueSyntax
The date/time value node.

Add(SyntaxList<KeyValueSyntax>, string, bool)

SyntaxNodeExtensions.cs

Adds a boolean key/value pair to a list of key/value nodes.

public static void Add(this SyntaxList<KeyValueSyntax> list, string name, bool value)
Parameters
list SyntaxList<KeyValueSyntax>
The target list.
name string
The key name.
value bool
The boolean value.

Add(SyntaxList<KeyValueSyntax>, string, double)

SyntaxNodeExtensions.cs

Adds a floating-point key/value pair to a list of key/value nodes.

public static void Add(this SyntaxList<KeyValueSyntax> list, string name, double value)
Parameters
list SyntaxList<KeyValueSyntax>
The target list.
name string
The key name.
value double
The floating-point value.

Add(SyntaxList<KeyValueSyntax>, string, int)

SyntaxNodeExtensions.cs

Adds an integer key/value pair to a list of key/value nodes.

public static void Add(this SyntaxList<KeyValueSyntax> list, string name, int value)
Parameters
list SyntaxList<KeyValueSyntax>
The target list.
name string
The key name.
value int
The integer value.

Add(SyntaxList<KeyValueSyntax>, string, int[])

SyntaxNodeExtensions.cs

Adds an integer array key/value pair to a list of key/value nodes.

public static void Add(this SyntaxList<KeyValueSyntax> list, string name, int[] values)
Parameters
list SyntaxList<KeyValueSyntax>
The target list.
name string
The key name.
values int[]
The array of integers.

Add(SyntaxList<KeyValueSyntax>, string, long)

SyntaxNodeExtensions.cs

Adds a long key/value pair to a list of key/value nodes.

public static void Add(this SyntaxList<KeyValueSyntax> list, string name, long value)
Parameters
list SyntaxList<KeyValueSyntax>
The target list.
name string
The key name.
value long
The long value.

Add(SyntaxList<KeyValueSyntax>, string, string)

SyntaxNodeExtensions.cs

Adds a string key/value pair to a list of key/value nodes.

public static void Add(this SyntaxList<KeyValueSyntax> list, string name, string value)
Parameters
list SyntaxList<KeyValueSyntax>
The target list.
name string
The key name.
value string
The string value.

Add(SyntaxList<KeyValueSyntax>, string, string[])

SyntaxNodeExtensions.cs

Adds a string array key/value pair to a list of key/value nodes.

public static void Add(this SyntaxList<KeyValueSyntax> list, string name, string[] values)
Parameters
list SyntaxList<KeyValueSyntax>
The target list.
name string
The key name.
values string[]
The array of strings.

AddLeadingComment<T>(T, string)

SyntaxNodeExtensions.cs

Adds a leading comment to the node.

public static T AddLeadingComment<T>(this T node, string comment) where T : SyntaxNode

Type parameters

T
The node type.

Parameters

node T
The target node.
comment string
The comment text.

Returns

T The same node.

AddLeadingTrivia<T>(T, SyntaxTrivia)

SyntaxNodeExtensions.cs

Adds leading trivia to the node.

public static T AddLeadingTrivia<T>(this T node, SyntaxTrivia trivia) where T : SyntaxNode

Type parameters

T
The node type.

Parameters

node T
The target node.
trivia SyntaxTrivia
The trivia to add.

Returns

T The same node.

AddLeadingTriviaNewLine<T>(T)

SyntaxNodeExtensions.cs

Adds a leading newline trivia to the node.

public static T AddLeadingTriviaNewLine<T>(this T node) where T : SyntaxNode

Type parameters

T
The node type.

Parameters

node T
The target node.

Returns

T The same node.

AddLeadingWhitespace<T>(T)

SyntaxNodeExtensions.cs

Adds leading whitespace trivia to the node.

public static T AddLeadingWhitespace<T>(this T node) where T : SyntaxNode

Type parameters

T
The node type.

Parameters

node T
The target node.

Returns

T The same node.

AddTrailingComment overloads

AddTrailingComment(KeyValueSyntax, string)

SyntaxNodeExtensions.cs

Adds a trailing comment to a key/value node.

public static KeyValueSyntax AddTrailingComment(this KeyValueSyntax keyValue, string comment)
Parameters
keyValue KeyValueSyntax
The key/value node.
comment string
The comment text.
Returns

KeyValueSyntax The same key/value node.

AddTrailingComment<T>(T, string)

SyntaxNodeExtensions.cs

Adds a trailing comment to the node.

public static T AddTrailingComment<T>(this T node, string comment) where T : SyntaxNode
Type parameters
T
The node type.
Parameters
node T
The target node.
comment string
The comment text.
Returns

T The same node.

AddTrailingTrivia<T>(T, SyntaxTrivia)

SyntaxNodeExtensions.cs

Adds trailing trivia to the node.

public static T AddTrailingTrivia<T>(this T node, SyntaxTrivia trivia) where T : SyntaxNode

Type parameters

T
The node type.

Parameters

node T
The target node.
trivia SyntaxTrivia
The trivia to add.

Returns

T The same node.

AddTrailingTriviaNewLine<T>(T)

SyntaxNodeExtensions.cs

Adds a trailing newline trivia to the node.

public static T AddTrailingTriviaNewLine<T>(this T node) where T : SyntaxNode

Type parameters

T
The node type.

Parameters

node T
The target node.

Returns

T The same node.

AddTrailingWhitespace<T>(T)

SyntaxNodeExtensions.cs

Adds trailing whitespace trivia to the node.

public static T AddTrailingWhitespace<T>(this T node) where T : SyntaxNode

Type parameters

T
The node type.

Parameters

node T
The target node.

Returns

T The same node.

Descendants(SyntaxNode, bool)

SyntaxNodeExtensions.cs

Get all descendants in Depth-First-Search order of the node. Note that this method returns the node itself (last).

public static IEnumerable<SyntaxNodeBase> Descendants(this SyntaxNode node, bool includeTokensCommentsAndWhitespaces = false)

Parameters

node SyntaxNode
The node to collect all descendants
includeTokensCommentsAndWhitespaces bool
true to include tokens, comments and whitespaces.

Returns

IEnumerable<SyntaxNodeBase> All descendants in Depth-First-Search order of the node.

Tokens(SyntaxNode, bool)

SyntaxNodeExtensions.cs

Get all SyntaxToken and SyntaxTrivia in Depth-First-Search order of the node.

public static IEnumerable<SyntaxNodeBase> Tokens(this SyntaxNode node, bool includeCommentsAndWhitespaces = true)

Parameters

node SyntaxNode
The node to collect all tokens from
includeCommentsAndWhitespaces bool
true to include comments and whitespaces.

Returns

IEnumerable<SyntaxNodeBase> All descendants in Depth-First-Search order of the node.