41 types derived from IntermediateNode
Microsoft.AspNetCore.Razor.Language.UnitTests (3)
Intermediate\DefaultRazorIntermediateNodeBuilderTest.cs (1)
210
private class BasicIntermediateNode :
IntermediateNode
Intermediate\IntermediateNodeReferenceTest.cs (1)
486
private class BasicIntermediateNode :
IntermediateNode
Intermediate\IntermediateNodeWalkerTest.cs (1)
123
private sealed class BasicIntermediateNode(string name) :
IntermediateNode
Microsoft.CodeAnalysis.Razor.Compiler (38)
Language\Intermediate\ComponentAttributeIntermediateNode.cs (1)
12
public sealed class ComponentAttributeIntermediateNode :
IntermediateNode
Language\Intermediate\ComponentChildContentIntermediateNode.cs (1)
12
public sealed class ComponentChildContentIntermediateNode :
IntermediateNode
Language\Intermediate\ComponentIntermediateNode.cs (1)
13
public sealed class ComponentIntermediateNode :
IntermediateNode
Language\Intermediate\ComponentTypeArgumentIntermediateNode.cs (1)
7
BoundAttributeDescriptor boundAttribute, CSharpIntermediateToken value) :
IntermediateNode
Language\Intermediate\ComponentTypeInferenceMethodIntermediateNode.cs (1)
14
public sealed class ComponentTypeInferenceMethodIntermediateNode :
IntermediateNode
Language\Intermediate\CSharpCodeAttributeValueIntermediateNode.cs (1)
10
public sealed class CSharpCodeAttributeValueIntermediateNode :
IntermediateNode
Language\Intermediate\CSharpCodeIntermediateNode.cs (1)
10
public sealed class CSharpCodeIntermediateNode :
IntermediateNode
Language\Intermediate\CSharpExpressionAttributeValueIntermediateNode.cs (1)
10
public sealed class CSharpExpressionAttributeValueIntermediateNode :
IntermediateNode
Language\Intermediate\CSharpExpressionIntermediateNode.cs (1)
10
public sealed class CSharpExpressionIntermediateNode :
IntermediateNode
Language\Intermediate\DirectiveIntermediateNode.cs (1)
11
public sealed class DirectiveIntermediateNode :
IntermediateNode
Language\Intermediate\DirectiveTokenIntermediateNode.cs (1)
10
public sealed class DirectiveTokenIntermediateNode :
IntermediateNode
Language\Intermediate\DocumentIntermediateNode.cs (1)
11
public sealed class DocumentIntermediateNode :
IntermediateNode
Language\Intermediate\ExtensionIntermediateNode.cs (1)
11
public abstract class ExtensionIntermediateNode :
IntermediateNode
Language\Intermediate\FormNameIntermediateNode.cs (1)
8
public sealed class FormNameIntermediateNode :
IntermediateNode
Language\Intermediate\HtmlAttributeIntermediateNode.cs (1)
11
public sealed class HtmlAttributeIntermediateNode :
IntermediateNode
Language\Intermediate\HtmlAttributeValueIntermediateNode.cs (1)
10
public sealed class HtmlAttributeValueIntermediateNode :
IntermediateNode
Language\Intermediate\HtmlContentIntermediateNode.cs (1)
10
public sealed class HtmlContentIntermediateNode :
IntermediateNode
Language\Intermediate\IntermediateToken.cs (1)
6
public abstract class IntermediateToken :
IntermediateNode
Language\Intermediate\MalformedDirectiveIntermediateNode.cs (1)
11
public sealed class MalformedDirectiveIntermediateNode :
IntermediateNode
Language\Intermediate\MarkupBlockIntermediateNode.cs (1)
10
public sealed class MarkupBlockIntermediateNode :
IntermediateNode
Language\Intermediate\MarkupElementIntermediateNode.cs (1)
13
public sealed class MarkupElementIntermediateNode :
IntermediateNode
Language\Intermediate\MemberDeclarationIntermediateNode.cs (1)
6
public abstract class MemberDeclarationIntermediateNode :
IntermediateNode
Language\Intermediate\NamespaceDeclarationIntermediateNode.cs (1)
6
public sealed class NamespaceDeclarationIntermediateNode :
IntermediateNode
Language\Intermediate\ReferenceCaptureIntermediateNode.cs (1)
10
public sealed class ReferenceCaptureIntermediateNode :
IntermediateNode
Language\Intermediate\RenderModeIntermediateNode.cs (1)
9
public sealed class RenderModeIntermediateNode :
IntermediateNode
Language\Intermediate\SetKeyIntermediateNode.cs (1)
6
public sealed class SetKeyIntermediateNode :
IntermediateNode
Language\Intermediate\SplatIntermediateNode.cs (1)
6
public sealed class SplatIntermediateNode :
IntermediateNode
Language\Intermediate\TagHelperBodyIntermediateNode.cs (1)
10
public sealed class TagHelperBodyIntermediateNode :
IntermediateNode
Language\Intermediate\TagHelperDirectiveAttributeIntermediateNode.cs (1)
8
public sealed class TagHelperDirectiveAttributeIntermediateNode :
IntermediateNode
Language\Intermediate\TagHelperDirectiveAttributeParameterIntermediateNode.cs (1)
6
public sealed class TagHelperDirectiveAttributeParameterIntermediateNode :
IntermediateNode
Language\Intermediate\TagHelperHtmlAttributeIntermediateNode.cs (1)
6
public sealed class TagHelperHtmlAttributeIntermediateNode :
IntermediateNode
Language\Intermediate\TagHelperIntermediateNode.cs (1)
8
public sealed class TagHelperIntermediateNode :
IntermediateNode
Language\Intermediate\TagHelperPropertyIntermediateNode.cs (1)
6
public sealed class TagHelperPropertyIntermediateNode :
IntermediateNode
Language\Intermediate\UnresolvedAttributeIntermediateNode.cs (1)
11
internal sealed class UnresolvedAttributeIntermediateNode :
IntermediateNode
Language\Intermediate\UnresolvedAttributeValueIntermediateNode.cs (1)
19
internal sealed class UnresolvedAttributeValueIntermediateNode :
IntermediateNode
Language\Intermediate\UnresolvedElementIntermediateNode.cs (1)
14
internal sealed class UnresolvedElementIntermediateNode :
IntermediateNode
Language\Intermediate\UnresolvedExpressionAttributeValueIntermediateNode.cs (1)
19
internal sealed class UnresolvedExpressionAttributeValueIntermediateNode :
IntermediateNode
Language\Intermediate\UsingDirectiveIntermediateNode.cs (1)
10
public sealed class UsingDirectiveIntermediateNode :
IntermediateNode
516 references to IntermediateNode
Microsoft.AspNetCore.Mvc.Razor.Extensions.UnitTests (1)
ViewComponentTagHelperPassTest.cs (1)
55
foreach (
var
child in classNode.Children)
Microsoft.AspNetCore.Razor.Language.UnitTests (39)
Components\ComponentWhitespacePassTest.cs (1)
184
private static string GetContent(
IntermediateNode
node)
Components\NodeAssert.cs (5)
14
public static HtmlAttributeIntermediateNode Attribute(
IntermediateNode
node, string attributeName, string attributeValue)
40
public static HtmlContentIntermediateNode Content(
IntermediateNode
node, string content, bool trim = true)
63
public static HtmlAttributeIntermediateNode CSharpAttribute(
IntermediateNode
node, string attributeName, string attributeValue)
89
public static MarkupElementIntermediateNode Element(
IntermediateNode
node, string tagName)
104
public static HtmlContentIntermediateNode Whitespace(
IntermediateNode
node)
DefaultRazorTagHelperBinderPhaseTest.cs (2)
1314
private static void CollectTagHelperNodes(
IntermediateNode
node, System.Collections.Generic.List<TagHelperIntermediateNode> results)
1321
foreach (
var
child in node.Children)
DirectiveRemovalOptimizationPassTest.cs (6)
44
var
@namespace = documentNode.Children[0];
48
var
@class = @namespace.Children[0];
74
var
@namespace = documentNode.Children[0];
78
var
@class = @namespace.Children[0];
108
var
@namespace = documentNode.Children[0];
112
var
@class = @namespace.Children[0];
Extensions\FunctionsDirectivePassTest.cs (9)
57
var
@namespace = documentNode.Children[0];
62
var
@class = @namespace.Children[0];
68
var
method = @class.Children[0];
95
var
@namespace = documentNode.Children[0];
100
var
@class = @namespace.Children[0];
106
var
method = @class.Children[0];
136
var
@namespace = documentNode.Children[0];
141
var
@class = @namespace.Children[0];
149
var
method = @class.Children[0];
Extensions\InheritsDirectivePassTest.cs (1)
52
var
@namespace = documentNode.Children[0];
Extensions\MetadataAttributePassTest.cs (1)
394
var
child = Assert.Single(@namespace.Children);
Extensions\SectionDirectivePassTest.cs (2)
64
var
@namespace = documentNode.Children[0];
69
var
@class = @namespace.Children[0];
Intermediate\DefaultRazorIntermediateNodeBuilderTest.cs (4)
18
var
current = builder.Current;
81
var
result = builder.Pop();
101
var
result = builder.Pop();
203
var
result = builder.Build();
Intermediate\IntermediateNodeWalkerTest.cs (8)
19
var nodes = new
IntermediateNode
[]
41
var
root = builder.Pop();
56
var nodes = new
IntermediateNode
[]
97
var
root = builder.Pop();
105
public List<
IntermediateNode
> Visited { get; } = [];
107
public Action<
IntermediateNode
,
IntermediateNode
[]>? OnVisiting { get; set; }
109
public override void VisitDefault(
IntermediateNode
node)
Microsoft.AspNetCore.Razor.Test.Common (83)
Language\CodeGeneration\TestCodeRenderingContext.cs (1)
70
public override void VisitDefault(
IntermediateNode
node)
Language\IntegrationTests\IntermediateNodeSerializer.cs (2)
13
public static string Serialize(
IntermediateNode
node)
37
public override void VisitDefault(
IntermediateNode
node)
Language\IntegrationTests\IntermediateNodeVerifier.cs (17)
15
public static void Verify(
IntermediateNode
node, string[] baseline)
37
public override void VisitDefault(
IntermediateNode
node)
59
private static void AssertNodeEquals(
IntermediateNode
node, ReadOnlySpan<
IntermediateNode
> ancestors, string? expected, string actual)
85
IntermediateNode
node, ReadOnlySpan<
IntermediateNode
> ancestors, string expected, string actual, ref int charsVerified)
122
IntermediateNode
node, ReadOnlySpan<
IntermediateNode
> ancestors, string expected, string actual, ref int charsVerified)
172
IntermediateNode
node, ReadOnlySpan<
IntermediateNode
> ancestors, string expected, string actual, ref int charsVerified)
187
IntermediateNode
node, ReadOnlySpan<
IntermediateNode
> ancestors, string expected, string actual, ref int charsVerified)
225
public
IntermediateNode
Node { get; }
230
IntermediateNode
node,
231
ReadOnlySpan<
IntermediateNode
> ancestors,
242
private static string Format(ReadOnlySpan<
IntermediateNode
> ancestors, string? expected, string? actual, string userMessage)
266
foreach (
var
ancestor in ancestors)
Language\IntegrationTests\IntermediateNodeWriter.cs (6)
34
public override void VisitDefault(
IntermediateNode
node)
247
protected void WriteBasicNode(
IntermediateNode
node)
255
protected void WriteContentNode(
IntermediateNode
node, params string[] content)
290
protected void WriteName(
IntermediateNode
node)
308
protected void WriteSourceRange(
IntermediateNode
node)
337
protected void WriteDiagnostics(
IntermediateNode
node)
Language\Intermediate\IntermediateNodeAssert.cs (41)
18
public static TNode SingleChild<TNode>(
IntermediateNode
node)
29
var
child = node.Children[0];
33
public static void NoChildren(
IntermediateNode
node)
41
public static void Children(
IntermediateNode
node, params Action<
IntermediateNode
>[] validators)
67
public static void Html(string expected,
IntermediateNode
node)
87
public static void CSharpCode(string expected,
IntermediateNode
node)
107
public static void Directive(string expectedName,
IntermediateNode
node, params Action<
IntermediateNode
>[] childValidators)
122
public static void DirectiveToken(DirectiveTokenKind expectedKind, string expectedContent,
IntermediateNode
node)
136
public static void Using(string expected,
IntermediateNode
node)
153
IntermediateNode
node,
154
params Action<
IntermediateNode
>[] valueValidators)
172
public static void CSharpExpressionAttributeValue(string prefix, string expected,
IntermediateNode
node)
194
public static void LiteralAttributeValue(string prefix, string expected,
IntermediateNode
node)
216
public static void CSharpExpression(string expected,
IntermediateNode
node)
237
public static void BeginInstrumentation(string expected,
IntermediateNode
node)
257
public static void EndInstrumentation(
IntermediateNode
node)
277
internal static void TagHelperFieldDeclaration(
IntermediateNode
node, string typeFullName)
291
IntermediateNode
node,
314
IntermediateNode
node,
315
params Action<
IntermediateNode
>[] childValidators)
337
IntermediateNode
node,
338
params Action<
IntermediateNode
>[] valueValidators)
354
internal static void SetPreallocatedTagHelperProperty(
IntermediateNode
node, string attributeName, string propertyName)
373
IntermediateNode
node,
374
params Action<
IntermediateNode
>[] valueValidators)
393
public IntermediateNodeAssertException(
IntermediateNode
node, string userMessage)
399
public IntermediateNodeAssertException(
IntermediateNode
node, IEnumerable<
IntermediateNode
> nodes, string userMessage)
407
IntermediateNode
node,
408
IEnumerable<
IntermediateNode
> nodes,
418
IntermediateNode
node,
419
IntermediateNode
[] ancestors,
420
IEnumerable<
IntermediateNode
> nodes,
429
public
IntermediateNode
Node { get; }
431
public IEnumerable<
IntermediateNode
> Nodes { get; }
433
private static string Format(
IntermediateNode
[] ancestors, IEnumerable<
IntermediateNode
> nodes, string userMessage)
443
foreach (
var
n in nodes)
458
foreach (
var
ancestor in ancestors)
Language\Intermediate\IntermediateNodeExtensions.cs (12)
12
public static string GetCSharpContent(this
IntermediateNode
node)
16
foreach (
var
child in node.Children)
27
public static ImmutableArray<NamespaceDeclarationIntermediateNode> GetNamespaceNodes(this
IntermediateNode
node)
35
public static ImmutableArray<ClassDeclarationIntermediateNode> GetClassNodes(this
IntermediateNode
node)
43
public static ImmutableArray<MethodDeclarationIntermediateNode> GetMethodNodes(this
IntermediateNode
node)
51
public static ImmutableArray<ExtensionIntermediateNode> GetExtensionNodes(this
IntermediateNode
node)
59
public static ImmutableArray<TagHelperIntermediateNode> GetTagHelperNodes(this
IntermediateNode
node)
67
public static NamespaceDeclarationIntermediateNode GetNamespaceNode(this
IntermediateNode
node)
70
public static ClassDeclarationIntermediateNode GetClassNode(this
IntermediateNode
node)
73
public static MethodDeclarationIntermediateNode GetMethodNode(this
IntermediateNode
node)
76
public static ExtensionIntermediateNode GetExtensionNode(this
IntermediateNode
node)
79
public static TagHelperIntermediateNode GetTagHelperNode(this
IntermediateNode
node)
Language\RazorProjectEngineTestBase.cs (4)
120
protected static T FindDescendant<T>(
IntermediateNode
root) where T :
IntermediateNode
122
var stack = new System.Collections.Generic.Stack<
IntermediateNode
>();
126
var
current = stack.Pop();
Microsoft.CodeAnalysis.Razor.Compiler (392)
Language\CodeGeneration\CodeRenderingContext.cs (10)
22
private readonly Stack<
IntermediateNode
> _ancestorStack;
49
_ancestorStack = StackPool<
IntermediateNode
>.Default.Get();
68
StackPool<
IntermediateNode
>.Default.Return(_ancestorStack);
86
public
IntermediateNode
? Parent
112
public void AddSourceMappingFor(
IntermediateNode
node)
157
public void RenderChildren(
IntermediateNode
node)
171
public void RenderChildren(
IntermediateNode
node, IntermediateNodeWriter writer)
188
public void RenderNode(
IntermediateNode
node)
195
public void RenderNode(
IntermediateNode
node, IntermediateNodeWriter writer)
215
public void PushAncestor(
IntermediateNode
node)
Language\CodeGeneration\DesignTimeNodeWriter.cs (5)
66
foreach (
var
child in node.Children)
87
foreach (
var
child in node.Children)
150
var
firstChild = node.Children[0];
159
foreach (
var
child in node.Children)
204
foreach (
var
child in node.Children)
Language\CodeGeneration\IntermediateNodeWriter.cs (1)
95
foreach (
var
child in node.Children)
Language\CodeGeneration\RuntimeNodeWriter.cs (2)
106
foreach (
var
child in node.Children)
307
foreach (
var
child in node.Children)
Language\Components\ComponentBindLoweringPass.AttributeInfo.cs (2)
12
public
IntermediateNode
Node { get; }
38
IntermediateNode
node,
Language\Components\ComponentBindLoweringPass.BindEntryKey.cs (3)
11
private readonly record struct BindEntryKey(
IntermediateNode
Parent, string AttributeName)
13
public BindEntryKey(
IntermediateNode
parent, TagHelperDirectiveAttributeIntermediateNode node)
18
public BindEntryKey(
IntermediateNode
parent, TagHelperDirectiveAttributeParameterIntermediateNode node)
Language\Components\ComponentBindLoweringPass.cs (21)
77
var
parent = reference.Parent;
90
var
parent = parameterReference.Parent;
124
var
parent = parameterReference.Parent;
209
foreach (
var
newNode in newNodes)
220
using var _ = SpecializedPools.GetPooledReferenceEqualityHashSet<
IntermediateNode
>(out var parents);
232
foreach (
var
parent in parents)
238
private static void ProcessDuplicateAttributes(
IntermediateNode
node)
312
foreach (
var
child in children)
328
static void ReportDiagnosticAndRemoveDuplicates(
IntermediateNode
node)
380
private static ImmutableArray<
IntermediateNode
> RewriteUsage(
IntermediateNode
parent, BindEntry bindEntry)
510
var
targetNode = bindEntry.GetEffectiveBindNode();
564
using var builder = new PooledArrayBuilder<
IntermediateNode
>();
650
ref PooledArrayBuilder<
IntermediateNode
> builder,
690
IntermediateNode
parent,
1013
private static IntermediateToken GetAttributeContent(
IntermediateNode
node)
1040
static IntermediateToken GetToken(
IntermediateNode
node)
1060
foreach (
var
child in children)
1077
private static SourceSpan? GetOriginalPropertySpan(
IntermediateNode
node)
1138
public
IntermediateNode
GetEffectiveBindNode()
1143
_ => CantBothBeNullOrNonNull<
IntermediateNode
>()
Language\Components\ComponentComplexAttributeContentPass.cs (2)
57
private static void ProcessAttribute(
IntermediateNode
parent,
IntermediateNode
node, string attributeName)
Language\Components\ComponentDesignTimeNodeWriter.cs (9)
133
foreach (
var
child in node.Children)
154
foreach (
var
child in node.Children)
175
foreach (
var
child in node.Children)
265
foreach (
var
child in node.Children)
315
protected override void BeginWriteAttribute(CodeRenderingContext context,
IntermediateNode
expression)
363
foreach (
var
child in node.Children)
503
foreach (
var
child in node.Children)
893
private static ImmutableArray<CSharpIntermediateToken> GetCSharpTokens(
IntermediateNode
node)
939
foreach (
var
child in node.Children)
Language\Components\ComponentDiagnosticFactory.cs (1)
97
public static RazorDiagnostic Create_UnsupportedComplexContent(
IntermediateNode
node, string attributeName)
Language\Components\ComponentEventHandlerLoweringPass.cs (7)
39
using var _ = SpecializedPools.GetPooledReferenceEqualityHashSet<
IntermediateNode
>(out var parents);
55
foreach (
var
parent in parents)
93
private static void ProcessDuplicates(
IntermediateNode
parent)
161
private static
IntermediateNode
RewriteUsage(
IntermediateNode
parent, TagHelperDirectiveAttributeIntermediateNode node)
232
private static ImmutableArray<IntermediateToken> GetAttributeContent(
IntermediateNode
node)
256
private static
IntermediateNode
RewriteParameterUsage(TagHelperDirectiveAttributeParameterIntermediateNode node)
Language\Components\ComponentFormNameLoweringPass.cs (7)
31
var
parent = reference.Parent;
44
static
IntermediateNode
Rewrite(TagHelperDirectiveAttributeIntermediateNode node)
52
static
IntermediateNode
RewriteForErrorRecovery(TagHelperDirectiveAttributeIntermediateNode node,
IntermediateNode
parent)
72
IntermediateNode
result = child is CSharpExpressionIntermediateNode
84
static
IntermediateNode
RewriteCore(TagHelperDirectiveAttributeIntermediateNode node,
IntermediateNode
replacement)
Language\Components\ComponentGenericTypePass.cs (1)
183
foreach (
var
ancestor in Ancestors)
Language\Components\ComponentInjectDirectivePass.cs (2)
28
var
directive = visitor.Directives[i];
53
public IList<
IntermediateNode
> Directives { get; } = [];
Language\Components\ComponentLoweringPass.cs (10)
251
foreach (
var
child in node.Children)
296
foreach (
var
child in node.Children)
397
foreach (
var
child in intermediateNode.Children)
529
var
child = node.Children[i];
556
bool IsIgnorableWhitespace(
IntermediateNode
n)
584
var
child = children[i];
749
public override void VisitDefault(
IntermediateNode
node)
817
IntermediateNode
RewriteAttributeContent(
IntermediateNode
content)
857
public override void VisitDefault(
IntermediateNode
node)
Language\Components\ComponentMarkupBlockPass.cs (5)
80
var
candidate = reference.Parent.Children[start - 1];
106
var
node = reference.Parent.Children[start];
147
public override void VisitDefault(
IntermediateNode
node)
179
foreach (
var
ancestor in Ancestors)
321
foreach (
var
item in node.Body)
Language\Components\ComponentMarkupDiagnosticPass.cs (3)
28
private readonly Dictionary<string, (string name,
IntermediateNode
node)> _attributes = new(StringComparer.OrdinalIgnoreCase);
32
foreach (
var
child in node.Children)
75
foreach (
var
child in node.Children)
Language\Components\ComponentMarkupEncodingPass.cs (2)
96
foreach (
var
child in node.Children)
132
foreach (
var
child in node.Children)
Language\Components\ComponentNodeWriter.cs (2)
44
protected abstract void BeginWriteAttribute(CodeRenderingContext context,
IntermediateNode
expression);
412
foreach (
var
child in node.Component.Children)
Language\Components\ComponentPageDirective.cs (1)
25
public
IntermediateNode
DirectiveNode { get; }
Language\Components\ComponentRenderModeDirectivePass.cs (1)
36
var
child = directives[0].Node.Children.FirstOrDefault();
Language\Components\ComponentRenderModeLoweringPass.cs (2)
37
var
expression = node.Children[0] switch
40
IntermediateNode
token => token
Language\Components\ComponentRuntimeNodeWriter.cs (13)
31
foreach (
var
child in node.Children)
47
foreach (
var
child in node.Children)
107
foreach (
var
child in node.Children)
139
foreach (
var
child in node.Children)
187
foreach (
var
child in node.Children)
228
foreach (
var
child in node.Body)
411
foreach (
var
child in node.Children)
800
private static ImmutableArray<HtmlIntermediateToken> GetHtmlTokens(
IntermediateNode
node)
806
private static ImmutableArray<CSharpIntermediateToken> GetCSharpTokens(
IntermediateNode
node)
852
foreach (
var
child in node.Children)
1037
private void WriteAttribute(CodeRenderingContext context,
IntermediateNode
nameExpression, ImmutableArray<IntermediateToken> value)
1059
protected override void BeginWriteAttribute(CodeRenderingContext context,
IntermediateNode
nameExpression)
1078
foreach (
var
child in node.Children)
Language\Components\ComponentTemplateDiagnosticPass.cs (1)
53
foreach (
var
ancestor in Ancestors)
Language\Components\ComponentWhitespacePass.cs (2)
95
var
node = nodes[position];
183
public override void VisitDefault(
IntermediateNode
node)
Language\DefaultRazorCSharpLoweringPhase.cs (2)
145
foreach (
var
child in node.Children)
369
public override void VisitDefault(
IntermediateNode
node)
Language\DefaultRazorIntermediateNodeLoweringPhase.cs (14)
345
IntermediateNode
directiveNode;
409
IntermediateNode
directiveNode;
448
IntermediateNode
directiveNode;
487
IntermediateNode
directiveNode;
1007
protected void ComputeSourceSpanFromChildren(
IntermediateNode
node)
1108
foreach (
var
child in element.Children)
1194
IntermediateNode
legacyFallback = null;
1901
IntermediateNode
childNode = _insideUnresolvedAttribute
2200
public override
IntermediateNode
Current => _innerBuilder.Current;
2202
public override void Add(
IntermediateNode
node)
2208
public override
IntermediateNode
Build() => _innerBuilder.Build();
2210
public override void Insert(int index,
IntermediateNode
node)
2216
public override
IntermediateNode
Pop() => _innerBuilder.Pop();
2218
public override void Push(
IntermediateNode
node)
Language\DefaultTagHelperResolutionPhase.ComponentTagHelperResolver.cs (36)
53
IntermediateNode
convertedNode,
66
IntermediateNode
target,
75
IntermediateNode
target,
99
foreach (
var
child in elementNode.Children)
212
IntermediateNode
directiveNode = match.IsParameterMatch && directiveAttributeName.HasParameter
239
foreach (
var
vc in htmlAttrChild.Children)
420
private static void NormalizeBoundPropertyChildren(
IntermediateNode
prop, bool wrapLiteralsInCSharpExpression)
422
using var newChildren = new PooledArrayBuilder<
IntermediateNode
>();
424
foreach (
var
child in prop.Children)
451
foreach (
var
token in csharpExprAttrValue.Children)
524
private static void MergeAdjacentCSharpTokens(
IntermediateNode
node)
528
foreach (
var
child in node.Children)
555
foreach (
var
child in node.Children)
568
foreach (
var
inner in expr.Children)
597
IntermediateNode
target)
600
foreach (
var
child in htmlAttr.Children)
604
foreach (
var
valueChild in unresolvedLiteral.Children)
626
IntermediateNode
target)
629
foreach (
var
child in htmlAttr.Children)
637
foreach (
var
valueChild in unresolvedLiteral.Children)
700
private static void FlattenDirectiveChildrenToCSharpTokens(
IntermediateNode
directiveNode)
702
using var newChildren = new PooledArrayBuilder<
IntermediateNode
>();
703
foreach (
var
child in directiveNode.Children)
707
foreach (
var
token in child.Children)
724
foreach (
var
token in child.Children)
744
private static void ConvertExpressionAttributeValuesToCSharpExpression(
IntermediateNode
node)
748
var
child = node.Children[i];
819
IntermediateNode
parent,
834
foreach (
var
token in children)
876
IntermediateNode
directiveNode = match.IsParameterMatch && directiveAttributeName.HasParameter
949
private static void CopyAsTagHelperAttributeValues(HtmlAttributeIntermediateNode source,
IntermediateNode
target)
962
foreach (
var
child in source.Children)
990
foreach (
var
child in source.Children)
1060
var
lastChild = htmlAttr.Children[^1];
1135
public override void ConvertToPlainElement(
IntermediateNode
parent, int index, UnresolvedElementIntermediateNode elementNode)
1147
foreach (
var
child in elementNode.Children)
Language\DefaultTagHelperResolutionPhase.cs (42)
106
private void ResolveElements(
IntermediateNode
node, TagHelperBinder binder, string prefix, TagHelperCollection.Builder usedHelpers, in ResolutionContext context)
111
var
child = node.Children[i];
137
IntermediateNode
parent,
293
var
bodyChild = bodyNode.Children[i];
385
IntermediateNode
parent, int index,
424
private static void MergeAdjacentHtmlContent(
IntermediateNode
parent)
498
foreach (
var
child in bodyNode.Children)
528
foreach (
var
token in htmlContent.Children)
560
private static void ConvertUnresolvedValuesToBasicForm(HtmlAttributeIntermediateNode source,
IntermediateNode
target)
567
foreach (
var
child in source.Children)
570
foreach (
var
valueChild in unresolvedLiteral.Children)
593
foreach (
var
child in source.Children)
609
IntermediateNode
exprNode = unresolvedExpr.ContainsExpression
624
foreach (
var
valueChild in unresolvedExpr.Children)
651
ref PooledArrayBuilder<
IntermediateNode
> output,
658
foreach (
var
token in tokens)
674
foreach (
var
token in tokens)
692
private static void FlattenToDirectCSharpTokens(
IntermediateNode
source,
IntermediateNode
target)
709
foreach (
var
child in source.Children)
721
private void UnwrapAllElements(
IntermediateNode
node, DocumentIntermediateNode documentNode = null)
730
var
child = node.Children[i];
780
foreach (
var
child in htmlAttr.Children)
786
foreach (
var
token in child.Children)
839
IntermediateNode
target,
875
IntermediateNode
target,
915
IntermediateNode
target,
937
foreach (
var
token in attrValue.Children)
983
private static bool AreAllChildrenOfType<T>(IntermediateNodeCollection children) where T :
IntermediateNode
985
foreach (
var
child in children)
1025
foreach (
var
child in htmlAttr.Children)
1034
foreach (
var
valueChild in unresolvedValue.Children)
1063
IntermediateNode
parent,
1089
IntermediateNode
parent,
1173
private static bool HasOnlyWhitespaceContent(
IntermediateNode
node)
1175
foreach (
var
child in node.Children)
1186
foreach (
var
hc in htmlContent.Children)
1227
IntermediateNode
parent, int index,
1248
IntermediateNode
convertedNode,
1262
IntermediateNode
target,
1305
IntermediateNode
target,
1314
IntermediateNode
target,
Language\DefaultTagHelperResolutionPhase.LegacyTagHelperResolver.cs (60)
20
IntermediateNode
target,
29
IntermediateNode
target,
76
var
child = elementNode.Children[i];
341
foreach (
var
child in htmlAttr.Children)
399
foreach (
var
child in htmlAttr.Children)
425
foreach (
var
child in htmlAttr.Children)
450
private static void ConvertValueChildren(
IntermediateNode
targetNode, HtmlAttributeIntermediateNode htmlAttr, bool isBoundStringProperty, RazorSourceDocument sourceDocument)
472
foreach (
var
child in htmlAttr.Children)
532
private static void ConvertDynamicNonStringValueChildren(
IntermediateNode
targetNode, HtmlAttributeIntermediateNode htmlAttr, RazorSourceDocument sourceDocument)
536
foreach (
var
child in htmlAttr.Children)
559
private static void ConvertMixedLiteralAndExpressionValue(
IntermediateNode
targetNode, HtmlAttributeIntermediateNode htmlAttr, RazorSourceDocument sourceDocument)
564
foreach (
var
child in htmlAttr.Children)
615
private static void ConvertEscapedAtExpressionValue(
IntermediateNode
targetNode, HtmlAttributeIntermediateNode htmlAttr)
618
foreach (
var
child in htmlAttr.Children)
622
foreach (
var
token in hc2.Children)
646
foreach (
var
token in htmlAttrValue.Children)
686
var
firstInnerChild = csharpExprValue.Children[0];
694
foreach (
var
innerChild in csharpExprValue.Children)
699
var
lastInnerChild = csharpExprValue.Children[^1];
718
private static void ConvertPureCSharpExpressionValue(
IntermediateNode
targetNode, HtmlAttributeIntermediateNode htmlAttr, RazorSourceDocument sourceDocument)
746
foreach (
var
child in htmlAttr.Children)
750
foreach (
var
innerChild in csharpAttrVal.Children)
778
private static void UnwrapValueChildrenToTokens(
IntermediateNode
targetNode, HtmlAttributeIntermediateNode htmlAttr)
780
foreach (
var
child in htmlAttr.Children)
815
IntermediateNode
targetNode,
818
Func<CSharpIntermediateToken,
IntermediateNode
> createCSharpWrapper)
827
foreach (
var
innerChild in children)
831
var
wrapper = createCSharpWrapper(csharpToken);
881
foreach (
var
child in htmlAttr.Children)
916
foreach (
var
token in children)
928
private static void FlattenLiteralAttributeValue(
IntermediateNode
targetNode, HtmlAttributeIntermediateNode htmlAttr)
938
public override void ConvertToPlainElement(
IntermediateNode
parent, int index, UnresolvedElementIntermediateNode elementNode)
945
foreach (
var
child in elementNode.Children)
952
foreach (
var
lowered in container.Children)
976
private static int UnwrapHtmlAttribute(
IntermediateNode
parent, int insertIndex, HtmlAttributeIntermediateNode htmlAttr)
981
foreach (
var
attrChild in htmlAttr.Children)
1007
foreach (
var
attrChild in htmlAttr.Children)
1043
private static int UnwrapDataDashAttribute(
IntermediateNode
parent, int insertIndex, HtmlAttributeIntermediateNode htmlAttr, bool hasDynamicChildren)
1068
foreach (
var
attrChild in htmlAttr.Children)
1089
foreach (
var
innerChild in exprAttrValue.Children)
1119
private static void MergeAdjacentHtmlContent(
IntermediateNode
parent, int index, int insertIndex)
1163
foreach (
var
child in htmlAttr.Children)
1175
foreach (
var
token in htmlContent.Children)
1186
foreach (
var
exprChild in csharpAttrValue.Children)
1194
foreach (
var
innerToken in innerExpr.Children)
1229
IntermediateNode
target,
1260
foreach (
var
child in htmlAttr.Children)
1287
IntermediateNode
target,
1346
foreach (
var
child in htmlAttr.Children)
1380
IntermediateNode
target)
1391
IntermediateNode
target,
1407
IntermediateNode
target,
1414
var
child = htmlAttr.Children[i];
1418
foreach (
var
valueChild in unresolvedLiteral.Children)
1467
IntermediateNode
target,
1476
foreach (
var
child in htmlAttr.Children)
1483
foreach (
var
valueChild in unresolvedLiteral.Children)
1564
IntermediateNode
target,
1636
IntermediateNode
node,
1652
foreach (
var
child in node.Children)
Language\DocumentClassifierPassBase.cs (3)
58
var children = new List<
IntermediateNode
>(documentNode.Children);
136
var
child = children[i];
146
public override void VisitDefault(
IntermediateNode
node)
Language\Extensions\DefaultTagHelperTargetExtension.cs (3)
365
var
firstMappedChild = node.Children.FirstOrDefault(child => child.Source != null) as
IntermediateNode
;
518
IntermediateNode
node,
Language\Extensions\PreallocatedTagHelperAttributeOptimizationPass.cs (2)
60
foreach (
var
current in _classDeclaration.AssumeNotNull().Children)
109
foreach (
var
current in _classDeclaration.AssumeNotNull().Children)
Language\Extensions\ViewCssScopePass.cs (1)
45
var
child = node.Children[i];
Language\Intermediate\DefaultRazorIntermediateNodeBuilder.cs (11)
13
private readonly List<
IntermediateNode
> _stack;
18
_stack = new List<
IntermediateNode
>();
21
public override
IntermediateNode
Current
29
public override void Add(
IntermediateNode
node)
39
public override void Insert(int index,
IntermediateNode
node)
57
public override
IntermediateNode
Build()
59
IntermediateNode
node = null;
68
public override
IntermediateNode
Pop()
75
var
node = _stack[--_depth];
79
public override void Push(
IntermediateNode
node)
97
var
parent = _stack[_depth - 1];
Language\Intermediate\DocumentIntermediateNodeExtensions.cs (9)
33
private static T? FindNode<T>(
IntermediateNode
node, Func<T, bool> predicate)
34
where T :
IntermediateNode
36
using var stack = new PooledArrayBuilder<
IntermediateNode
>();
76
using var stack = new PooledArrayBuilder<(
IntermediateNode
node,
IntermediateNode
parent)>();
101
where TNode :
IntermediateNode
114
where TNode :
IntermediateNode
121
using var stack = new PooledArrayBuilder<(
IntermediateNode
node,
IntermediateNode
parent, bool visited)>();
Language\Intermediate\IntermediateNode.cs (1)
37
public void AddDiagnosticsFromNode(
IntermediateNode
node)
Language\Intermediate\IntermediateNodeBuilder.cs (7)
12
public static IntermediateNodeBuilder Create(
IntermediateNode
root)
24
public abstract
IntermediateNode
Current { get; }
26
public abstract void Add(
IntermediateNode
node);
28
public abstract void Insert(int index,
IntermediateNode
node);
30
public abstract
IntermediateNode
Build();
32
public abstract void Push(
IntermediateNode
node);
34
public abstract
IntermediateNode
Pop();
Language\Intermediate\IntermediateNodeCollection.cs (22)
13
public sealed class IntermediateNodeCollection : IList<
IntermediateNode
>, IReadOnlyList<
IntermediateNode
>
15
public static readonly IntermediateNodeCollection ReadOnly = new IntermediateNodeCollection(new List<
IntermediateNode
>().AsReadOnly());
17
private readonly IList<
IntermediateNode
> _inner;
20
: this(new List<
IntermediateNode
>())
24
private IntermediateNodeCollection(IList<
IntermediateNode
> inner)
29
public
IntermediateNode
this[int index]
55
public void Add(
IntermediateNode
item)
65
public void AddRange(IEnumerable<
IntermediateNode
> items)
72
foreach (
var
item in items)
92
internal void AddRange(in PooledArrayBuilder<
IntermediateNode
> items)
94
foreach (
var
item in items)
105
public bool Contains(
IntermediateNode
item)
110
public void CopyTo(
IntermediateNode
[] array, int arrayIndex)
134
IEnumerator<
IntermediateNode
> IEnumerable<
IntermediateNode
>.GetEnumerator()
144
public int IndexOf(
IntermediateNode
item)
154
public void Insert(int index,
IntermediateNode
item)
169
public bool Remove(
IntermediateNode
item)
189
public struct Enumerator : IEnumerator<
IntermediateNode
>
191
private readonly IList<
IntermediateNode
> _items;
205
public
IntermediateNode
Current
Language\Intermediate\IntermediateNodeExtensions.cs (11)
11
public static ImmutableArray<RazorDiagnostic> GetAllDiagnostics(this
IntermediateNode
node)
27
static void CollectDiagnostics(
IntermediateNode
node, ref PooledHashSet<RazorDiagnostic> diagnostics)
34
foreach (
var
childNode in node.Children)
41
public static ImmutableArray<TNode> FindDescendantNodes<TNode>(this
IntermediateNode
node)
42
where TNode :
IntermediateNode
50
internal static void CollectDescendantNodes<TNode>(this
IntermediateNode
root, ref PooledArrayBuilder<TNode> results)
51
where TNode :
IntermediateNode
53
using var stack = new PooledArrayBuilder<
IntermediateNode
>();
60
var
node = stack.Pop();
70
static void PushChildren(
IntermediateNode
node, ref PooledArrayBuilder<
IntermediateNode
> stack)
Language\Intermediate\IntermediateNodeFormatter.cs (6)
42
private static string GetNodeShortName(
IntermediateNode
node)
51
const string ShortNameSuffix = nameof(
IntermediateNode
);
70
foreach (
var
child in children)
99
public void FormatNode(
IntermediateNode
node)
155
public void FormatTree(
IntermediateNode
node)
212
public override void VisitDefault(
IntermediateNode
node)
Language\Intermediate\IntermediateNodeReference.cs (13)
13
public
IntermediateNode
Node { get; }
14
public
IntermediateNode
Parent { get; }
16
public IntermediateNodeReference(
IntermediateNode
node,
IntermediateNode
parent)
25
public void Deconstruct(out
IntermediateNode
node, out
IntermediateNode
parent)
52
public IntermediateNodeReference InsertAfter(
IntermediateNode
node)
62
public void InsertAfter(IEnumerable<
IntermediateNode
> nodes)
68
foreach (
var
node in nodes)
74
public IntermediateNodeReference InsertBefore(
IntermediateNode
node)
84
public void InsertBefore(IEnumerable<
IntermediateNode
> nodes)
90
foreach (
var
node in nodes)
103
public IntermediateNodeReference Replace(
IntermediateNode
node)
Language\Intermediate\IntermediateNodeReference`1.cs (9)
11
where T :
IntermediateNode
14
public
IntermediateNode
Parent { get; }
16
public IntermediateNodeReference(T node,
IntermediateNode
parent)
25
public void Deconstruct(out T node, out
IntermediateNode
parent)
35
where TNode :
IntermediateNode
42
public void InsertAfter(IEnumerable<
IntermediateNode
> nodes)
46
where TNode :
IntermediateNode
53
public void InsertBefore(IEnumerable<
IntermediateNode
> nodes)
60
where TNode :
IntermediateNode
Language\Intermediate\IntermediateNodeVisitor.cs (2)
8
public virtual void Visit(
IntermediateNode
node)
13
public virtual void VisitDefault(
IntermediateNode
node)
Language\Intermediate\IntermediateNodeWalker.cs (3)
12
protected ReadOnlySpan<
IntermediateNode
> Ancestors => _ancestorStack.Span;
14
protected
IntermediateNode
? Parent
17
public override void VisitDefault(
IntermediateNode
node)
Language\Intermediate\IntermediateNodeWalker.Stack.cs (6)
22
private
IntermediateNode
[]? _stack;
29
public readonly ReadOnlySpan<
IntermediateNode
> Span
31
? ReadOnlySpan<
IntermediateNode
>.Empty
34
public void Push(
IntermediateNode
node)
57
_stack = new
IntermediateNode
[InitialStackSize];
67
var newStack = new
IntermediateNode
[length * 2];
Language\Intermediate\MarkupElementIntermediateNode.cs (1)
21
public IEnumerable<
IntermediateNode
> Body => Children.Where(c =>
Language\Intermediate\UnresolvedAttributeIntermediateNode.cs (2)
49
public
IntermediateNode
? AsTagHelperAttribute { get; set; }
59
public
IntermediateNode
? AsMarkupAttribute { get; set; }
Mvc.Version2_X\InstrumentationPass.cs (5)
62
public InstrumentationItem(
IntermediateNode
node,
IntermediateNode
parent, bool isLiteral, SourceSpan source)
70
public
IntermediateNode
Node { get; }
72
public
IntermediateNode
Parent { get; }
113
var
child = node.Children[i];
Mvc\InjectDirective.cs (2)
67
var
directive = visitor.Directives[i];
114
public IList<
IntermediateNode
> Directives { get; } = [];
Mvc\PageDirective.cs (3)
27
private PageDirective(string routeTemplate,
IntermediateNode
directiveNode, SourceSpan? source)
36
public
IntermediateNode
DirectiveNode { get; }
91
public
IntermediateNode
DirectiveNode { get; private set; }
Mvc\ViewComponentTagHelperPass.cs (1)
131
where T :
IntermediateNode
Microsoft.CodeAnalysis.Razor.Workspaces (1)
Extensions\RazorCodeDocumentExtensions.cs (1)
95
.FindDescendantNodes<
IntermediateNode
>()