SyntaxNodeOrTokenList Struct

A sequence that mixes nodes and tokens, as a separated list does.

Remarks

default is the empty list.

Implements

Nested types

NameDescription
SyntaxNodeOrTokenList.EnumeratorWalks a SyntaxNodeOrTokenList without allocating.

Constructors

NameDescription
SyntaxNodeOrTokenList(IEnumerable<SyntaxNodeOrToken>)Creates a detached list holding nodesAndTokens.

SyntaxNodeOrTokenList(IEnumerable<SyntaxNodeOrToken>)

SyntaxNodeOrTokenList.cs

Creates a detached list holding nodesAndTokens.

public SyntaxNodeOrTokenList(IEnumerable<SyntaxNodeOrToken> nodesAndTokens)

Parameters

nodesAndTokens IEnumerable<SyntaxNodeOrToken>

Exceptions

ArgumentNullException
nodesAndTokens is null.

Properties

NameDescription
Count
FullSpan
Span
public int Count { get; }

Property value

int

No documentation is available.

public TextSpan FullSpan { get; }

Property value

TextSpan

No documentation is available.

public TextSpan Span { get; }

Property value

TextSpan

No documentation is available.

Indexers

NameDescription
this[int]
public SyntaxNodeOrToken this[int index] { get; }

Parameters

index int

Property value

SyntaxNodeOrToken

No documentation is available.

Methods

NameDescription
Add(SyntaxNodeOrToken)Returns a detached list with nodeOrToken appended.
AddRange(IEnumerable<SyntaxNodeOrToken>)Returns a detached list with nodesAndTokens appended.
Any()
Create(ReadOnlySpan<SyntaxNodeOrToken>)Creates a detached list holding nodesAndTokens.
Equals(SyntaxNodeOrTokenList)
Equals(object?)
First()
FirstOrDefault()
GetEnumerator()
GetHashCode()
IndexOf(SyntaxNodeOrToken)Returns the position of nodeOrToken in this list, or -1.
Insert(int, SyntaxNodeOrToken)Returns a detached list with nodeOrToken inserted at index.
InsertRange(int, IEnumerable<SyntaxNodeOrToken>)Returns a detached list with nodesAndTokens inserted at index.
Last()
LastOrDefault()
Remove(SyntaxNodeOrToken)Returns a detached list without nodeOrToken, or this list when it does not contain it.
RemoveAt(int)Returns a detached list without the item at index.
Replace(SyntaxNodeOrToken, SyntaxNodeOrToken)Returns a detached list with newNodeOrToken in place of nodeOrTokenInList.
System.Collections.Generic.IEnumerable<Meziantou.Framework.Language.SyntaxNodeOrToken>.GetEnumerator()
System.Collections.IEnumerable.GetEnumerator()
ToFullString()
ToString()

Add(SyntaxNodeOrToken)

SyntaxNodeOrTokenList.cs

Returns a detached list with nodeOrToken appended.

Parameters

nodeOrToken SyntaxNodeOrToken

Returns

SyntaxNodeOrTokenList

AddRange(IEnumerable<SyntaxNodeOrToken>)

SyntaxNodeOrTokenList.cs

Returns a detached list with nodesAndTokens appended.

public SyntaxNodeOrTokenList AddRange(IEnumerable<SyntaxNodeOrToken> nodesAndTokens)
public bool Any()

Returns

bool

No documentation is available.

Create(ReadOnlySpan<SyntaxNodeOrToken>)

SyntaxNodeOrTokenList.cs

Creates a detached list holding nodesAndTokens.

public static SyntaxNodeOrTokenList Create(ReadOnlySpan<SyntaxNodeOrToken> nodesAndTokens)

Parameters

nodesAndTokens ReadOnlySpan<SyntaxNodeOrToken>

Returns

SyntaxNodeOrTokenList

Remarks

This is what a collection expression targeting SyntaxNodeOrTokenList builds its list with.

Equals overloads

Equals(SyntaxNodeOrTokenList)

SyntaxNodeOrTokenList.cs
public bool Equals(SyntaxNodeOrTokenList other)
Parameters
other SyntaxNodeOrTokenList
Returns

bool

No documentation is available.

public override bool Equals(object? obj)
Parameters
obj object?
Returns

bool

No documentation is available.

public SyntaxNodeOrToken First()

No documentation is available.

FirstOrDefault()

SyntaxNodeOrTokenList.cs
public SyntaxNodeOrToken FirstOrDefault()

No documentation is available.

public SyntaxNodeOrTokenList.Enumerator GetEnumerator()

No documentation is available.

public override int GetHashCode()

Returns

int

No documentation is available.

IndexOf(SyntaxNodeOrToken)

SyntaxNodeOrTokenList.cs

Returns the position of nodeOrToken in this list, or -1.

public int IndexOf(SyntaxNodeOrToken nodeOrToken)

Parameters

nodeOrToken SyntaxNodeOrToken

Returns

int

Remarks

Items are matched by which one they are, not by the immutable node behind them: that node is shared, so two items holding the same text are usually the same node and would both answer with the first position.

Insert(int, SyntaxNodeOrToken)

SyntaxNodeOrTokenList.cs

Returns a detached list with nodeOrToken inserted at index.

public SyntaxNodeOrTokenList Insert(int index, SyntaxNodeOrToken nodeOrToken)

Parameters

index int
nodeOrToken SyntaxNodeOrToken

Returns

SyntaxNodeOrTokenList

InsertRange(int, IEnumerable<SyntaxNodeOrToken>)

SyntaxNodeOrTokenList.cs

Returns a detached list with nodesAndTokens inserted at index.

public SyntaxNodeOrTokenList InsertRange(int index, IEnumerable<SyntaxNodeOrToken> nodesAndTokens)

Parameters

index int
nodesAndTokens IEnumerable<SyntaxNodeOrToken>

Returns

SyntaxNodeOrTokenList

Exceptions

ArgumentNullException
nodesAndTokens is null.
public SyntaxNodeOrToken Last()

No documentation is available.

public SyntaxNodeOrToken LastOrDefault()

No documentation is available.

Remove(SyntaxNodeOrToken)

SyntaxNodeOrTokenList.cs

Returns a detached list without nodeOrToken, or this list when it does not contain it.

public SyntaxNodeOrTokenList Remove(SyntaxNodeOrToken nodeOrToken)

Parameters

nodeOrToken SyntaxNodeOrToken

Returns

SyntaxNodeOrTokenList

Returns a detached list without the item at index.

public SyntaxNodeOrTokenList RemoveAt(int index)

Parameters

index int

Returns

SyntaxNodeOrTokenList

Replace(SyntaxNodeOrToken, SyntaxNodeOrToken)

SyntaxNodeOrTokenList.cs

Returns a detached list with newNodeOrToken in place of nodeOrTokenInList.

public SyntaxNodeOrTokenList Replace(SyntaxNodeOrToken nodeOrTokenInList, SyntaxNodeOrToken newNodeOrToken)

Parameters

nodeOrTokenInList SyntaxNodeOrToken
newNodeOrToken SyntaxNodeOrToken

Returns

SyntaxNodeOrTokenList

Exceptions

ArgumentException
nodeOrTokenInList is not in this list.

System.Collections.Generic.IEnumerable<Meziantou.Framework.Language.SyntaxNodeOrToken>.GetEnumerator()

SyntaxNodeOrTokenList.cs

No documentation is available.

System.Collections.IEnumerable.GetEnumerator()

SyntaxNodeOrTokenList.cs
IEnumerator IEnumerable.GetEnumerator()

No documentation is available.

public string ToFullString()

Returns

string

No documentation is available.

public override string ToString()

Returns

string

No documentation is available.

Operators

NameDescription
operator ==(SyntaxNodeOrTokenList, SyntaxNodeOrTokenList)
operator !=(SyntaxNodeOrTokenList, SyntaxNodeOrTokenList)

operator ==(SyntaxNodeOrTokenList, SyntaxNodeOrTokenList)

SyntaxNodeOrTokenList.cs
public static bool operator ==(SyntaxNodeOrTokenList left, SyntaxNodeOrTokenList right)

No documentation is available.

operator !=(SyntaxNodeOrTokenList, SyntaxNodeOrTokenList)

SyntaxNodeOrTokenList.cs
public static bool operator !=(SyntaxNodeOrTokenList left, SyntaxNodeOrTokenList right)

No documentation is available.