4 instantiations of SyntaxNodeOrToken
Microsoft.CodeAnalysis.Razor.Compiler (4)
Language\Syntax\ChildSyntaxList.cs (2)
198
return new
SyntaxNodeOrToken
(node, greenChild, position, index);
283
return new
SyntaxNodeOrToken
(node, green, position, index);
Language\Syntax\SyntaxNodeOrToken.cs (2)
336
return new
SyntaxNodeOrToken
(token.Parent, token.Node, token.Position, token.Index);
363
? new
SyntaxNodeOrToken
(node)
94 references to SyntaxNodeOrToken
Microsoft.CodeAnalysis.Razor.Compiler (94)
Language\DefaultRazorIntermediateNodeLoweringPhase.cs (2)
625
public
SyntaxNodeOrToken
this[int index] => list[start + index];
632
public
SyntaxNodeOrToken
FirstOrDefault() => Count > 0 ? this[0] : default;
Language\Legacy\LegacySyntaxNodeExtensions.ChildSyntaxListReversedEnumeratorStack.cs (4)
35
private void PushRightmostChildren(
SyntaxNodeOrToken
nodeOrToken)
37
var
current = nodeOrToken;
57
private bool TryMoveNextAndGetCurrent(out
SyntaxNodeOrToken
nodeOrToken)
77
public bool TryGetNextNodeOrToken(out
SyntaxNodeOrToken
node)
Language\Legacy\LegacySyntaxNodeExtensions.cs (10)
16
public
SyntaxNodeOrToken
? Previous;
18
public
SyntaxNodeOrToken
? Next;
117
foreach (
var
child in list)
136
public static bool IsMetaCodeSpanKind(this
SyntaxNodeOrToken
nodeOrToken)
179
public static bool IsSpanKind(this
SyntaxNodeOrToken
nodeOrToken)
182
private static IEnumerable<
SyntaxNodeOrToken
> FlattenSpansInReverse(this SyntaxNode node)
186
while (stack.TryGetNextNodeOrToken(out
var
nextNode))
256
public static
SyntaxNodeOrToken
? PreviousSpan(this SyntaxNode node)
272
foreach (
var
span in parent.FlattenSpansInReverse())
293
public static
SyntaxNodeOrToken
? NextSpan(this SyntaxNode node)
Language\Legacy\WhiteSpaceRewriter.cs (1)
29
var
child = children[i];
Language\Syntax\ChildSyntaxList.cs (12)
12
internal readonly partial struct ChildSyntaxList : IEquatable<ChildSyntaxList>, IReadOnlyList<
SyntaxNodeOrToken
>
58
public
SyntaxNodeOrToken
this[int index]
108
internal static
SyntaxNodeOrToken
ItemInternal(SyntaxNode node, int index)
119
internal static
SyntaxNodeOrToken
ItemInternal(SyntaxNode node, int index, ref SlotData slotData)
212
internal static
SyntaxNodeOrToken
ChildThatContainsPosition(SyntaxNode node, int targetPosition)
344
private
SyntaxNodeOrToken
[] NodesAndTokens => [.. this];
357
public
SyntaxNodeOrToken
First()
374
public
SyntaxNodeOrToken
Last()
405
IEnumerator<
SyntaxNodeOrToken
> IEnumerable<
SyntaxNodeOrToken
>.GetEnumerator()
407
? SpecializedCollections.EmptyEnumerator<
SyntaxNodeOrToken
>()
412
? SpecializedCollections.EmptyEnumerator<
SyntaxNodeOrToken
>()
Language\Syntax\ChildSyntaxList.Enumerator.cs (4)
64
public
SyntaxNodeOrToken
Current
75
internal bool TryMoveNextAndGetCurrent(out
SyntaxNodeOrToken
current)
102
private sealed class EnumeratorImpl : IEnumerator<
SyntaxNodeOrToken
>
117
public
SyntaxNodeOrToken
Current
Language\Syntax\ChildSyntaxList.Reversed.cs (6)
14
public readonly partial struct Reversed : IEnumerable<
SyntaxNodeOrToken
>, IEquatable<Reversed>
28
IEnumerator<
SyntaxNodeOrToken
> IEnumerable<
SyntaxNodeOrToken
>.GetEnumerator()
30
? SpecializedCollections.EmptyEnumerator<
SyntaxNodeOrToken
>()
35
? SpecializedCollections.EmptyEnumerator<
SyntaxNodeOrToken
>()
79
public readonly
SyntaxNodeOrToken
Current
Language\Syntax\SyntaxNavigator.cs (6)
52
var
child = en.Current;
97
var
child = en.Current;
138
foreach (
var
child in current.Parent.ChildNodesAndTokens())
180
foreach (
var
child in node.Parent.ChildNodesAndTokens())
222
foreach (
var
child in current.Parent.ChildNodesAndTokens().Reverse())
264
foreach (
var
child in node.Parent.ChildNodesAndTokens().Reverse())
Language\Syntax\SyntaxNode.cs (9)
181
internal
SyntaxNodeOrToken
ChildThatContainsPosition(int position)
190
var
childNodeOrToken = ChildSyntaxList.ChildThatContainsPosition(this, position);
226
foreach (
var
nodeOrToken in ChildNodesAndTokens())
240
foreach (
var
nodeOrToken in ChildNodesAndTokens())
336
public IEnumerable<
SyntaxNodeOrToken
> DescendantNodesAndTokens(Func<SyntaxNode, bool>? descendIntoChildren = null)
346
public IEnumerable<
SyntaxNodeOrToken
> DescendantNodesAndTokens(TextSpan span, Func<SyntaxNode, bool>? descendIntoChildren = null)
355
public IEnumerable<
SyntaxNodeOrToken
> DescendandNodesAndTokensAndSelf(Func<SyntaxNode, bool>? descendIntoChildren = null)
364
public IEnumerable<
SyntaxNodeOrToken
> DescendandNodesAndTokensAndSelf(TextSpan span, Func<SyntaxNode, bool>? descendIntoChildren = null)
465
SyntaxNodeOrToken
curNode = this;
Language\Syntax\SyntaxNode.Iterators.cs (4)
39
private IEnumerable<
SyntaxNodeOrToken
> DescendantNodesAndTokensImpl(TextSpan span, Func<SyntaxNode, bool>? descendIntoChildren, bool includeSelf)
50
if (stack.TryGetNextInSpan(in span, out
var
value))
119
public bool TryGetNextInSpan(in TextSpan span, out
SyntaxNodeOrToken
value)
413
if (_stack.TryGetNextInSpan(in _span, out
var
value))
Language\Syntax\SyntaxNodeExtensions.cs (1)
43
public static SourceLocation GetSourceLocation(this
SyntaxNodeOrToken
nodeOrToken, RazorSourceDocument source)
Language\Syntax\SyntaxNodeOrToken.cs (34)
14
internal readonly struct SyntaxNodeOrToken : IEquatable<
SyntaxNodeOrToken
>
91
/// Determines whether this <see cref="
SyntaxNodeOrToken
"/> is wrapping a token.
96
/// Determines whether this <see cref="
SyntaxNodeOrToken
"/> is wrapping a node.
101
/// Returns the underlying token if this <see cref="
SyntaxNodeOrToken
"/> is wrapping a
105
/// The underlying token if this <see cref="
SyntaxNodeOrToken
"/> is wrapping a token.
125
/// Returns the underlying node if this <see cref="
SyntaxNodeOrToken
"/> is wrapping a
129
/// The underlying node if this <see cref="
SyntaxNodeOrToken
"/> is wrapping a node.
274
/// Determines whether the supplied <see cref="
SyntaxNodeOrToken
"/> is equal to this
275
/// <see cref="
SyntaxNodeOrToken
"/>.
277
public bool Equals(
SyntaxNodeOrToken
other)
290
/// Determines whether two <see cref="
SyntaxNodeOrToken
"/>s are equal.
292
public static bool operator ==(
SyntaxNodeOrToken
left,
SyntaxNodeOrToken
right)
298
/// Determines whether two <see cref="
SyntaxNodeOrToken
"/>s are unequal.
300
public static bool operator !=(
SyntaxNodeOrToken
left,
SyntaxNodeOrToken
right)
306
/// Determines whether the supplied <see cref="
SyntaxNodeOrToken
"/> is equal to this
307
/// <see cref="
SyntaxNodeOrToken
"/>.
311
return obj is
SyntaxNodeOrToken
token && Equals(token);
315
/// Serves as hash function for <see cref="
SyntaxNodeOrToken
"/>.
328
/// Returns a new <see cref="
SyntaxNodeOrToken
"/> that wraps the supplied token.
332
/// A <see cref="
SyntaxNodeOrToken
"/> that wraps the supplied token.
334
public static implicit operator
SyntaxNodeOrToken
(SyntaxToken token)
340
/// Returns the underlying token wrapped by the supplied <see cref="
SyntaxNodeOrToken
"/>.
343
/// The input <see cref="
SyntaxNodeOrToken
"/>.
346
/// The underlying token wrapped by the supplied <see cref="
SyntaxNodeOrToken
"/>.
348
public static explicit operator SyntaxToken(
SyntaxNodeOrToken
nodeOrToken)
354
/// Returns a new <see cref="
SyntaxNodeOrToken
"/> that wraps the supplied node.
358
/// A <see cref="
SyntaxNodeOrToken
"/> that wraps the supplied node.
360
public static implicit operator
SyntaxNodeOrToken
(SyntaxNode? node)
368
/// Returns the underlying node wrapped by the supplied <see cref="
SyntaxNodeOrToken
"/>.
371
/// The input <see cref="
SyntaxNodeOrToken
"/>.
374
/// The underlying node wrapped by the supplied <see cref="
SyntaxNodeOrToken
"/>.
376
public static explicit operator SyntaxNode?(
SyntaxNodeOrToken
nodeOrToken)
Language\Syntax\SyntaxWalker.cs (1)
39
foreach (
var
child in node.ChildNodesAndTokens())