2 types derived from TagHelperCollection
Microsoft.CodeAnalysis.Razor.Compiler (2)
Language\TagHelperCollection.EmptyCollection.cs (1)
14private sealed class EmptyCollection : TagHelperCollection
Language\TagHelperCollection.SegmentCollectionBase.cs (1)
24private abstract class SegmentCollectionBase : TagHelperCollection
218 references to TagHelperCollection
Microsoft.CodeAnalysis.Razor.Compiler (212)
CSharp\CompilationTagHelperFeature.cs (1)
19public TagHelperCollection GetTagHelpers(CancellationToken cancellationToken = default)
Language\DefaultRazorTagHelperContextDiscoveryPhase.cs (14)
25if (!codeDocument.TryGetTagHelpers(out var tagHelpers)) 84private TagHelperCollection.Builder? _matches; 87private TagHelperCollection.Builder Matches => _matches ??= []; 108public TagHelperCollection GetResults() => _matches?.ToCollection() ?? []; 137protected void RecordDirectiveTagHelperContribution(BaseRazorDirectiveSyntax directive, TagHelperCollection contributedTagHelpers) 219private TagHelperCollection? _tagHelpers; 240var tagHelpers = _tagHelpers.AssumeNotNull(); 269TagHelperCollection tagHelpers, 361RecordDirectiveTagHelperContribution(node, TagHelperCollection.Create(contributed)); 431TagHelperCollection tagHelpers, 563RecordDirectiveTagHelperContribution(node, TagHelperCollection.Empty); 567var contributedTagHelpers = TagHelperCollection.Empty; 586contributedTagHelpers = TagHelperCollection.Create(components);
Language\DefaultRazorTagHelperContextDiscoveryPhase_Pooling.cs (1)
32TagHelperCollection tagHelpers,
Language\DefaultRazorTagHelperRewritePhase.cs (1)
30using var usedHelpers = new TagHelperCollection.Builder();
Language\DefaultTagHelperResolutionPhase.cs (6)
70using var usedHelpers = new TagHelperCollection.Builder(); 106private void ResolveElements(IntermediateNode node, TagHelperBinder binder, string prefix, TagHelperCollection.Builder usedHelpers, in ResolutionContext context) 142TagHelperCollection.Builder usedHelpers, 214TagHelperCollection.Builder usedHelpers, 282TagHelperCollection.Builder usedHelpers, 383TagHelperCollection.Builder usedHelpers,
Language\DirectiveTagHelperContribution.cs (1)
14TagHelperCollection ContributedTagHelpers);
Language\Intermediate\TagHelperIntermediateNode.cs (1)
18public TagHelperCollection TagHelpers { get; init => field = value ?? []; } = [];
Language\ITagHelperDiscoveryService.cs (2)
12TagHelperCollection GetTagHelpers(Compilation compilation, TagHelperDiscoveryOptions options, CancellationToken cancellationToken = default); 13TagHelperCollection GetTagHelpers(Compilation compilation, CancellationToken cancellationToken = default);
Language\ITagHelperFeature.cs (1)
10TagHelperCollection GetTagHelpers(CancellationToken cancellationToken = default);
Language\Legacy\TagHelperBlockRewriter.cs (4)
226TagHelperCollection tagHelpers, 263TagHelperCollection tagHelpers, 475private static string GetPropertyType(string name, TagHelperCollection tagHelpers) 493TagHelperCollection tagHelpers,
Language\Legacy\TagHelperParseTreeRewriter.cs (3)
21TagHelperCollection.Builder? usedDescriptors = null, 60TagHelperCollection.Builder? usedDescriptors, 72private readonly TagHelperCollection.Builder? _usedDescriptors = usedDescriptors;
Language\Legacy\TagHelperSpanInternal.cs (1)
8public TagHelperCollection TagHelpers => Binding.TagHelpers;
Language\RazorCodeDocument.cs (12)
24private readonly TagHelperCollection? _tagHelpers; 25private readonly TagHelperCollection? _referencedTagHelpers; 45TagHelperCollection? tagHelpers, 46TagHelperCollection? referencedTagHelpers, 102internal bool TryGetTagHelpers([NotNullWhen(true)] out TagHelperCollection? result) 108internal TagHelperCollection? GetTagHelpers() 111internal TagHelperCollection GetRequiredTagHelpers() 114internal RazorCodeDocument WithTagHelpers(TagHelperCollection? value) 123internal bool TryGetReferencedTagHelpers([NotNullWhen(true)] out TagHelperCollection? result) 129internal TagHelperCollection? GetReferencedTagHelpers() 132internal TagHelperCollection GetRequiredReferencedTagHelpers() 135internal RazorCodeDocument WithReferencedTagHelpers(TagHelperCollection value)
Language\RazorCodeDocumentExtensions.cs (3)
179if (!codeDocument.TryGetReferencedTagHelpers(out var referencedTagHelpers)) 195TagHelperCollection contributedTagHelpers, 196TagHelperCollection referencedTagHelpers)
Language\RazorProjectEngine.cs (4)
73TagHelperCollection? tagHelpers, 99TagHelperCollection? tagHelpers, 124TagHelperCollection? tagHelpers, 148TagHelperCollection? tagHelpers,
Language\RazorProjectEngineExtensions.cs (5)
34TagHelperCollection tagHelpers) 41TagHelperCollection tagHelpers) 48TagHelperCollection tagHelpers) 56TagHelperCollection tagHelpers) 64TagHelperCollection? tagHelpers = null)
Language\SymbolCache.AssemblySymbolData.cs (4)
18private readonly ConcurrentDictionary<int, TagHelperCollection> _tagHelpers = []; 20public bool TryGetTagHelpers(int key, [NotNullWhen(true)] out TagHelperCollection? value) 23public TagHelperCollection AddTagHelpers(int key, TagHelperCollection value)
Language\TagHelperBinder.cs (3)
22public TagHelperCollection TagHelpers { get; } 30public TagHelperBinder(string? tagNamePrefix, TagHelperCollection tagHelpers) 39TagHelperCollection descriptors,
Language\TagHelperBinding.cs (4)
18private LazyValue<ImmutableArray<TagHelperBoundRulesInfo>, TagHelperCollection> _lazyTagHelpers = new(static allBoundRules => 19TagHelperCollection.Build(allBoundRules, initialCapacity: allBoundRules.Length, static (ref builder, allBoundRules) => 43public TagHelperCollection TagHelpers => _lazyTagHelpers.GetValue(AllBoundRules); 64static bool ComputeIsAttributeMatch(TagHelperCollection tagHelpers)
Language\TagHelperCollection.Builder.cs (2)
82public void AddRange(TagHelperCollection items) 130public TagHelperCollection ToCollection()
Language\TagHelperCollection.cs (17)
18/// <see cref="TagHelperCollection"/> provides high-performance access to tag helper descriptors with 34[CollectionBuilder(typeof(TagHelperCollection), methodName: "Create")] 35public abstract partial class TagHelperCollection : IEquatable<TagHelperCollection>, IReadOnlyList<TagHelperDescriptor> 38/// Gets an empty <see cref="TagHelperCollection"/>. 43public static TagHelperCollection Empty => EmptyCollection.Instance; 101/// Determines whether the specified object is equal to the current <see cref="TagHelperCollection"/>. 105/// <see langword="true"/> if the specified object is a <see cref="TagHelperCollection"/> that contains 109=> obj is TagHelperCollection other && Equals(other); 112/// Determines whether the specified <see cref="TagHelperCollection"/> is equal to the current collection. 123public bool Equals(TagHelperCollection? other) 144/// Returns a hash code for the current <see cref="TagHelperCollection"/>. 227/// Filters the collection based on a predicate and returns a new <see cref="TagHelperCollection"/> 234/// A new <see cref="TagHelperCollection"/> that contains the tag helper descriptors from the 251public TagHelperCollection Where<TState>(TState state, Func<TagHelperDescriptor, TState, bool> predicate) 308/// Filters the collection based on a predicate and returns a new <see cref="TagHelperCollection"/> 313/// A new <see cref="TagHelperCollection"/> that contains the tag helper descriptors from the 326public TagHelperCollection Where(Predicate<TagHelperDescriptor> predicate)
Language\TagHelperCollection.Enumerator.cs (2)
12public struct Enumerator(TagHelperCollection collection) : IDisposable 67private sealed class EnumeratorImpl(TagHelperCollection collection) : IEnumerator<TagHelperDescriptor>
Language\TagHelperCollection.FixedSizeBuilder.cs (2)
58public void AddRange(TagHelperCollection collection) 99public readonly TagHelperCollection ToCollection()
Language\TagHelperCollection.RefBuilder.cs (2)
80public void AddRange(TagHelperCollection collection) 116public readonly TagHelperCollection ToCollection()
Language\TagHelperCollection.SegmentAccessor.cs (3)
11/// Provides read-only access to segments within a <see cref="TagHelperCollection"/>, 17private readonly ref struct SegmentAccessor(TagHelperCollection collection) 28private struct SegmentEnumerator(TagHelperCollection collection)
Language\TagHelperCollection.SegmentBuilder.cs (1)
97public readonly TagHelperCollection ToCollection()
Language\TagHelperCollection.SegmentCollectionBase.cs (2)
26private LazyValue<TagHelperCollection, Dictionary<Checksum, int>> _lazyLookupTable = new(collection => 42private LazyValue<TagHelperCollection, Checksum> _lazyChecksum = new(collection =>
Language\TagHelperCollection_Factories.cs (56)
18/// Creates a new <see cref="TagHelperCollection"/> from the specified span of tag helper descriptors. 22/// A new <see cref="TagHelperCollection"/> containing the specified descriptors with automatic 33public static TagHelperCollection Create(ReadOnlySpan<TagHelperDescriptor> span) 42static TagHelperCollection BuildCollection(ReadOnlySpan<TagHelperDescriptor> span) 53/// Creates a new <see cref="TagHelperCollection"/> from the specified immutable array of tag helper descriptors. 57/// A new <see cref="TagHelperCollection"/> containing the specified descriptors with automatic 77public static TagHelperCollection Create(params ImmutableArray<TagHelperDescriptor> array) 91static TagHelperCollection BuildCollection(ReadOnlyMemory<TagHelperDescriptor> segment) 102/// Creates a new <see cref="TagHelperCollection"/> from the specified enumerable of tag helper descriptors. 106/// A new <see cref="TagHelperCollection"/> containing the specified descriptors with automatic 121public static TagHelperCollection Create(IEnumerable<TagHelperDescriptor> source) 152/// Merges multiple <see cref="TagHelperCollection"/> instances into a single collection. 156/// A new <see cref="TagHelperCollection"/> containing all unique tag helper descriptors from 171public static TagHelperCollection Merge(params ReadOnlySpan<TagHelperCollection> collections) 192static PooledArray<TagHelperCollection> CollectMergeableCollections( 193ReadOnlySpan<TagHelperCollection> collections, out ReadOnlySpan<TagHelperCollection> result) 195var pooledArray = ArrayPool<TagHelperCollection>.Shared.GetPooledArraySpan( 201foreach (var collection in collections) 214static TagHelperCollection MergeMultipleCollections(ReadOnlySpan<TagHelperCollection> collections) 221foreach (var collection in collections) 228foreach (var collection in collections) 241/// Merges multiple <see cref="TagHelperCollection"/> instances into a single collection. 245/// A new <see cref="TagHelperCollection"/> containing all unique tag helper descriptors from 249/// This method delegates to <see cref="Merge(ReadOnlySpan{TagHelperCollection})"/> for efficient 252public static TagHelperCollection Merge(ImmutableArray<TagHelperCollection> collections) 256/// Merges multiple <see cref="TagHelperCollection"/> instances into a single collection. 260/// A new <see cref="TagHelperCollection"/> containing all unique tag helper descriptors from 274public static TagHelperCollection Merge(IEnumerable<TagHelperCollection> source) 278using var _ = ArrayPool<TagHelperCollection>.Shared.GetPooledArraySpan( 287using var builder = new MemoryBuilder<TagHelperCollection>(clearArray: true); 289foreach (var collection in source) 298/// Merges two <see cref="TagHelperCollection"/> instances into a single collection. 303/// A new <see cref="TagHelperCollection"/> containing all unique tag helper descriptors from 316public static TagHelperCollection Merge(TagHelperCollection first, TagHelperCollection second) 333using var _ = ArrayPool<TagHelperCollection>.Shared.GetPooledArraySpan( 346/// Builds a new <see cref="TagHelperCollection"/> using a builder pattern with state. 352/// A new <see cref="TagHelperCollection"/> built according to the specified action. 365public static TagHelperCollection Build<TState>(TState state, BuildAction<TState> action) 373/// Builds a new <see cref="TagHelperCollection"/> using a builder pattern with state and initial capacity. 380/// A new <see cref="TagHelperCollection"/> built according to the specified action. 392public static TagHelperCollection Build<TState>(TState state, int initialCapacity, BuildAction<TState> action) 399private static TagHelperCollection BuildCore<TState>(ref RefBuilder builder, TState state, BuildAction<TState> action) 413/// Builds a new <see cref="TagHelperCollection"/> using a builder pattern. 417/// A new <see cref="TagHelperCollection"/> built according to the specified action. 424public static TagHelperCollection Build(BuildAction action) 432/// Builds a new <see cref="TagHelperCollection"/> using a builder pattern with initial capacity. 437/// A new <see cref="TagHelperCollection"/> built according to the specified action. 443public static TagHelperCollection Build(int initialCapacity, BuildAction action) 450private static TagHelperCollection BuildCore(ref RefBuilder builder, BuildAction action)
Language\TagHelperDiscoverer.cs (5)
49public TagHelperCollection GetTagHelpers(IAssemblySymbol assembly, CancellationToken cancellationToken = default) 53return TagHelperCollection.Empty; 60return TagHelperCollection.Empty; 68if (assemblySymbolData.TryGetTagHelpers(_cacheKey, out var tagHelpers)) 74var builder = new TagHelperCollection.RefBuilder();
Language\TagHelperDiscoveryService.cs (8)
22public TagHelperCollection GetTagHelpers( 28public TagHelperCollection GetTagHelpers( 33private TagHelperCollection GetTagHelpersForCompilation( 42return TagHelperCollection.Empty; 45using var collections = new MemoryBuilder<TagHelperCollection>(initialCapacity: 512, clearArray: true); 49var collection = discoverer.GetTagHelpers(compilationAssembly, cancellationToken); 62var collection = discoverer.GetTagHelpers(referenceAssembly, cancellationToken); 70return TagHelperCollection.Merge(collections.AsMemory().Span);
Language\TagHelperDocumentContext.cs (4)
17public TagHelperCollection TagHelpers { get; } 21private TagHelperDocumentContext(string? prefix, TagHelperCollection tagHelpers) 27public static TagHelperDocumentContext GetOrCreate(TagHelperCollection tagHelpers) 30public static TagHelperDocumentContext GetOrCreate(string? prefix, TagHelperCollection tagHelpers)
Language\TagHelperMatchingConventions.cs (2)
183public static bool HasAttributeMatches(TagHelperCollection tagHelpers, string name) 207TagHelperCollection tagHelpers,
Language\TagHelpers\Producers\BindTagHelperProducer.cs (3)
101public override void AddStaticTagHelpers(IAssemblySymbol assembly, ref TagHelperCollection.RefBuilder results) 121ref TagHelperCollection.RefBuilder results, 391public void AddTagHelpersForComponent(TagHelperDescriptor tagHelper, ref TagHelperCollection.RefBuilder results)
Language\TagHelpers\Producers\ComponentTagHelperProducer.cs (1)
37ref TagHelperCollection.RefBuilder results,
Language\TagHelpers\Producers\DefaultTagHelperProducer.cs (1)
30ref TagHelperCollection.RefBuilder results,
Language\TagHelpers\Producers\EventHandlerTagHelperProducer.cs (1)
31ref TagHelperCollection.RefBuilder results,
Language\TagHelpers\Producers\FormNameTagHelperProducer.cs (1)
25public override void AddStaticTagHelpers(IAssemblySymbol assembly, ref TagHelperCollection.RefBuilder results)
Language\TagHelpers\Producers\KeyTagHelperProducer.cs (1)
25public override void AddStaticTagHelpers(IAssemblySymbol assembly, ref TagHelperCollection.RefBuilder results)
Language\TagHelpers\Producers\RefTagHelperProducer.cs (1)
25public override void AddStaticTagHelpers(IAssemblySymbol assembly, ref TagHelperCollection.RefBuilder results)
Language\TagHelpers\Producers\RenderModeTagHelperProducer.cs (1)
25public override void AddStaticTagHelpers(IAssemblySymbol assembly, ref TagHelperCollection.RefBuilder results)
Language\TagHelpers\Producers\SplatTagHelperProducer.cs (1)
25public override void AddStaticTagHelpers(IAssemblySymbol assembly, ref TagHelperCollection.RefBuilder results)
Language\TagHelpers\Producers\TagHelperProducer.cs (2)
28public virtual void AddStaticTagHelpers(IAssemblySymbol assembly, ref TagHelperCollection.RefBuilder results) 40ref TagHelperCollection.RefBuilder results,
Mvc.Version1_X\ViewComponentTagHelperProducer.cs (1)
37ref TagHelperCollection.RefBuilder results,
Mvc.Version2_X\ViewComponentTagHelperProducer.cs (1)
37ref TagHelperCollection.RefBuilder results,
Mvc\ViewComponentTagHelperProducer.cs (1)
37ref TagHelperCollection.RefBuilder results,
SourceGenerators\RazorGeneratorResult.cs (2)
9internal sealed class RazorGeneratorResult(TagHelperCollection tagHelpers, ImmutableDictionary<string, (string hintName, RazorCodeDocument document)> filePathToDocument, ImmutableDictionary<string, string> hintNameToFilePath) 11public TagHelperCollection TagHelpers => tagHelpers;
SourceGenerators\RazorSourceGenerator.cs (5)
128var collection = tagHelperFeature.GetTagHelpers(compilation.Assembly, cancellationToken); 222using var collections = new MemoryBuilder<TagHelperCollection>(initialCapacity: 512, clearArray: true); 228var collection = tagHelperFeature.GetTagHelpers(assembly, cancellationToken); 238return TagHelperCollection.Merge(collections.AsMemory().Span); 246return TagHelperCollection.Merge(pair.Left, pair.Right);
SourceGenerators\SourceGeneratorProjectEngine.cs (10)
69TagHelperCollection tagHelpers, 78if (checkForIdempotency && codeDocument.TryGetTagHelpers(out var previousTagHelpers)) 88var previousTagHelpersInScope = codeDocument.GetRequiredTagHelperContext().TagHelpers; 89var previousUsedTagHelpers = codeDocument.GetRequiredReferencedTagHelpers(); 95var newTagHelpersInScope = codeDocument.GetRequiredTagHelperContext().TagHelpers; 120TagHelperCollection newTagHelpers, 121TagHelperCollection previousTagHelpers, 122TagHelperCollection previousUsedTagHelpers) 140private static bool HasAnyNotIn(TagHelperCollection first, TagHelperCollection second)
SourceGenerators\StaticCompilationTagHelperFeature.cs (2)
18public TagHelperCollection GetTagHelpers(IAssemblySymbol assembly, CancellationToken cancellationToken) 34TagHelperCollection ITagHelperFeature.GetTagHelpers(CancellationToken cancellationToken)
rzc (6)
DiscoverCommand.cs (1)
181var tagHelpers = feature.GetTagHelpers();
GenerateCommand.cs (5)
179var tagHelpers = GetTagHelpers(tagHelperManifest); 300private static TagHelperCollection GetTagHelpers(string tagHelperManifest) 311return TagHelperCollection.Create(tagHelpers); 429private sealed class StaticTagHelperFeature(TagHelperCollection tagHelpers) : RazorEngineFeatureBase, ITagHelperFeature 431public TagHelperCollection GetTagHelpers(CancellationToken cancellationToken) => tagHelpers;