1 write to Features
Microsoft.CodeAnalysis.Razor.Compiler (1)
Language\RazorProjectEngineBuilder.cs (1)
22Features = ImmutableArray.CreateBuilder<IRazorFeature>();
176 references to Features
Microsoft.AspNetCore.Mvc.Razor.Extensions.UnitTests (9)
InjectDirectiveTest.cs (2)
20builder.Features.Add(new RazorPageDocumentClassifierPass()); 21builder.Features.Add(new MvcViewDocumentClassifierPass());
ModelDirectiveTest.cs (2)
20builder.Features.Add(new RazorPageDocumentClassifierPass()); 21builder.Features.Add(new MvcViewDocumentClassifierPass());
ModelExpressionPassTest.cs (2)
17builder.Features.Add(new RazorPageDocumentClassifierPass()); 18builder.Features.Add(new MvcViewDocumentClassifierPass());
ViewComponentTagHelperPassTest.cs (1)
18builder.Features.Add(new MvcViewDocumentClassifierPass());
ViewComponentTagHelperProducerTest.cs (2)
29b.Features.Add(new ViewComponentTagHelperProducer.Factory()); 30b.Features.Add(new TagHelperDiscoveryService());
Microsoft.AspNetCore.Razor.Language.UnitTests (50)
Components\ComponentDuplicateAttributeDiagnosticPassTest.cs (6)
24b.Features.Remove(b.Features.OfType<ComponentMarkupDiagnosticPass>().Single()); 25b.Features.Remove(b.Features.OfType<ComponentMarkupBlockPass>().Single()); 26b.Features.Remove(b.Features.OfType<ComponentMarkupEncodingPass>().Single());
Components\ComponentMarkupBlockPassTest.cs (3)
22if (b.Features.OfType<ComponentMarkupBlockPass>().Any()) 24b.Features.Remove(b.Features.OfType<ComponentMarkupBlockPass>().Single());
Components\ComponentMarkupEncodingPassTest.cs (3)
22if (b.Features.OfType<ComponentMarkupEncodingPass>().Any()) 24b.Features.Remove(b.Features.OfType<ComponentMarkupEncodingPass>().Single());
Components\ComponentWhitespacePassTest.cs (3)
21if (b.Features.OfType<ComponentWhitespacePass>().Any()) 23b.Features.Remove(b.Features.OfType<ComponentWhitespacePass>().Single());
DefaultRazorDirectiveClassifierPhaseTest.cs (4)
30b.Features.Add(second); 31b.Features.Add(first); 113b.Features.Add(firstPass.Object); 114b.Features.Add(secondPass.Object);
DefaultRazorDocumentClassifierPhaseTest.cs (4)
31b.Features.Add(second); 32b.Features.Add(first); 114b.Features.Add(firstPass.Object); 115b.Features.Add(secondPass.Object);
DefaultRazorOptimizationPhaseTest.cs (4)
30b.Features.Add(second); 31b.Features.Add(first); 112b.Features.Add(firstPass.Object); 113b.Features.Add(secondPass.Object);
DefaultRazorProjectEngineIntegrationTest.cs (2)
91builder.Features.Add(importFeature1); 92builder.Features.Add(importFeature2);
DefaultRazorSyntaxTreePhaseTest.cs (4)
30b.Features.Add(second); 31b.Features.Add(first); 105b.Features.Add(firstPass.Object); 106b.Features.Add(secondPass.Object);
DefaultRazorTagHelperBinderPhaseTest.cs (1)
428builder.Features.Add(new TestTagHelperFeature());
Extensions\DefaultMetadataIdentifierFeatureTest.cs (1)
14builder.Features.Add(new DefaultMetadataIdentifierFeature());
Extensions\MetadataAttributePassTest.cs (1)
17builder.Features.Add(new DefaultMetadataIdentifierFeature());
HtmlNodeOptimizationPassTest.cs (1)
27builder.Features.Add(new HtmlNodeOptimizationPass());
RazorProjectEngineBuilderExtensionsTest.cs (9)
22builder.Features.Add(testFeature1); 23builder.Features.Add(testFeature2); 30var feature = Assert.Single(builder.Features); 45var feature = Assert.Single(builder.Features); 57builder.Features.Add(codeTargetExtensionFeature); 64var feature = Assert.Single(builder.Features); 81var feature = Assert.Single(builder.Features); 93builder.Features.Add(directiveFeature); 100var feature = Assert.Single(builder.Features);
RazorProjectEngineBuilderTest.cs (4)
19builder.Features.Add(RazorEngineMockFactory.CreateFeature<IRazorEngineFeature>()); 20builder.Features.Add(RazorEngineMockFactory.CreateFeature<IRazorEngineFeature>()); 21builder.Features.Add(RazorEngineMockFactory.CreateProjectFeature<IRazorProjectEngineFeature>()); 23var features = builder.Features.ToArray();
Microsoft.AspNetCore.Razor.Test.Common (16)
Language\IntegrationTests\IntegrationTestBase.cs (5)
340if (!b.Features.OfType<ITagHelperFeature>().Any()) 342b.Features.Add(new CompilationTagHelperFeature()); 343b.Features.Add(new DefaultMetadataReferenceFeature() 358foreach (var importFeature in b.Features.OfType<IImportProjectFeature>().ToArray()) 360b.Features.Replace(importFeature, new NormalizedDefaultImportFeature(importFeature, LineEnding));
Language\IntegrationTests\RazorIntegrationTestBase.cs (3)
150b.Features.Add(new TestImportProjectFeature(ImportItems.ToImmutable())); 152b.Features.Add(new CompilationTagHelperFeature()); 153b.Features.Add(new DefaultMetadataReferenceFeature()
Language\RazorProjectEngineBuilderExtensions.cs (8)
28builder.Features.Add(new AdditionalImportsProjectFeature(imports)); 35var feature = (TestTagHelperFeature)builder.Features.OfType<ITagHelperFeature>().FirstOrDefault(); 39builder.Features.Add(feature); 48var feature = builder.Features.OfType<DefaultDocumentClassifierPassFeature>().FirstOrDefault(); 52builder.Features.Add(feature); 87var existingFeatures = builder.Features.OfType<IImportProjectFeature>().ToArray(); 90builder.Features.Remove(existingFeature); 93builder.Features.Add(feature);
Microsoft.AspNetCore.Razor.Test.Common.Tooling (3)
Language\IntegrationTests\RazorToolingIntegrationTestBase.cs (3)
122b.Features.Add(new TestImportProjectFeature(ImportItems.ToImmutable())); 124b.Features.Add(new CompilationTagHelperFeature()); 125b.Features.Add(new DefaultMetadataReferenceFeature()
Microsoft.CodeAnalysis.Razor.Compiler (80)
CSharp\CompilerFeatures.cs (8)
25builder.Features.Add(new BindTagHelperProducer.Factory()); 26builder.Features.Add(new ComponentTagHelperProducer.Factory()); 27builder.Features.Add(new EventHandlerTagHelperProducer.Factory()); 28builder.Features.Add(new RefTagHelperProducer.Factory()); 29builder.Features.Add(new KeyTagHelperProducer.Factory()); 30builder.Features.Add(new SplatTagHelperProducer.Factory()); 35builder.Features.Add(new RenderModeTagHelperProducer.Factory()); 36builder.Features.Add(new FormNameTagHelperProducer.Factory());
Language\Components\ComponentInjectDirective.cs (1)
35builder.Features.Add(new ComponentInjectDirectivePass());
Language\Components\ComponentLayoutDirective.cs (1)
30builder.Features.Add(new ComponentLayoutDirectivePass());
Language\Components\ComponentPageDirective.cs (1)
35builder.Features.Add(new ComponentPageDirectivePass());
Language\Components\ComponentRenderModeDirective.cs (1)
29builder.Features.Add(new ComponentRenderModeDirectivePass());
Language\Extensions\AttributeDirective.cs (1)
30builder.Features.Add(new AttributeDirectivePass());
Language\Extensions\FunctionsDirective.cs (1)
29builder.Features.Add(new FunctionsDirectivePass());
Language\Extensions\ImplementsDirective.cs (1)
30builder.Features.Add(new ImplementsDirectivePass());
Language\Extensions\InheritsDirective.cs (1)
31builder.Features.Add(new InheritsDirectivePass());
Language\Extensions\SectionDirective.cs (1)
30builder.Features.Add(new SectionDirectivePass());
Language\RazorProjectEngine.cs (21)
309AddDefaultFeatures(builder.Features); 313builder.Features.Add(new ViewCssScopePass()); 401builder.Features.Add(new ComponentImportProjectFeature()); 429builder.Features.Add(new ComponentDocumentClassifierPass()); 432builder.Features.Add(new ComponentWhitespacePass()); 435builder.Features.Add(new ComponentComplexAttributeContentPass()); 436builder.Features.Add(new ComponentLoweringPass()); 437builder.Features.Add(new ComponentEventHandlerLoweringPass()); 438builder.Features.Add(new ComponentKeyLoweringPass()); 439builder.Features.Add(new ComponentReferenceCaptureLoweringPass()); 440builder.Features.Add(new ComponentSplatLoweringPass()); 441builder.Features.Add(new ComponentFormNameLoweringPass()); 442builder.Features.Add(new ComponentBindLoweringPass()); 443builder.Features.Add(new ComponentRenderModeLoweringPass()); 444builder.Features.Add(new ComponentCssScopePass()); 445builder.Features.Add(new ComponentTemplateDiagnosticPass()); 446builder.Features.Add(new ComponentGenericTypePass()); 447builder.Features.Add(new ComponentChildContentDiagnosticPass()); 448builder.Features.Add(new ComponentMarkupDiagnosticPass()); 449builder.Features.Add(new ComponentMarkupBlockPass(razorLanguageVersion)); 450builder.Features.Add(new ComponentMarkupEncodingPass(razorLanguageVersion));
Language\RazorProjectEngineBuilder.cs (3)
28using var engineFeatures = new PooledArrayBuilder<IRazorEngineFeature>(Features.Count); 29using var projectEngineFeatures = new PooledArrayBuilder<IRazorProjectEngineFeature>(Features.Count); 31foreach (var feature in Features)
Language\RazorProjectEngineBuilderExtensions.cs (9)
57if (!builder.Features.OfType<DefaultTagHelperProducer.Factory>().Any()) 59builder.Features.Add(new DefaultTagHelperProducer.Factory()); 70builder.Features.Add(new ConfigureParserOptionsFeature(configure)); 80builder.Features.Add(new ConfigureCodeGenerationOptionsFeature(configure)); 165var existingFeature = builder.Features.OfType<ConfigureParserForCSharpVersionFeature>().FirstOrDefault(); 168builder.Features.Remove(existingFeature); 173builder.Features.Add(new ConfigureParserForCSharpVersionFeature(builder.Configuration.LanguageVersion, effectiveCSharpLanguageVersion)); 186if (builder.Features.OfType<TInterface>().FirstOrDefault() is not { } feature) 189builder.Features.Add(feature);
Mvc.Version1_X\RazorExtensions.cs (7)
23builder.Features.Add(new DefaultTagHelperProducer.Factory()); 27builder.Features.Add(new SectionDirectivePass()); 35builder.Features.Add(new ModelExpressionPass()); 36builder.Features.Add(new MvcViewDocumentClassifierPass()); 38builder.Features.Add(new MvcImportProjectFeature()); 48builder.Features.Add(new ViewComponentTagHelperProducer.Factory()); 50builder.Features.Add(new ViewComponentTagHelperPass());
Mvc.Version2_X\NamespaceDirective.cs (1)
37builder.Features.Add(new Pass());
Mvc.Version2_X\RazorExtensions.cs (10)
27builder.Features.Add(new DefaultTagHelperProducer.Factory()); 28builder.Features.Add(new ViewComponentTagHelperProducer.Factory()); 36builder.Features.Add(new ModelExpressionPass()); 37builder.Features.Add(new PagesPropertyInjectionPass()); 38builder.Features.Add(new ViewComponentTagHelperPass()); 39builder.Features.Add(new RazorPageDocumentClassifierPass()); 40builder.Features.Add(new MvcViewDocumentClassifierPass()); 41builder.Features.Add(new AssemblyAttributeInjectionPass()); 42builder.Features.Add(new InstrumentationPass()); 44builder.Features.Add(new MvcImportProjectFeature());
Mvc\InjectDirective.cs (1)
37builder.Features.Add(new Pass());
Mvc\ModelDirective.cs (1)
33builder.Features.Add(new Pass());
Mvc\RazorExtensions.cs (9)
24builder.Features.Add(new DefaultTagHelperProducer.Factory()); 25builder.Features.Add(new ViewComponentTagHelperProducer.Factory()); 33builder.Features.Add(new ModelExpressionPass()); 34builder.Features.Add(new PagesPropertyInjectionPass()); 35builder.Features.Add(new ViewComponentTagHelperPass()); 37builder.Features.Add(new RazorPageDocumentClassifierPass(builder.Configuration.UseConsolidatedMvcViews)); 38builder.Features.Add(new MvcViewDocumentClassifierPass(builder.Configuration.UseConsolidatedMvcViews)); 40builder.Features.Add(new MvcImportProjectFeature()); 47builder.Features.Add(new CreateNewOnMetadataUpdateAttributePass());
SourceGenerators\RazorSourceGenerator.Helpers.cs (1)
97b.Features.Add(tagHelperFeature);
Microsoft.CodeAnalysis.Razor.UnitTests (18)
BaseTagHelperProducerTest.cs (1)
38builder.Features.Add(new TagHelperDiscoveryService());
BindTagHelperProducerTest.cs (2)
17builder.Features.Add(new BindTagHelperProducer.Factory()); 18builder.Features.Add(new ComponentTagHelperProducer.Factory());
CompilationTagHelperFeatureTest.cs (8)
88builder.Features.Add(new DefaultMetadataReferenceFeature()); 89builder.Features.Add(new CompilationTagHelperFeature()); 91var oldFeature = builder.Features.OfType<ITagHelperDiscoveryService>().Single(); 92builder.Features.Replace(oldFeature, serviceMock.Object); 131builder.Features.Add(new DefaultMetadataReferenceFeature { References = references }); 132builder.Features.Add(new CompilationTagHelperFeature()); 134var oldFeature = builder.Features.OfType<ITagHelperDiscoveryService>().Single(); 135builder.Features.Replace(oldFeature, serviceMock.Object);
ComponentTagHelperProducerTest.cs (2)
16builder.Features.Add(new BindTagHelperProducer.Factory()); 17builder.Features.Add(new ComponentTagHelperProducer.Factory());
DefaultTagHelperProducerTest.cs (1)
15builder.Features.Add(new DefaultTagHelperProducer.Factory());
EventHandlerTagHelperProducerTest.cs (1)
15builder.Features.Add(new EventHandlerTagHelperProducer.Factory());
KeyTagHelperProducerTest.cs (1)
15builder.Features.Add(new KeyTagHelperProducer.Factory());
RefTagHelperProducerTest.cs (1)
15builder.Features.Add(new RefTagHelperProducer.Factory());
SplatTagHelperProducerTest.cs (1)
14builder.Features.Add(new SplatTagHelperProducer.Factory());