SonarLint.VisualStudio.Integration.ProfileConflicts.ConflictsManager.AddOrUpdateAggregatedRuleSetInformation C# (CSharp) Method

AddOrUpdateAggregatedRuleSetInformation() private method

private AddOrUpdateAggregatedRuleSetInformation ( RuleSetInformation>.Dictionary projectRuleSetAggregation, string baselineRuleSet, RuleSetDeclaration declaration, string projectRuleSet ) : void
projectRuleSetAggregation RuleSetInformation>.Dictionary
baselineRuleSet string
declaration RuleSetDeclaration
projectRuleSet string
return void
        private void AddOrUpdateAggregatedRuleSetInformation(Dictionary<string, RuleSetInformation> projectRuleSetAggregation, string baselineRuleSet, RuleSetDeclaration declaration, string projectRuleSet)
        {
            RuleSetInformation aggregate;
            if (projectRuleSetAggregation.TryGetValue(projectRuleSet, out aggregate))
            {
                aggregate.ConfigurationContexts.Add(declaration.ConfigurationContext);

                if (!aggregate.RuleSetDirectories.SequenceEqual(declaration.RuleSetDirectories))
                {
                    this.WriteWarning(Strings.InconsistentRuleSetDirectoriesWarning,
                                    CombineDirectories(declaration.RuleSetDirectories),
                                    projectRuleSet,
                                    CombineDirectories(aggregate.RuleSetDirectories));
                }
            }
            else
            {
                aggregate = new RuleSetInformation(declaration.RuleSetProjectFullName, baselineRuleSet, projectRuleSet, declaration.RuleSetDirectories);
                aggregate.ConfigurationContexts.Add(declaration.ConfigurationContext);
                projectRuleSetAggregation[projectRuleSet] = aggregate;
            }
        }