Re-enable ViewComponentTagHelpers for tooling.

#1231
This commit is contained in:
N. Taylor Mullen 2017-04-14 15:57:27 -07:00
parent 1d10293db5
commit 385e2523a9
1 changed files with 20 additions and 0 deletions

View File

@ -21,6 +21,7 @@ namespace Microsoft.CodeAnalysis.Razor
var descriptors = new List<TagHelperDescriptor>();
VisitTagHelpers(compilation, assemblyNameFilters, descriptors);
VisitViewComponents(compilation, assemblyNameFilters, descriptors);
var diagnostics = new List<RazorDiagnostic>();
var resolutionResult = new TagHelperResolutionResult(descriptors, diagnostics);
@ -51,6 +52,25 @@ namespace Microsoft.CodeAnalysis.Razor
}
}
private void VisitViewComponents(Compilation compilation, IEnumerable<string> assemblyNameFilters, List<TagHelperDescriptor> results)
{
var types = new List<INamedTypeSymbol>();
var visitor = ViewComponentTypeVisitor.Create(compilation, types);
VisitCompilation(visitor, compilation);
var factory = new ViewComponentTagHelperDescriptorFactory(compilation);
foreach (var type in types)
{
if (assemblyNameFilters.Contains(type.ContainingAssembly.Identity.Name))
{
var descriptor = factory.CreateDescriptor(type);
results.Add(descriptor);
}
}
}
private static void VisitCompilation(SymbolVisitor visitor, Compilation compilation)
{
visitor.Visit(compilation.Assembly.GlobalNamespace);