diff --git a/eng/CodeAnalysis.src.globalconfig b/eng/CodeAnalysis.src.globalconfig index de0d6e8137e0b8..fed3f10e70c0c5 100644 --- a/eng/CodeAnalysis.src.globalconfig +++ b/eng/CodeAnalysis.src.globalconfig @@ -483,6 +483,9 @@ dotnet_diagnostic.CA1863.severity = suggestion # CA1864: Prefer the 'IDictionary.TryAdd(TKey, TValue)' method dotnet_diagnostic.CA1864.severity = warning +# CA1868: Unnecessary call to 'Contains' for sets +dotnet_diagnostic.CA1868.severity = warning + # CA2000: Dispose objects before losing scope dotnet_diagnostic.CA2000.severity = none diff --git a/eng/CodeAnalysis.test.globalconfig b/eng/CodeAnalysis.test.globalconfig index 3312010ea716c0..baa75bc6c54fba 100644 --- a/eng/CodeAnalysis.test.globalconfig +++ b/eng/CodeAnalysis.test.globalconfig @@ -480,6 +480,9 @@ dotnet_diagnostic.CA1863.severity = none # CA1864: Prefer the 'IDictionary.TryAdd(TKey, TValue)' method dotnet_diagnostic.CA1864.severity = none +# CA1868: Unnecessary call to 'Contains' for sets +dotnet_diagnostic.CA1868.severity = none + # CA2000: Dispose objects before losing scope dotnet_diagnostic.CA2000.severity = none diff --git a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/ModuleInitializerListNode.cs b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/ModuleInitializerListNode.cs index 185274addeb0d9..c85f1494437ab5 100644 --- a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/ModuleInitializerListNode.cs +++ b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/ModuleInitializerListNode.cs @@ -113,9 +113,8 @@ public override ObjectData GetData(NodeFactory factory, bool relocsOnly = false) { foreach (var module in allModules) { - if (!markedModules.Contains(module)) + if (markedModules.Add(module)) { - markedModules.Add(module); if (modulesWithCctor.Contains(module.Module)) sortedModules.Add(module.Module); break; diff --git a/src/coreclr/tools/aot/ILCompiler.DependencyAnalysisFramework/DgmlWriter.cs b/src/coreclr/tools/aot/ILCompiler.DependencyAnalysisFramework/DgmlWriter.cs index a6018ed51056bc..a0570393335955 100644 --- a/src/coreclr/tools/aot/ILCompiler.DependencyAnalysisFramework/DgmlWriter.cs +++ b/src/coreclr/tools/aot/ILCompiler.DependencyAnalysisFramework/DgmlWriter.cs @@ -158,10 +158,8 @@ void IDependencyAnalyzerLogNodeVisitor.VisitCombinedNode( void IDependencyAnalyzerLogEdgeVisitor.VisitEdge(DependencyNodeCore nodeDepender, DependencyNodeCore nodeDependerOther, DependencyNodeCore nodeDependedOn, string reason) { var combinedNode = new Tuple, DependencyNodeCore>(nodeDepender, nodeDependerOther); - if (!_combinedNodesEdgeVisited.Contains(combinedNode)) + if (_combinedNodesEdgeVisited.Add(combinedNode)) { - _combinedNodesEdgeVisited.Add(combinedNode); - _xmlWrite.WriteStartElement("Link"); _xmlWrite.WriteAttributeString("Source", _nodeMappings[nodeDepender].ToString()); _xmlWrite.WriteAttributeString("Target", _nodeMappings[combinedNode].ToString()); diff --git a/src/libraries/System.ComponentModel.Composition/src/System/ComponentModel/Composition/ReflectionModel/ReflectionComposablePartDefinition.cs b/src/libraries/System.ComponentModel.Composition/src/System/ComponentModel/Composition/ReflectionModel/ReflectionComposablePartDefinition.cs index 3fba07efdc7384..fbe5a2f97334c3 100644 --- a/src/libraries/System.ComponentModel.Composition/src/System/ComponentModel/Composition/ReflectionModel/ReflectionComposablePartDefinition.cs +++ b/src/libraries/System.ComponentModel.Composition/src/System/ComponentModel/Composition/ReflectionModel/ReflectionComposablePartDefinition.cs @@ -185,14 +185,7 @@ internal override bool TryGetExports(ImportDefinition definition, out Tuple ( Enum.GetValues (typeof (DynamicallyAccessedMemberTypes)) .Cast ()); - if (!values.Contains (DynamicallyAccessedMemberTypes.Interfaces)) - values.Add (DynamicallyAccessedMemberTypes.Interfaces); + values.Add (DynamicallyAccessedMemberTypes.Interfaces); return values.ToArray (); }