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<>