| File: ViewFeaturesAnalyzerContext.cs | Web Access |
| Project: src\aspnetcore\src\Mvc\Mvc.Analyzers\src\Microsoft.AspNetCore.Mvc.Analyzers.csproj (Microsoft.AspNetCore.Mvc.Analyzers) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.Diagnostics; namespace Microsoft.AspNetCore.Mvc.Analyzers; public class ViewFeaturesAnalyzerContext { #pragma warning disable RS1012 // Start action has no registered actions. public ViewFeaturesAnalyzerContext(CompilationStartAnalysisContext context) #pragma warning restore RS1012 // Start action has no registered actions. { Context = context; HtmlHelperType = GetType(SymbolNames.IHtmlHelperType); HtmlHelperPartialExtensionsType = GetType(SymbolNames.HtmlHelperPartialExtensionsType); } public CompilationStartAnalysisContext Context { get; } public INamedTypeSymbol HtmlHelperType { get; } public INamedTypeSymbol HtmlHelperPartialExtensionsType { get; } private INamedTypeSymbol GetType(string name) => Context.Compilation.GetTypeByMetadataName(name); public bool IsHtmlHelperExtensionMethod(IMethodSymbol method) { if (!method.IsExtensionMethod) { return false; } if (!SymbolEqualityComparer.Default.Equals(method.ContainingType, HtmlHelperPartialExtensionsType)) { return false; } return true; } }