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