38 types derived from 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)
10BoundAttributeDescriptor 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)
13internal 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
458 references to IntermediateNode
Microsoft.CodeAnalysis.Razor.Compiler (458)
Language\CodeGeneration\CodeRenderingContext.cs (10)
22private readonly Stack<IntermediateNode> _ancestorStack; 50_ancestorStack = StackPool<IntermediateNode>.Default.Get(); 72StackPool<IntermediateNode>.Default.Return(_ancestorStack); 90public IntermediateNode? Parent 116public void AddSourceMappingFor(IntermediateNode node) 161public void RenderChildren(IntermediateNode node) 175public void RenderChildren(IntermediateNode node, IntermediateNodeWriter writer) 192public void RenderNode(IntermediateNode node) 199public void RenderNode(IntermediateNode node, IntermediateNodeWriter writer) 219public void PushAncestor(IntermediateNode node)
Language\CodeGeneration\IntermediateNodeWriter.cs (3)
106foreach (var child in node.Children) 307foreach (var child in node.Children) 435foreach (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) 437var targetNode = bindEntry.GetEffectiveBindNode(); 589using var builder = new PooledArrayBuilder<IntermediateNode>(); 677ref PooledArrayBuilder<IntermediateNode> builder, 717IntermediateNode parent, 1040private static IntermediateToken GetAttributeContent(IntermediateNode node) 1072static IntermediateToken GetToken(IntermediateNode node) 1092foreach (var child in children) 1109private static SourceSpan? GetOriginalPropertySpan(IntermediateNode node) 1170public IntermediateNode GetEffectiveBindNode() 1175_ => CantBothBeNullOrNonNull<IntermediateNode>()
Language\Components\ComponentComplexAttributeContentPass.cs (2)
57private static void ProcessAttribute(IntermediateNode parent, IntermediateNode node, string attributeName)
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\ComponentInjectIntermediateNode.cs (1)
50protected override IntermediateNode CloneNode()
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]; 759public override void VisitDefault(IntermediateNode node) 827IntermediateNode RewriteAttributeContent(IntermediateNode content) 867public override void VisitDefault(IntermediateNode node)
Language\Components\ComponentMarkupBlockPass.cs (5)
74var candidate = reference.Parent.Children[start - 1]; 100var node = reference.Parent.Children[start]; 141public override void VisitDefault(IntermediateNode node) 173foreach (var ancestor in Ancestors) 315foreach (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)
90foreach (var child in node.Children) 126foreach (var child in node.Children)
Language\Components\ComponentNodeWriter.cs (14)
410foreach (var child in node.Component.Children) 659foreach (var child in node.Children) 675foreach (var child in node.Children) 735foreach (var child in node.Children) 767foreach (var child in node.Children) 815foreach (var child in node.Children) 856foreach (var child in node.Body) 1039foreach (var child in node.Children) 1445private static ImmutableArray<HtmlIntermediateToken> GetHtmlTokens(IntermediateNode node) 1451private static ImmutableArray<CSharpIntermediateToken> GetCSharpTokens(IntermediateNode node) 1497foreach (var child in node.Children) 1682private void WriteAttribute(CodeRenderingContext context, IntermediateNode nameExpression, ImmutableArray<IntermediateToken> value) 1704private void BeginWriteAttribute(CodeRenderingContext context, IntermediateNode nameExpression) 1723foreach (var child in node.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\ComponentTemplateDiagnosticPass.cs (1)
53foreach (var ancestor in Ancestors)
Language\Components\ComponentTildePathPass.cs (5)
166private static CSharpIntermediateToken? TryExpandAssetPath(IntermediateNode ownerNode, IntermediateNode? valueContainer, string attributeName) 194private static IntermediateToken? GetSingleLiteralToken(IntermediateNode valueContainer) 201private static void ReportMixedContentDiagnostic(IntermediateNode node, string attributeName) 208foreach (var child in node.Children)
Language\Components\ComponentWhitespacePass.cs (2)
94var node = nodes[position]; 182public override void VisitDefault(IntermediateNode node)
Language\Components\RouteAttributeExtensionNode.cs (1)
17protected override IntermediateNode CloneNode()
Language\DefaultRazorIntermediateNodeLoweringPhase.cs (14)
341IntermediateNode directiveNode; 405IntermediateNode directiveNode; 444IntermediateNode directiveNode; 483IntermediateNode directiveNode; 1012protected void ComputeSourceSpanFromChildren(IntermediateNode node) 1113foreach (var child in element.Children) 1199IntermediateNode legacyFallback = null; 1926IntermediateNode childNode = _insideUnresolvedAttribute 2271public override IntermediateNode Current => _innerBuilder.Current; 2273public override void Add(IntermediateNode node) 2279public override IntermediateNode Build() => _innerBuilder.Build(); 2281public override void Insert(int index, IntermediateNode node) 2287public override IntermediateNode Pop() => _innerBuilder.Pop(); 2289public override void Push(IntermediateNode node)
Language\DefaultRazorMarkupSplitPhase.cs (8)
210foreach (var piece in member.DeclPieces) 218foreach (var classChild in primaryClass.Children) 229foreach (var nsChild in primaryNamespace.Children) 239foreach (var docChild in documentNode.Children) 268using var implChildren = new PooledArrayBuilder<IntermediateNode>(); 272foreach (var child in primaryClass.Children) 284foreach (var piece in member.ImplPieces) 293foreach (var child in implChildren)
Language\DefaultTagHelperResolutionPhase.ComponentTagHelperResolver.cs (37)
53IntermediateNode convertedNode, 63foreach (var child in originalNode.Children) 74IntermediateNode target, 83IntermediateNode target, 107foreach (var child in elementNode.Children) 225IntermediateNode directiveNode = match.IsParameterMatch && directiveAttributeName.HasParameter 252foreach (var vc in htmlAttrChild.Children) 435private static void NormalizeBoundPropertyChildren(IntermediateNode prop, bool wrapLiteralsInCSharpExpression) 437using var newChildren = new PooledArrayBuilder<IntermediateNode>(); 439foreach (var child in prop.Children) 466foreach (var token in csharpExprAttrValue.Children) 539private static void MergeAdjacentCSharpTokens(IntermediateNode node) 543foreach (var child in node.Children) 570foreach (var child in node.Children) 583foreach (var inner in expr.Children) 612IntermediateNode target) 615foreach (var child in htmlAttr.Children) 619foreach (var valueChild in unresolvedLiteral.Children) 641IntermediateNode target) 644foreach (var child in htmlAttr.Children) 652foreach (var valueChild in unresolvedLiteral.Children) 715private static void FlattenDirectiveChildrenToCSharpTokens(IntermediateNode directiveNode) 717using var newChildren = new PooledArrayBuilder<IntermediateNode>(); 718foreach (var child in directiveNode.Children) 722foreach (var token in child.Children) 739foreach (var token in child.Children) 759private static void ConvertExpressionAttributeValuesToCSharpExpression(IntermediateNode node) 763var child = node.Children[i]; 834IntermediateNode parent, 849foreach (var token in children) 891IntermediateNode directiveNode = match.IsParameterMatch && directiveAttributeName.HasParameter 965private static void CopyAsTagHelperAttributeValues(HtmlAttributeIntermediateNode source, IntermediateNode target) 978foreach (var child in source.Children) 1006foreach (var child in source.Children) 1076var lastChild = htmlAttr.Children[^1]; 1151public override void ConvertToPlainElement(IntermediateNode parent, int index, UnresolvedElementIntermediateNode elementNode) 1163foreach (var child in elementNode.Children)
Language\DefaultTagHelperResolutionPhase.cs (43)
106private void ResolveElements(IntermediateNode node, TagHelperBinder binder, string prefix, TagHelperCollection.Builder usedHelpers, in ResolutionContext context) 111var child = node.Children[i]; 138IntermediateNode parent, 304IntermediateNode parent, 337var child = parent.Children[i]; 440IntermediateNode parent, int index, 479private static void MergeAdjacentHtmlContent(IntermediateNode parent) 565foreach (var child in children) 595foreach (var token in htmlContent.Children) 627private static void ConvertUnresolvedValuesToBasicForm(HtmlAttributeIntermediateNode source, IntermediateNode target) 634foreach (var child in source.Children) 637foreach (var valueChild in unresolvedLiteral.Children) 660foreach (var child in source.Children) 676IntermediateNode exprNode = unresolvedExpr.ContainsExpression 691foreach (var valueChild in unresolvedExpr.Children) 718ref PooledArrayBuilder<IntermediateNode> output, 725foreach (var token in tokens) 741foreach (var token in tokens) 759private static void FlattenToDirectCSharpTokens(IntermediateNode source, IntermediateNode target) 776foreach (var child in source.Children) 788private void UnwrapAllElements(IntermediateNode node, DocumentIntermediateNode documentNode = null) 797var child = node.Children[i]; 847foreach (var child in htmlAttr.Children) 853foreach (var token in child.Children) 906IntermediateNode target, 942IntermediateNode target, 982IntermediateNode target, 1004foreach (var token in attrValue.Children) 1050private static bool AreAllChildrenOfType<T>(IntermediateNodeCollection children) where T : IntermediateNode 1052foreach (var child in children) 1092foreach (var child in htmlAttr.Children) 1101foreach (var valueChild in unresolvedValue.Children) 1132IntermediateNode parent, 1159IntermediateNode parent, 1244private static bool HasOnlyWhitespaceContent(IntermediateNode node) 1246foreach (var child in node.Children) 1257foreach (var hc in htmlContent.Children) 1298IntermediateNode parent, int index, 1319IntermediateNode convertedNode, 1333IntermediateNode target, 1376IntermediateNode target, 1385IntermediateNode target,
Language\DefaultTagHelperResolutionPhase.LegacyTagHelperResolver.cs (61)
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) 945IntermediateNode? firstInserted = null; 946foreach (var child in elementNode.Children) 953foreach (var lowered in container.Children) 991private static int UnwrapHtmlAttribute(IntermediateNode parent, int insertIndex, HtmlAttributeIntermediateNode htmlAttr) 996foreach (var attrChild in htmlAttr.Children) 1022foreach (var attrChild in htmlAttr.Children) 1058private static int UnwrapDataDashAttribute(IntermediateNode parent, int insertIndex, HtmlAttributeIntermediateNode htmlAttr, bool hasDynamicChildren) 1083foreach (var attrChild in htmlAttr.Children) 1104foreach (var innerChild in exprAttrValue.Children) 1134private static void MergeAdjacentHtmlContent(IntermediateNode parent, int index, int insertIndex) 1183foreach (var child in htmlAttr.Children) 1195foreach (var token in htmlContent.Children) 1206foreach (var exprChild in csharpAttrValue.Children) 1214foreach (var innerToken in innerExpr.Children) 1249IntermediateNode target, 1280foreach (var child in htmlAttr.Children) 1307IntermediateNode target, 1366foreach (var child in htmlAttr.Children) 1400IntermediateNode target) 1411IntermediateNode target, 1427IntermediateNode target, 1434var child = htmlAttr.Children[i]; 1438foreach (var valueChild in unresolvedLiteral.Children) 1487IntermediateNode target, 1496foreach (var child in htmlAttr.Children) 1503foreach (var valueChild in unresolvedLiteral.Children) 1584IntermediateNode target, 1656IntermediateNode node, 1672foreach (var child in node.Children)
Language\DocumentClassifierPassBase.cs (3)
59var children = new List<IntermediateNode>(documentNode.Children); 137var child = children[i]; 147public override void VisitDefault(IntermediateNode node)
Language\Extensions\DefaultTagHelperTargetExtension.cs (1)
427IntermediateNode node,
Language\Extensions\PreallocatedTagHelperAttributeOptimizationPass.cs (3)
54foreach (var current in _classDeclaration.AssumeNotNull().Children) 103foreach (var current in _classDeclaration.AssumeNotNull().Children) 144foreach (var child in node.Children)
Language\Extensions\RazorCompiledItemMetadataAttributeIntermediateNode.cs (1)
44protected override IntermediateNode CloneNode()
Language\Extensions\SectionIntermediateNode.cs (1)
28protected override IntermediateNode CloneNode()
Language\Extensions\TemplateIntermediateNode.cs (1)
26protected override IntermediateNode CloneNode()
Language\Extensions\ViewCssScopePass.cs (1)
45var child = node.Children[i];
Language\Intermediate\ClassDeclarationIntermediateNode.cs (1)
27protected override IntermediateNode CloneNode()
Language\Intermediate\ComponentTypeArgumentIntermediateNode.cs (2)
70private static void AppendTokens(IntermediateNode node, StringBuilder sb, ref SourceSpan? firstSpan, ref SourceSpan? lastSpan) 72foreach (var child in node.Children)
Language\Intermediate\CSharpCodeAttributeValueIntermediateNode.cs (1)
26protected override IntermediateNode CloneNode()
Language\Intermediate\CSharpCodeIntermediateNode.cs (1)
24protected override IntermediateNode CloneNode()
Language\Intermediate\CSharpExpressionAttributeValueIntermediateNode.cs (1)
26protected override IntermediateNode CloneNode()
Language\Intermediate\CSharpExpressionIntermediateNode.cs (1)
24protected override IntermediateNode CloneNode()
Language\Intermediate\CSharpIntermediateToken.cs (1)
18protected override IntermediateNode CloneNode()
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\DirectiveIntermediateNode.cs (1)
26protected override IntermediateNode CloneNode()
Language\Intermediate\DirectiveTokenIntermediateNode.cs (1)
23protected override IntermediateNode CloneNode()
Language\Intermediate\DocumentIntermediateNode.cs (1)
73protected override IntermediateNode CloneNode()
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\FieldDeclarationIntermediateNode.cs (1)
23protected override IntermediateNode CloneNode()
Language\Intermediate\HtmlAttributeIntermediateNode.cs (1)
37protected override IntermediateNode CloneNode()
Language\Intermediate\HtmlAttributeValueIntermediateNode.cs (1)
26protected override IntermediateNode CloneNode()
Language\Intermediate\HtmlContentIntermediateNode.cs (1)
26protected override IntermediateNode CloneNode()
Language\Intermediate\HtmlIntermediateToken.cs (1)
18protected override IntermediateNode CloneNode()
Language\Intermediate\IntermediateNode.cs (5)
46public void AddDiagnosticsFromNode(IntermediateNode node) 91internal virtual IntermediateNode Clone() 93var clone = CloneNode(); 99foreach (var child in Children) 114protected virtual IntermediateNode CloneNode()
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 (17)
13public sealed partial class IntermediateNodeCollection : IList<IntermediateNode>, IReadOnlyList<IntermediateNode> 23public IntermediateNode this[int index] 61public void Add(IntermediateNode item) 70public void AddRange(IEnumerable<IntermediateNode> items) 76foreach (var item in items) 97internal void AddRange(in PooledArrayBuilder<IntermediateNode> items) 101foreach (var item in items) 115public bool Contains(IntermediateNode item) 120public void CopyTo(IntermediateNode[] array, int arrayIndex) 141IEnumerator<IntermediateNode> IEnumerable<IntermediateNode>.GetEnumerator() 151public int IndexOf(IntermediateNode item) 158public void Insert(int index, IntermediateNode item) 172public bool Remove(IntermediateNode item) 200public struct Enumerator : IEnumerator<IntermediateNode> 213public IntermediateNode Current
Language\Intermediate\IntermediateNodeCollection.InlineList.cs (14)
26private IntermediateNode _single; 27private IntermediateNode[] _items; 32public IntermediateNode this[int index] 67public void Add(IntermediateNode item) 79_items = ArrayPool<IntermediateNode>.Shared.Rent(4); 95public void Insert(int index, IntermediateNode item) 107_items = ArrayPool<IntermediateNode>.Shared.Rent(4); 150ArrayPool<IntermediateNode>.Shared.Return(_items, clearArray: true); 171ArrayPool<IntermediateNode>.Shared.Return(_items, clearArray: false); 182public readonly int IndexOf(IntermediateNode item) 189if (_count == 1 && EqualityComparer<IntermediateNode>.Default.Equals(_single, item)) 197public readonly void CopyTo(IntermediateNode[] array, int arrayIndex) 218var newArray = ArrayPool<IntermediateNode>.Shared.Rent(newCapacity); 221ArrayPool<IntermediateNode>.Shared.Return(oldArray, clearArray: true);
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\MalformedDirectiveIntermediateNode.cs (1)
26protected override IntermediateNode CloneNode()
Language\Intermediate\MarkupElementIntermediateNode.cs (2)
21public IEnumerable<IntermediateNode> Body => Children.Where(c => 45protected override IntermediateNode CloneNode()
Language\Intermediate\MethodDeclarationIntermediateNode.cs (1)
26protected override IntermediateNode CloneNode()
Language\Intermediate\NamespaceDeclarationIntermediateNode.cs (1)
24protected override IntermediateNode CloneNode()
Language\Intermediate\PropertyDeclarationIntermediateNode.cs (1)
21protected override IntermediateNode CloneNode()
Language\Intermediate\UnresolvedAttributeIntermediateNode.cs (4)
57public IntermediateNode? AsTagHelperAttribute { get; set; } 67public IntermediateNode? AsMarkupAttribute { get; set; } 82protected override IntermediateNode CloneNode() 101internal override IntermediateNode Clone()
Language\Intermediate\UnresolvedAttributeValueIntermediateNode.cs (1)
31protected override IntermediateNode CloneNode()
Language\Intermediate\UnresolvedElementIntermediateNode.cs (1)
76protected override IntermediateNode CloneNode()
Language\Intermediate\UnresolvedExpressionAttributeValueIntermediateNode.cs (1)
38protected override IntermediateNode CloneNode()
Language\Intermediate\UsingDirectiveIntermediateNode.cs (1)
30protected override IntermediateNode CloneNode()
Language\MarkupSplitter.Analysis.cs (6)
32internal static AnalysisDocument BuildAnalysisDocument(ImmutableArray<IntermediateNode> children) 39foreach (var child in children) 74internal static bool IsExpressionPositionMarkup(IntermediateNode node) 79foreach (var child in node.Children) 97public ChildSpan(int start, int length, IntermediateNode node) 110public IntermediateNode Node { get; }
Language\MarkupSplitter.Classify.cs (2)
130var pieceBuilders = new List<IntermediateNode>[memberSpans.Length]; 176List<IntermediateNode>[] pieceBuilders)
Language\MarkupSplitter.cs (7)
121foreach (var child in primaryClass.Children) 149internal static bool IsClassBodyMarkup(IntermediateNode node) 167internal static bool IsMarkupNode(IntermediateNode node) 179internal static bool IsSupportedClassBodyNode(IntermediateNode node) 187internal static ImmutableArray<IntermediateNode> CollectClassBodyChildren( 191using var builder = new PooledArrayBuilder<IntermediateNode>(); 193foreach (var child in primaryClass.Children)
Language\MarkupSplitter.Slicing.cs (1)
42foreach (var child in node.Children)
Language\RazorCSharpDocumentWriter.cs (2)
181foreach (var child in node.Children) 405public override void VisitDefault(IntermediateNode node)
Language\SplitDecision.cs (4)
101ImmutableArray<IntermediateNode> declPieces, 102ImmutableArray<IntermediateNode> implPieces) 109public ImmutableArray<IntermediateNode> DeclPieces { get; } 112public ImmutableArray<IntermediateNode> ImplPieces { get; }
Mvc.Version2_X\InstrumentationPass.cs (5)
57public InstrumentationItem(IntermediateNode node, IntermediateNode parent, bool isLiteral, SourceSpan source) 65public IntermediateNode Node { get; } 67public IntermediateNode Parent { get; } 108var child = node.Children[i];
Mvc\InjectDirective.cs (2)
67var directive = visitor.Directives[i]; 114public IList<IntermediateNode> Directives { get; } = [];
Mvc\InjectIntermediateNode.cs (1)
37protected override IntermediateNode CloneNode()
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