[main] Update dependencies from dotnet/roslyn-analyzers (#87768)

* Update dependencies from https://github.com/dotnet/roslyn-analyzers build 20230618.1

* Suppress RS1038 analyzer

* Fix new failures found with CA1859 analyzer updates

* Disable CA2261 on test projects, fix more CA1859 findings

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Buyaa Namnan <bunamnan@microsoft.com>
This commit is contained in:
dotnet-maestro[bot] 2023-07-10 13:38:41 -07:00 committed by GitHub
parent e40d6e165c
commit 54cb57399d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 26 additions and 16 deletions

View File

@ -658,6 +658,9 @@ dotnet_diagnostic.CA2259.severity = warning
# CA2260: Use correct type parameter
dotnet_diagnostic.CA2260.severity = warning
# CA2261: Do not use ConfigureAwaitOptions.SuppressThrowing with Task<TResult>
dotnet_diagnostic.CA2261.severity = warning
# CA2300: Do not use insecure deserializer BinaryFormatter
dotnet_diagnostic.CA2300.severity = none

View File

@ -654,6 +654,9 @@ dotnet_diagnostic.CA2259.severity = none
# CA2260: Use correct type parameter
dotnet_diagnostic.CA2260.severity = none
# CA2261: Do not use ConfigureAwaitOptions.SuppressThrowing with Task<TResult>
dotnet_diagnostic.CA2261.severity = none
# CA2300: Do not use insecure deserializer BinaryFormatter
dotnet_diagnostic.CA2300.severity = none

View File

@ -372,13 +372,13 @@
<Uri>https://github.com/dotnet/roslyn</Uri>
<Sha>7787409c6b529c021d4f8b5fbe3d620094953be9</Sha>
</Dependency>
<Dependency Name="Microsoft.CodeAnalysis.Analyzers" Version="3.3.5-beta1.23308.2">
<Dependency Name="Microsoft.CodeAnalysis.Analyzers" Version="3.11.0-beta1.23357.1">
<Uri>https://github.com/dotnet/roslyn-analyzers</Uri>
<Sha>2f0301ef59624a72fb00f7fd92caa50be03f277d</Sha>
<Sha>82603c16509d7383cd1922680773a79b839b1705</Sha>
</Dependency>
<Dependency Name="Microsoft.CodeAnalysis.NetAnalyzers" Version="8.0.0-preview.23308.2">
<Dependency Name="Microsoft.CodeAnalysis.NetAnalyzers" Version="8.0.0-preview.23357.1">
<Uri>https://github.com/dotnet/roslyn-analyzers</Uri>
<Sha>2f0301ef59624a72fb00f7fd92caa50be03f277d</Sha>
<Sha>82603c16509d7383cd1922680773a79b839b1705</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.ApiCompat.Task" Version="8.0.100-preview.7.23329.3">
<Uri>https://github.com/dotnet/sdk</Uri>

View File

@ -32,8 +32,8 @@
</ItemGroup>
<PropertyGroup>
<!-- dotnet/roslyn-analyzers dependencies -->
<MicrosoftCodeAnalysisAnalyzersVersion>3.3.5-beta1.23308.2</MicrosoftCodeAnalysisAnalyzersVersion>
<MicrosoftCodeAnalysisNetAnalyzersVersion>8.0.0-preview.23308.2</MicrosoftCodeAnalysisNetAnalyzersVersion>
<MicrosoftCodeAnalysisAnalyzersVersion>3.11.0-beta1.23357.1</MicrosoftCodeAnalysisAnalyzersVersion>
<MicrosoftCodeAnalysisNetAnalyzersVersion>8.0.0-preview.23357.1</MicrosoftCodeAnalysisNetAnalyzersVersion>
<!-- dotnet/roslyn dependencies -->
<!--
These versions should not be used by any project that contributes to the design-time experience in VS, such as an analyzer, code-fix, or generator assembly.

View File

@ -325,8 +325,10 @@ namespace System.Reflection.Runtime.MethodInfos
return null;
}
#pragma warning disable CA1859 // Use concrete types when possible for improved performance https://github.com/dotnet/roslyn-analyzers/issues/6751
IList<ParameterInfo> delegateParameters = invokeMethod.GetParametersNoCopy();
IList<ParameterInfo> targetParameters = this.GetParametersNoCopy();
#pragma warning restore CA1859
IEnumerator<ParameterInfo> delegateParameterEnumerator = delegateParameters.GetEnumerator();
IEnumerator<ParameterInfo> targetParameterEnumerator = targetParameters.GetEnumerator();

View File

@ -311,7 +311,7 @@ ReturnFromEndOfRecursiveFunction:
}
#endif
return verticesInAFlaggedCycleTarjanStyle.Select(v => v.Payload).ToArray();
return verticesInAFlaggedCycleTarjanStyle.Select(v => v.Payload);
}
/// <summary>

View File

@ -102,7 +102,7 @@ namespace ILCompiler.DependencyAnalysis
{
}
private static IReadOnlyList<MethodDesc> ComputeSlots(TypeDesc type)
private static MethodDesc[] ComputeSlots(TypeDesc type)
{
var slots = default(ArrayBuilder<MethodDesc>);

View File

@ -194,7 +194,7 @@ namespace Microsoft.Extensions.Logging.EventSource
/// <summary>
/// Converts an ILogger state object into a set of key-value pairs (That can be send to a EventSource)
/// </summary>
private static IReadOnlyList<KeyValuePair<string, string?>> GetProperties(object? state)
private static KeyValuePair<string, string?>[] GetProperties(object? state)
{
if (state is IReadOnlyList<KeyValuePair<string, object?>> keyValuePairs)
{

View File

@ -9,7 +9,7 @@ namespace System.Linq
{
public static IEnumerable<TResult> Empty<TResult>() => Array.Empty<TResult>();
private static IEnumerable<TResult>? GetEmptyIfEmpty<TSource, TResult>(IEnumerable<TSource> source) =>
private static TResult[]? GetEmptyIfEmpty<TSource, TResult>(IEnumerable<TSource> source) =>
source is TSource[] { Length: 0 } ?
Array.Empty<TResult>() :
null;

View File

@ -89,7 +89,7 @@ namespace System.Xml.Serialization
}
[RequiresUnreferencedCode(XmlSerializer.TrimSerializationWarning)]
private object GenerateMembersElement(XmlMembersMapping xmlMembersMapping)
private object?[] GenerateMembersElement(XmlMembersMapping xmlMembersMapping)
{
if (xmlMembersMapping.Accessor.IsSoap)
{
@ -102,7 +102,7 @@ namespace System.Xml.Serialization
}
[RequiresUnreferencedCode(XmlSerializer.TrimSerializationWarning)]
private object GenerateLiteralMembersElement(XmlMembersMapping xmlMembersMapping)
private object[] GenerateLiteralMembersElement(XmlMembersMapping xmlMembersMapping)
{
ElementAccessor element = xmlMembersMapping.Accessor;
MemberMapping[] mappings = ((MembersMapping)element.Mapping!).Members!;
@ -322,7 +322,7 @@ namespace System.Xml.Serialization
}
[RequiresUnreferencedCode(XmlSerializer.TrimSerializationWarning)]
private object GenerateEncodedMembersElement(XmlMembersMapping xmlMembersMapping)
private object?[] GenerateEncodedMembersElement(XmlMembersMapping xmlMembersMapping)
{
ElementAccessor element = xmlMembersMapping.Accessor;
var membersMapping = (MembersMapping)element.Mapping!;

View File

@ -8,7 +8,7 @@
<IsRoslynComponent>true</IsRoslynComponent>
<!-- Disable RS2008: Enable analyzer release tracking
Diagnostics in runtime use a different mechanism (docs/project/list-of-diagnostics.md) -->
<NoWarn>RS2008;$(NoWarn)</NoWarn>
<NoWarn>RS2008;RS1038;$(NoWarn)</NoWarn>
<DefineConstants>$(DefineConstants);JSIMPORTGENERATOR</DefineConstants>
<AnalyzerLanguage>cs</AnalyzerLanguage>
</PropertyGroup>

View File

@ -8,7 +8,7 @@
<IsRoslynComponent>true</IsRoslynComponent>
<!-- Disable RS2008: Enable analyzer release tracking
Diagnostics in runtime use a different mechanism (docs/project/list-of-diagnostics.md) -->
<NoWarn>RS2008;$(NoWarn)</NoWarn>
<NoWarn>RS2008;RS1038;$(NoWarn)</NoWarn>
<AnalyzerLanguage>cs</AnalyzerLanguage>
<DefineConstants>$(DefineConstants);MICROSOFT_INTEROP_COMINTERFACEGENERATOR</DefineConstants>
</PropertyGroup>

View File

@ -8,7 +8,7 @@
<IsRoslynComponent>true</IsRoslynComponent>
<!-- Disable RS2008: Enable analyzer release tracking
Diagnostics in runtime use a different mechanism (docs/project/list-of-diagnostics.md) -->
<NoWarn>RS2008;$(NoWarn)</NoWarn>
<NoWarn>RS2008;RS1038;$(NoWarn)</NoWarn>
<AnalyzerLanguage>cs</AnalyzerLanguage>
</PropertyGroup>

View File

@ -33,7 +33,9 @@ namespace Internal.Cryptography.Pal.Windows
return new RecipientInfoCollection(recipientInfos);
}
#pragma warning disable CA1859 // Use concrete types when possible for improved performance https://github.com/dotnet/roslyn-analyzers/issues/6751
private static IEnumerable<RecipientInfo> ToRecipientInfosForThisIndex(SafeHandle pCmsgCmsRecipientInfoMemory, int index)
#pragma warning restore CA1859
{
bool mustRelease = false;
pCmsgCmsRecipientInfoMemory.DangerousAddRef(ref mustRelease);