Struct SyntaxList<TNode>
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 SyntaxList<TNode>
where TNode : SyntaxNode
Type Parameters
Constructors
SyntaxList(TNode)
Creates a singleton list of syntax nodes.
Declaration
public SyntaxList(TNode node)
Parameters
| Type |
Name |
Description |
| TNode |
node |
The single element node.
|
SyntaxList(Nullable<IEnumerable<TNode>>)
Creates a list of syntax nodes.
Declaration
public SyntaxList(IEnumerable<TNode>? nodes)
Parameters
| Type |
Name |
Description |
| System.Nullable<IEnumerable<TNode>> |
nodes |
A sequence of element nodes.
|
Properties
Count
The number of nodes in the 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]
Gets the node at the specified index.
Declaration
public readonly TNode this[int index] { get; }
Parameters
| Type |
Name |
Description |
| System.Int32 |
index |
The zero-based index of the node to get or set.
|
Property Value
| Type |
Description |
| TNode |
The node at the specified index.
|
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 at the end.
Declaration
public readonly SyntaxList<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 at the end.
Declaration
public readonly SyntaxList<TNode> AddRange(IEnumerable<TNode> nodes)
Parameters
| Type |
Name |
Description |
| IEnumerable<TNode> |
nodes |
The nodes to add.
|
Returns
Any()
True if the list has at least one node.
Declaration
public readonly bool Any()
Returns
| Type |
Description |
| System.Boolean |
|
Equals(SyntaxList<TNode>)
Declaration
public readonly bool Equals(SyntaxList<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()
The first node in the list.
Declaration
public readonly TNode First()
Returns
FirstOrDefault()
The first node in the list or default if the list is empty.
Declaration
public readonly TNode FirstOrDefault()
Returns
GetEnumerator()
Gets the enumerator for this list.
Declaration
public readonly SyntaxList<TNode>.Enumerator GetEnumerator()
Returns
GetHashCode()
Declaration
public override readonly int GetHashCode()
Returns
| Type |
Description |
| System.Int32 |
|
Overrides
System.ValueType.GetHashCode()
IndexOf(TNode)
The index of the node in this list, or -1 if the node is not in the list.
Declaration
public readonly int IndexOf(TNode node)
Parameters
| Type |
Name |
Description |
| TNode |
node |
|
Returns
| Type |
Description |
| System.Int32 |
|
IndexOf(Func<TNode, Boolean>)
Returns the index of the first node in this list that passes the provided predicate.
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 SyntaxList<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 SyntaxList<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()
The last node in the list.
Declaration
public readonly TNode Last()
Returns
LastIndexOf(TNode)
Returns the index of the last item that is equal to the provided node in this list.
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 in this list that passes the provided predicate.
Declaration
public readonly int LastIndexOf(Func<TNode, bool> predicate)
Parameters
| Type |
Name |
Description |
| Func<TNode, System.Boolean> |
predicate |
|
Returns
| Type |
Description |
| System.Int32 |
|
LastOrDefault()
The last node in the list or default if the list is empty.
Declaration
public readonly TNode LastOrDefault()
Returns
Remove(TNode)
Creates a new list with the element removed.
Declaration
public readonly SyntaxList<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 specified index removed.
Declaration
public readonly SyntaxList<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 with the new node.
Declaration
public readonly SyntaxList<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 with new nodes.
Declaration
public readonly SyntaxList<TNode> ReplaceRange(TNode nodeInList, IEnumerable<TNode> newNodes)
Parameters
| Type |
Name |
Description |
| TNode |
nodeInList |
The element to replace.
|
| IEnumerable<TNode> |
newNodes |
The new nodes.
|
Returns
ToFullString()
Returns the full string representation of the nodes in this list including
the first node's leading trivia and the last node's trailing trivia.
Declaration
public readonly string ToFullString()
Returns
| Type |
Description |
| System.String |
The full string representation of the nodes in this list including
the first node's leading trivia and the last node's trailing trivia.
|
ToString()
Returns the string representation of the nodes in this list, not including
the first node's leading trivia and the last node's trailing trivia.
Declaration
public override readonly string ToString()
Returns
| Type |
Description |
| System.String |
The string representation of the nodes in this list, not including
the first node's leading trivia and the last node's trailing trivia.
|
Overrides
System.ValueType.ToString()
Operators
Equality(SyntaxList<TNode>, SyntaxList<TNode>)
Checks whether two lists are equal.
Does a reference check instead of structural.
Declaration
public static bool operator ==(SyntaxList<TNode> left, SyntaxList<TNode> right)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
Implicit(SyntaxList<TNode> to SyntaxList<SyntaxNode>)
Converts a typed node list into an opaquely typed node list.
Declaration
public static implicit operator SyntaxList<SyntaxNode>(SyntaxList<TNode> nodes)
Parameters
Returns
Implicit(SyntaxList<SyntaxNode> to SyntaxList<TNode>)
Converts an opaquely typed node list into a typed node list.
Declaration
public static implicit operator SyntaxList<TNode>(SyntaxList<SyntaxNode> nodes)
Parameters
Returns
Inequality(SyntaxList<TNode>, SyntaxList<TNode>)
Checks whether two lists are not equal.
Does a reference check instead of structural.
Declaration
public static bool operator !=(SyntaxList<TNode> left, SyntaxList<TNode> right)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
Implements
IReadOnlyList<>
IEquatable<>