using System; using Microsoft.Extensions.Logging; namespace Codelyzer.Analysis { /// /// Factory to create code analyzers based on a given configuration /// public static class CodeAnalyzerFactory { /// /// Initializes and return a new CodeAnalyzer /// /// Configuration of the analyzer /// Logger object /// public static CodeAnalyzer GetAnalyzer(AnalyzerConfiguration configuration, ILogger logger, string projectFile = "") { if (configuration.Language == LanguageOptions.Vb ||projectFile.EndsWith(".vbproj", StringComparison.OrdinalIgnoreCase)) { return new VisualBasicCodeAnalyzer(configuration, logger); } return new CSharpCodeAnalyzer(configuration, logger); } } }