SonarLint.VisualStudio.Integration.Vsix.SonarAnalyzerManager.GetProjectAnalyzerConflictStatus C# (CSharp) Méthode

GetProjectAnalyzerConflictStatus() static private méthode

static private GetProjectAnalyzerConflictStatus ( IEnumerable references ) : ProjectAnalyzerStatus
references IEnumerable
Résultat ProjectAnalyzerStatus
        internal /*for testing purposes*/ static ProjectAnalyzerStatus GetProjectAnalyzerConflictStatus(
            IEnumerable<AnalyzerReference> references)
        {
            if (references == null)
            {
                return ProjectAnalyzerStatus.NoAnalyzer;
            }

            List<AnalyzerReference> sameNamedAnalyzers = references
                .Where(reference => string.Equals(reference.Display, AnalyzerName, StringComparison.OrdinalIgnoreCase))
                .ToList();

            if (!sameNamedAnalyzers.Any())
            {
                return ProjectAnalyzerStatus.NoAnalyzer;
            }

            bool hasConflictingAnalyzer = sameNamedAnalyzers
                .Select(reference => (reference.Id as AssemblyIdentity)?.Version)
                .All(version => version != AnalyzerVersion);

            return hasConflictingAnalyzer
                ? ProjectAnalyzerStatus.DifferentVersion
                : ProjectAnalyzerStatus.SameVersion;
        }