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);
}
}
}