Struct SeparatedSyntaxList<TNode>
Represents a list of nodes separated by one token.
May have a trailing node.
Implements
IReadOnlyList<TNode>
Inherited Members
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetType()
Assembly: cs.temp.dll.dll
Syntax
public readonly struct SeparatedSyntaxList<TNode>
where TNode : SyntaxNode
Type Parameters
Properties
Count
The amount of nodes contained in this list.
Declaration
public readonly int Count { get; }
Property Value
Type |
Description |
System.Int32 |
|
FullSpan
The absolute span of the list elements in characters, including the leading and trailing trivia of the first and last elements.
Declaration
public readonly TextSpan FullSpan { get; }
Property Value
Type |
Description |
TextSpan |
|
Item[Int32]
Obtains a node from this list at the provided index.
Declaration
public readonly TNode this[int index] { get; }
Parameters
Type |
Name |
Description |
System.Int32 |
index |
|
Property Value
SeparatorCount
The amount of separators contained in this list.
Declaration
public readonly int SeparatorCount { get; }
Property Value
Type |
Description |
System.Int32 |
|
Span
The absolute span of the list elements in characters, not including the leading and trailing trivia of the first and last elements.
Declaration
public readonly TextSpan Span { get; }
Property Value
Type |
Description |
TextSpan |
|
Methods
Add(TNode)
Creates a new list with the specified node added to the end.
Declaration
public readonly SeparatedSyntaxList<TNode> Add(TNode node)
Parameters
Type |
Name |
Description |
TNode |
node |
The node to add.
|
Returns
AddRange(IEnumerable<TNode>)
Creates a new list with the specified nodes added to the end.
Declaration
public readonly SeparatedSyntaxList<TNode> AddRange(IEnumerable<TNode> nodes)
Parameters
Type |
Name |
Description |
IEnumerable<TNode> |
nodes |
The nodes to add.
|
Returns
Any()
Returns whether this list contains any elements.
Declaration
public readonly bool Any()
Returns
Type |
Description |
System.Boolean |
|
Contains(TNode)
Returns whether this list contains the provided node.
Declaration
public readonly bool Contains(TNode node)
Parameters
Type |
Name |
Description |
TNode |
node |
|
Returns
Type |
Description |
System.Boolean |
|
Equals(SeparatedSyntaxList<TNode>)
Declaration
public readonly bool Equals(SeparatedSyntaxList<TNode> other)
Parameters
Returns
Type |
Description |
System.Boolean |
|
Equals(Object)
Declaration
public override readonly bool Equals(object obj)
Parameters
Type |
Name |
Description |
System.Object |
obj |
|
Returns
Type |
Description |
System.Boolean |
|
Overrides
System.ValueType.Equals(System.Object)
First()
Returns the first node in this list.
Declaration
public readonly TNode First()
Returns
FirstOrDefault()
Returns the first node in this list if any, otherwise returns
the default value for the type of node.
Declaration
public readonly TNode FirstOrDefault()
Returns
GetEnumerator()
Returns the enumerator for this list.
Declaration
public readonly SeparatedSyntaxList<TNode>.Enumerator GetEnumerator()
Returns
GetHashCode()
Declaration
public override readonly int GetHashCode()
Returns
Type |
Description |
System.Int32 |
|
Overrides
System.ValueType.GetHashCode()
GetSeparator(Int32)
Gets the separator at the given index in this list.
Declaration
public readonly SyntaxToken GetSeparator(int index)
Parameters
Type |
Name |
Description |
System.Int32 |
index |
The index.
|
Returns
GetSeparators()
Returns the sequence of just the separator tokens.
Declaration
public readonly IEnumerable<SyntaxToken> GetSeparators()
Returns
GetWithSeparators()
Returns the entire list including the separators.
Declaration
public readonly SyntaxNodeOrTokenList GetWithSeparators()
Returns
IndexOf(TNode)
Returns the index of the provided node in this list.
Declaration
public readonly int IndexOf(TNode node)
Parameters
Type |
Name |
Description |
TNode |
node |
|
Returns
Type |
Description |
System.Int32 |
-1 if the node was not found.
|
IndexOf(Func<TNode, Boolean>)
Returns the index of the first node that passes the provided predicate in this list.
Declaration
public readonly int IndexOf(Func<TNode, bool> predicate)
Parameters
Type |
Name |
Description |
Func<TNode, System.Boolean> |
predicate |
|
Returns
Type |
Description |
System.Int32 |
-1 if not found.
|
Insert(Int32, TNode)
Creates a new list with the specified node inserted at the index.
Declaration
public readonly SeparatedSyntaxList<TNode> Insert(int index, TNode node)
Parameters
Type |
Name |
Description |
System.Int32 |
index |
The index to insert at.
|
TNode |
node |
The node to insert.
|
Returns
InsertRange(Int32, IEnumerable<TNode>)
Creates a new list with the specified nodes inserted at the index.
Declaration
public readonly SeparatedSyntaxList<TNode> InsertRange(int index, IEnumerable<TNode> nodes)
Parameters
Type |
Name |
Description |
System.Int32 |
index |
The index to insert at.
|
IEnumerable<TNode> |
nodes |
The nodes to insert.
|
Returns
Last()
Returns the last element in this list.
Declaration
public readonly TNode Last()
Returns
LastIndexOf(TNode)
Returns the index of the last node that is equal to the provided one.
Declaration
public readonly int LastIndexOf(TNode node)
Parameters
Type |
Name |
Description |
TNode |
node |
|
Returns
Type |
Description |
System.Int32 |
-1 if not found.
|
LastIndexOf(Func<TNode, Boolean>)
Returns the index of the last node that passes the provided predicate in this list.
Declaration
public readonly int LastIndexOf(Func<TNode, bool> predicate)
Parameters
Type |
Name |
Description |
Func<TNode, System.Boolean> |
predicate |
|
Returns
Type |
Description |
System.Int32 |
-1 if not found.
|
LastOrDefault()
Returns the last element in this list if any, otherwise returns
the default value for the node type.
Declaration
public readonly TNode LastOrDefault()
Returns
Remove(TNode)
Creates a new list with specified element removed.
Declaration
public readonly SeparatedSyntaxList<TNode> Remove(TNode node)
Parameters
Type |
Name |
Description |
TNode |
node |
The element to remove.
|
Returns
RemoveAt(Int32)
Creates a new list with the element at the specified index removed.
Declaration
public readonly SeparatedSyntaxList<TNode> RemoveAt(int index)
Parameters
Type |
Name |
Description |
System.Int32 |
index |
The index of the element to remove.
|
Returns
Replace(TNode, TNode)
Creates a new list with the specified element replaced by the new node.
Declaration
public readonly SeparatedSyntaxList<TNode> Replace(TNode nodeInList, TNode newNode)
Parameters
Type |
Name |
Description |
TNode |
nodeInList |
The element to replace.
|
TNode |
newNode |
The new node.
|
Returns
ReplaceRange(TNode, IEnumerable<TNode>)
Creates a new list with the specified element replaced by the new nodes.
Declaration
public readonly SeparatedSyntaxList<TNode> ReplaceRange(TNode nodeInList, IEnumerable<TNode> newNodes)
Parameters
Type |
Name |
Description |
TNode |
nodeInList |
The element to replace.
|
IEnumerable<TNode> |
newNodes |
The new nodes.
|
Returns
ReplaceSeparator(SyntaxToken, SyntaxToken)
Creates a new list with the specified separator token replaced with the new separator.
Declaration
public readonly SeparatedSyntaxList<TNode> ReplaceSeparator(SyntaxToken separatorToken, SyntaxToken newSeparator)
Parameters
Type |
Name |
Description |
SyntaxToken |
separatorToken |
The separator token to be replaced.
|
SyntaxToken |
newSeparator |
The new separator token.
|
Returns
ToFullString()
Returns the full string representation of the nodes in this list including separators,
the first node's leading trivia, and the last node or token's trailing trivia.
Declaration
public readonly string ToFullString()
Returns
Type |
Description |
System.String |
The full string representation of the nodes in this list including separators including separators,
the first node's leading trivia, and the last node or token's trailing trivia.
|
ToString()
Returns the string representation of the nodes in this list including separators but not including
the first node's leading trivia and the last node or token's trailing trivia.
Declaration
public override readonly string ToString()
Returns
Type |
Description |
System.String |
The string representation of the nodes in this list including separators but not including
the first node's leading trivia and the last node or token's trailing trivia.
|
Overrides
System.ValueType.ToString()
Operators
Equality(SeparatedSyntaxList<TNode>, SeparatedSyntaxList<TNode>)
Checks whether a list is equal to another.
Declaration
public static bool operator ==(SeparatedSyntaxList<TNode> left, SeparatedSyntaxList<TNode> right)
Parameters
Returns
Type |
Description |
System.Boolean |
|
Implicit(SeparatedSyntaxList<TNode> to SeparatedSyntaxList<SyntaxNode>)
Converts a typed node list into an opaquely typed node list.
Declaration
public static implicit operator SeparatedSyntaxList<SyntaxNode>(SeparatedSyntaxList<TNode> nodes)
Parameters
Returns
Implicit(SeparatedSyntaxList<SyntaxNode> to SeparatedSyntaxList<TNode>)
Converts a list of opaquely typed nodes into a list of typed nodes.
Declaration
public static implicit operator SeparatedSyntaxList<TNode>(SeparatedSyntaxList<SyntaxNode> nodes)
Parameters
Returns
Inequality(SeparatedSyntaxList<TNode>, SeparatedSyntaxList<TNode>)
Checks whether two lists are not equal.
Declaration
public static bool operator !=(SeparatedSyntaxList<TNode> left, SeparatedSyntaxList<TNode> right)
Parameters
Returns
Type |
Description |
System.Boolean |
|
Implements
IEquatable<>
IReadOnlyList<>