Skip to content

276 spec info (#308) #18

276 spec info (#308)

276 spec info (#308) #18

GitHub Actions / Qodana for .NET completed Oct 4, 2024 in 0s

1009 new problems found by Qodana for .NET

Qodana for .NET

1009 new problems were found

Inspection name Severity Problems
Non-nullable member is uninitialized. 🔶 Warning 124
Cannot convert null literal to non-nullable reference type. 🔶 Warning 103
Dereference of a possibly null reference. 🔶 Warning 94
Auto-property accessor is never used (non-private accessibility) 🔶 Warning 78
Redundant using directive 🔶 Warning 71
Invalid XML documentation comment 🔶 Warning 44
Possible null reference argument for a parameter. 🔶 Warning 28
RoslynAnalyzers Fields that are only assigned in the constructor should be "readonly" 🔶 Warning 28
Unused local variable 🔶 Warning 28
RoslynAnalyzers Always set the "DateTimeKind" when creating new "DateTime" instances 🔶 Warning 25
Unused parameter (private accessibility) 🔶 Warning 22
Non-accessed field (private accessibility) 🔶 Warning 19
RoslynAnalyzers Unread "private" fields should be removed 🔶 Warning 18
Conditional access qualifier expression is not null according to nullable reference types' annotations 🔶 Warning 11
RoslynAnalyzers Unused local variables should be removed 🔶 Warning 11
Virtual member call in constructor 🔶 Warning 11
RoslynAnalyzers Loops should be simplified with "LINQ" expressions 🔶 Warning 10
RoslynAnalyzers Avoid using 'async void' for test methods as it is deprecated in xUnit.net v3 🔶 Warning 10
Non-accessed positional property (non-private accessibility) 🔶 Warning 9
RoslynAnalyzers Fields should not have public accessibility 🔶 Warning 9
RoslynAnalyzers Prefer indexing instead of "Enumerable" methods on types implementing "IList" 🔶 Warning 9
Async function without await expression 🔶 Warning 8
Expression is always 'true' or 'false' according to nullable reference types' annotations 🔶 Warning 8
Possible multiple enumeration 🔶 Warning 8
RoslynAnalyzers "ISerializable" should be implemented correctly 🔶 Warning 8
Converting null literal or possible null value to non-nullable type. 🔶 Warning 7
Possible null reference assignment. 🔶 Warning 7
Argument cannot be used for corresponding parameter due to differences in the nullability of reference types. 🔶 Warning 7
RoslynAnalyzers Classes should not be empty 🔶 Warning 7
Get-only auto-property is never assigned 🔶 Warning 7
Use of obsolete symbol 🔶 Warning 6
Namespace does not correspond to file location 🔶 Warning 6
Redundant cast 🔶 Warning 6
Redundant nullable warning suppression expression 🔶 Warning 6
Return type of a function can be non-nullable 🔶 Warning 6
RoslynAnalyzers Local variables should not shadow class fields or properties 🔶 Warning 6
RoslynAnalyzers "IDisposable" should be implemented correctly 🔶 Warning 6
Possible null reference return. 🔶 Warning 5
Private field can be converted into local variable 🔶 Warning 5
Assignment is not used 🔶 Warning 5
RoslynAnalyzers Unused private types or members should be removed 🔶 Warning 5
RoslynAnalyzers Redundant casts should not be used 🔶 Warning 5
RoslynAnalyzers "async" methods should not return "void" 🔶 Warning 5
RoslynAnalyzers Classes implementing "IEquatable<T>" should be sealed 🔶 Warning 5
RoslynAnalyzers Method overloads should be grouped together 🔶 Warning 5
Type member is never used (private accessibility) 🔶 Warning 5
Element is localizable 🔶 Warning 4
The pattern is redundant, it does not produce any runtime checks 🔶 Warning 4
Nullability of reference types in source type doesn't match target type. 🔶 Warning 3
Collection content is never queried (private accessibility) 🔶 Warning 3
Conditional access qualifier expression is known to be null or not null 🔶 Warning 3
Redundant name qualifier 🔶 Warning 3
RoslynAnalyzers "GC.Collect" should not be called 🔶 Warning 3
RoslynAnalyzers Boolean expressions should not be gratuitous 🔶 Warning 3
RoslynAnalyzers Null should only be used for nullable parameters 🔶 Warning 3
Async method invocation without await expression 🔶 Warning 2
Nullability of type argument doesn't match 'class' constraint. 🔶 Warning 2
Nullability of return type doesn't match implicitly implemented member (possibly because of nullability attributes). 🔶 Warning 2
Empty constructor 🔶 Warning 2
Non-readonly type member referenced in 'GetHashCode()' 🔶 Warning 2
Parameter hides primary constructor parameter 🔶 Warning 2
Redundant explicit tuple component name 🔶 Warning 2
RoslynAnalyzers Deprecated code should be removed 🔶 Warning 2
RoslynAnalyzers Track uses of "TODO" tags 🔶 Warning 2
RoslynAnalyzers Unused method parameters should be removed 🔶 Warning 2
RoslynAnalyzers Sections of code should not be commented out 🔶 Warning 2
RoslynAnalyzers Enumeration type names should not have "Flags" or "Enum" suffixes 🔶 Warning 2
RoslynAnalyzers Attribute, EventArgs, and Exception type names should end with the type being extended 🔶 Warning 2
RoslynAnalyzers Exception types should be "public" 🔶 Warning 2
RoslynAnalyzers Parameter names should match base declaration and other partial definitions 🔶 Warning 2
Suspicious type conversion or check 🔶 Warning 2
Type is never used (private accessibility) 🔶 Warning 2
RoslynAnalyzers Do not use equality check to check for collection size. 🔶 Warning 2
The switch expression does not handle some values of its input type (it is not exhaustive) involving an unnamed enum value. 🔶 Warning 1
Collection is never updated (non-private accessibility) 🔶 Warning 1
Collection is never updated (private accessibility) 🔶 Warning 1
Not accessed primary constructor parameter 🔶 Warning 1
'??' condition is never null according to nullable reference types' annotations 🔶 Warning 1
Redundant 'partial' modifier on type declaration 🔶 Warning 1
Possible unintended reference comparison 🔶 Warning 1
RoslynAnalyzers Specify analyzer banned API enforcement setting 🔶 Warning 1
Redundant argument with default value 🔶 Warning 1
Redundant member initializer 🔶 Warning 1
Redundant explicit type in array creation 🔶 Warning 1
Redundant 'object.ToString()' call 🔶 Warning 1
Redundant type arguments of method 🔶 Warning 1
RoslynAnalyzers Types should be named in PascalCase 🔶 Warning 1
RoslynAnalyzers Mergeable "if" statements should be combined 🔶 Warning 1
RoslynAnalyzers Methods should not be empty 🔶 Warning 1
RoslynAnalyzers Non-constant static fields should not be visible 🔶 Warning 1
RoslynAnalyzers Unused type parameters should be removed 🔶 Warning 1
RoslynAnalyzers Properties should not make collection or array copies 🔶 Warning 1
RoslynAnalyzers Tests should include assertions 🔶 Warning 1
RoslynAnalyzers Reflection should not be used to increase accessibility of classes, methods, or fields 🔶 Warning 1
RoslynAnalyzers Methods should not have identical implementations 🔶 Warning 1
RoslynAnalyzers "Find" method should be used instead of the "FirstOrDefault" extension 🔶 Warning 1
RoslynAnalyzers The collection-specific "TrueForAll" method should be used instead of the "All" extension 🔶 Warning 1
RoslynAnalyzers "Contains" should be used instead of "Any" for simple equality checks 🔶 Warning 1
Field is never used 🔶 Warning 1
Unused type parameter 🔶 Warning 1
Console output in Xunit tests 🔶 Warning 1

💡 Qodana analysis was run in the pull request mode: only the changed files were checked
☁️ View the detailed Qodana report

Detected 124 dependencies

Third-party software list

This page lists the third-party software dependencies used in EvoSC

Dependency Version Licenses
Castle.Core 5.0.0 Apache-2.0
ColorMinePortable 2.0.4 MIT
Config.Net 5.1.5 Apache-2.0
FluentMigrator.Abstractions 3.3.2 Apache-2.0
FluentMigrator.Extensions.Oracle 3.3.2 Apache-2.0
FluentMigrator.Extensions.Postgres 3.3.2 Apache-2.0
FluentMigrator.Extensions.SqlAnywhere 3.3.2 Apache-2.0
FluentMigrator.Extensions.SqlServer 3.3.2 Apache-2.0
FluentMigrator.Runner.Core 3.3.2 Apache-2.0
FluentMigrator.Runner.Db2 3.3.2 Apache-2.0
FluentMigrator.Runner.Firebird 3.3.2 Apache-2.0
FluentMigrator.Runner.Hana 3.3.2 Apache-2.0
FluentMigrator.Runner.MySql 3.3.2 Apache-2.0
FluentMigrator.Runner.Oracle 3.3.2 Apache-2.0
FluentMigrator.Runner.Postgres 3.3.2 Apache-2.0
FluentMigrator.Runner.Redshift 3.3.2 Apache-2.0
FluentMigrator.Runner.SQLite 3.3.2 Apache-2.0
FluentMigrator.Runner.SqlAnywhere 3.3.2 Apache-2.0
FluentMigrator.Runner.SqlServer 3.3.2 Apache-2.0
FluentMigrator.Runner.SqlServerCe 3.3.2 Apache-2.0
FluentMigrator.Runner 3.3.2 Apache-2.0
FluentMigrator 3.3.2 Apache-2.0
Flurl.Http 3.2.4 MIT
Flurl 3.0.7 MIT
GBX.NET.LZO 1.0.4 GPL-3.0-only
GBX.NET 1.2.6 MIT
GbxRemote.Net 5.0.0 Apache-2.0
Google.Protobuf 3.21.9 BSD-3-Clause
Hawf 2.0.0 Apache-2.0
Humanizer.Core 2.14.1 MIT
ISO3166 1.0.4 MIT
K4os.Compression.LZ4.Streams 1.3.5 MIT
K4os.Compression.LZ4 1.3.5 MIT
K4os.Hash.xxHash 1.0.8 MIT
ManiaExchange.ApiClient 1.0.2 Apache-2.0
Microsoft.CSharp 4.5.0 MIT
Microsoft.CSharp 4.7.0 MIT
Microsoft.CodeAnalysis.Analyzers 3.3.3 MIT
Microsoft.CodeAnalysis.Analyzers 3.3.4 MIT
Microsoft.CodeAnalysis.CSharp.Scripting 4.4.0 MIT
Microsoft.CodeAnalysis.CSharp 4.4.0 MIT
Microsoft.CodeAnalysis.CSharp 4.8.0 MIT
Microsoft.CodeAnalysis.Common 4.4.0 MIT
Microsoft.CodeAnalysis.Common 4.8.0 MIT
Microsoft.CodeAnalysis.Scripting.Common 4.4.0 MIT
Microsoft.Data.SqlClient.SNI.runtime 2.1.1 MS-NET-LIBRARY-2019-06
Microsoft.Data.SqlClient 2.1.2 MIT
Microsoft.Extensions.Configuration.Abstractions 8.0.0 MIT
Microsoft.Extensions.Configuration.Binder 8.0.0 MIT
Microsoft.Extensions.Configuration 8.0.0 MIT
Microsoft.Extensions.DependencyInjection.Abstractions 8.0.0 MIT
Microsoft.Extensions.DependencyInjection 8.0.0 MIT
Microsoft.Extensions.Logging.Abstractions 8.0.0 MIT
Microsoft.Extensions.Logging.Configuration 8.0.0 MIT
Microsoft.Extensions.Logging.Console 8.0.0 MIT
Microsoft.Extensions.Logging 8.0.0 MIT
Microsoft.Extensions.Options.ConfigurationExtensions 8.0.0 MIT
Microsoft.Extensions.Options 8.0.0 MIT
Microsoft.Extensions.Primitives 8.0.0 MIT
Microsoft.Identity.Client 4.21.1 MIT
Microsoft.IdentityModel.JsonWebTokens 6.8.0 MIT
Microsoft.IdentityModel.Logging 6.8.0 MIT
Microsoft.IdentityModel.Protocols.OpenIdConnect 6.8.0 MIT
Microsoft.IdentityModel.Protocols 6.8.0 MIT
Microsoft.IdentityModel.Tokens 6.8.0 MIT
Microsoft.NETCore.Platforms 1.1.0 MIT
Microsoft.NETCore.Platforms 3.1.0 MIT
Microsoft.NETCore.Targets 1.1.0 MIT
Microsoft.Win32.Registry 4.7.0 MIT
Microsoft.Win32.SystemEvents 6.0.0 MIT
Mono.TextTemplating 2.3.1 MIT
MySql.Data 8.1.0 GPL-2.0-or-later
MySqlConnector 2.3.1 MIT
Newtonsoft.Json 13.0.3 MIT
Npgsql 7.0.6 PostgreSQL
Portable.BouncyCastle 1.9.0 MIT
Samboy063.Tomlet 5.2.0 MIT
SimpleInjector 5.4.2 MIT
SonarAnalyzer.CSharp 9.15.0.81779 GPL-3.0-only
LGPL-3.0-only
System.Buffers 4.5.1 MIT
System.CodeDom 5.0.0 MIT
System.Collections.Immutable 6.0.0 MIT
System.Collections.Immutable 7.0.0 MIT
System.ComponentModel.Annotations 4.4.1 MIT
System.ComponentModel 4.0.1 MIT
System.Configuration.ConfigurationManager 6.0.0 MIT
System.Diagnostics.DiagnosticSource 7.0.2 MIT
System.Diagnostics.EventLog 6.0.0 MIT
System.Drawing.Common 6.0.0 MIT
System.IO.Hashing 8.0.0 MIT
System.IO.Pipelines 6.0.3 MIT
System.IO 4.3.0 MIT
System.IdentityModel.Tokens.Jwt 6.8.0 MIT
System.Memory 4.5.5 MIT
System.Numerics.Vectors 4.4.0 MIT
System.Reflection.Metadata 5.0.0 MIT
System.Reflection.Metadata 7.0.0 MIT
System.Reflection.Primitives 4.3.0 MIT
System.Reflection 4.3.0 MIT
System.Runtime.Caching 4.7.0 MIT
System.Runtime.CompilerServices.Unsafe 6.0.0 MIT
System.Runtime.Loader 4.3.0 MIT
System.Runtime 4.3.0 MIT
System.Security.AccessControl 6.0.0 MIT
System.Security.Cryptography.Cng 4.5.0 MIT
System.Security.Cryptography.ProtectedData 6.0.0 MIT
System.Security.Permissions 6.0.0 MIT
System.Security.Principal.Windows 4.7.0 MIT
System.Text.Encoding.CodePages 4.7.0 MIT
System.Text.Encoding.CodePages 6.0.0 MIT
System.Text.Encoding.CodePages 7.0.0 MIT
System.Text.Encoding 4.3.0 MIT
System.Text.Encodings.Web 8.0.0 MIT
System.Text.Json 8.0.0 MIT
System.Threading.Tasks.Extensions 4.5.4 MIT
System.Threading.Tasks 4.3.0 MIT
System.ValueTuple 4.4.0 MIT
System.Windows.Extensions 6.0.0 MIT
TmEssentials 2.4.0 MIT
ZstdSharp.Port 0.7.1 MIT
linq2db.MySql 5.3.2 MIT
linq2db.PostgreSQL 5.3.2 MIT
linq2db.SQLite 5.3.2 MIT
linq2db 5.3.2 MIT
Contact Qodana team

Contact us at [email protected]

Details

This result was published with Qodana GitHub Action

Annotations

Check warning on line 11 in src/EvoSC.Common/Exceptions/EvoSCException.cs

See this annotation in the file changed.

@github-actions github-actions / Qodana for .NET

Use of obsolete symbol

SYSLIB0051: Constructor 'System.Exception.Exception(SerializationInfo, StreamingContext)' is obsolete: 'This API supports obsolete formatter-based serialization. It should not be called or extended by application code.'

Check warning on line 80 in tests/EvoSC.Common.Tests/Util/MatchSettings/MatchSettingsBuilderTests.cs

See this annotation in the file changed.

@github-actions github-actions / Qodana for .NET

Use of obsolete symbol

CS0618: Method 'EvoSC.Common.Util.MatchSettings.Builders.GameInfosConfigBuilder.DisableRespawn(bool)' is obsolete: 'Not used in TM2020 anymore'

Check warning on line 56 in tests/EvoSC.Common.Tests/Util/MatchSettings/MatchSettingsBuilderTests.cs

See this annotation in the file changed.

@github-actions github-actions / Qodana for .NET

Use of obsolete symbol

CS0618: Method 'EvoSC.Common.Util.MatchSettings.Builders.GameInfosConfigBuilder.WithFinishTimeout(int)' is obsolete: 'Not used in TM20202 anymore.'

Check warning on line 81 in tests/EvoSC.Common.Tests/Util/MatchSettings/MatchSettingsBuilderTests.cs

See this annotation in the file changed.

@github-actions github-actions / Qodana for .NET

Use of obsolete symbol

CS0618: Method 'EvoSC.Common.Util.MatchSettings.Builders.GameInfosConfigBuilder.WithFinishTimeout(int)' is obsolete: 'Not used in TM20202 anymore.'

Check warning on line 11 in src/EvoSC.Common/Themes/Exceptions/ThemeException.cs

See this annotation in the file changed.

@github-actions github-actions / Qodana for .NET

Use of obsolete symbol

SYSLIB0051: Constructor 'System.Exception.Exception(SerializationInfo, StreamingContext)' is obsolete: 'This API supports obsolete formatter-based serialization. It should not be called or extended by application code.'

Check warning on line 55 in tests/EvoSC.Common.Tests/Util/MatchSettings/MatchSettingsBuilderTests.cs

See this annotation in the file changed.

@github-actions github-actions / Qodana for .NET

Use of obsolete symbol

CS0618: Method 'EvoSC.Common.Util.MatchSettings.Builders.GameInfosConfigBuilder.DisableRespawn(bool)' is obsolete: 'Not used in TM2020 anymore'

Check warning on line 36 in src/Modules/ExampleModule/ExampleEventController.cs

See this annotation in the file changed.

@github-actions github-actions / Qodana for .NET

Async function without await expression

This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.

Check warning on line 102 in tests/EvoSC.Common.Tests/Themes/ThemeManagerTests.cs

See this annotation in the file changed.

@github-actions github-actions / Qodana for .NET

Async function without await expression

This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.

Check warning on line 91 in tests/EvoSC.Common.Tests/Middleware/MiddlewareTests.cs

See this annotation in the file changed.

@github-actions github-actions / Qodana for .NET

Async function without await expression

This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.

Check warning on line 107 in src/Modules/ExampleModule/ExampleController.cs

See this annotation in the file changed.

@github-actions github-actions / Qodana for .NET

Async function without await expression

This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.

Check warning on line 79 in src/EvoSC.Common/Remote/ChatRouter/RemoteChatRouter.cs

See this annotation in the file changed.

@github-actions github-actions / Qodana for .NET

Async function without await expression

This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.

Check warning on line 20 in src/EvoSC/CliCommands/ConfigGeneratorCommand.cs

See this annotation in the file changed.

@github-actions github-actions / Qodana for .NET

Async function without await expression

This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.

Check warning on line 42 in src/Modules/ExampleModule/ExampleEventController.cs

See this annotation in the file changed.

@github-actions github-actions / Qodana for .NET

Async function without await expression

This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.

Check warning on line 10 in src/EvoSC.Common/Themes/BaseEvoScTheme.cs

See this annotation in the file changed.

@github-actions github-actions / Qodana for .NET

Async function without await expression

This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.

Check warning on line 83 in src/EvoSC.Common/Remote/ChatRouter/RemoteChatRouter.cs

See this annotation in the file changed.

@github-actions github-actions / Qodana for .NET

Async method invocation without await expression

Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call.

Check warning on line 109 in src/Modules/ExampleModule/ExampleController.cs

See this annotation in the file changed.

@github-actions github-actions / Qodana for .NET

Async method invocation without await expression

Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call.

Check warning on line 69 in src/Modules/OpenPlanetModule/Services/OpenPlanetControlService.cs

See this annotation in the file changed.

@github-actions github-actions / Qodana for .NET

The switch expression does not handle some values of its input type (it is not exhaustive) involving an unnamed enum value.

The switch expression does not handle some values of its input type (it is not exhaustive) involving an unnamed enum value. For example, the pattern '(OpJailReason)3' is not covered.

Check warning on line 52 in tests/EvoSC.Common.Tests/Config/Mapping/TextColorTypeParserTests.cs

See this annotation in the file changed.

@github-actions github-actions / Qodana for .NET

Converting null literal or possible null value to non-nullable type.

Converting null literal or possible null value into non-nullable type

Check warning on line 163 in tests/Modules/MapListModule.Tests/Services/MapListServiceTests.cs

See this annotation in the file changed.

@github-actions github-actions / Qodana for .NET

Converting null literal or possible null value to non-nullable type.

Converting null literal or possible null value into non-nullable type

Check warning on line 129 in tests/Modules/MapListModule.Tests/Services/MapListServiceTests.cs

See this annotation in the file changed.

@github-actions github-actions / Qodana for .NET

Converting null literal or possible null value to non-nullable type.

Converting null literal or possible null value into non-nullable type

Check warning on line 259 in tests/Modules/MotdModule.Tests/MotdServiceTests.cs

See this annotation in the file changed.

@github-actions github-actions / Qodana for .NET

Converting null literal or possible null value to non-nullable type.

Converting null literal or possible null value into non-nullable type

Check warning on line 22 in src/EvoSC.Common/Config/Stores/TomlConfigStore.cs

See this annotation in the file changed.

@github-actions github-actions / Qodana for .NET

Converting null literal or possible null value to non-nullable type.

Converting null literal or possible null value into non-nullable type

Check warning on line 34 in src/EvoSC.Common/Middleware/ActionPipeline.cs

See this annotation in the file changed.

@github-actions github-actions / Qodana for .NET

Converting null literal or possible null value to non-nullable type.

Converting null literal or possible null value into non-nullable type

Check warning on line 82 in tests/EvoSC.Common.Tests/Util/EnumIdentifierTests.cs

See this annotation in the file changed.

@github-actions github-actions / Qodana for .NET

Converting null literal or possible null value to non-nullable type.

Converting null literal or possible null value into non-nullable type

Check warning on line 29 in src/EvoSC.Common/Models/Maps/Map.cs

See this annotation in the file changed.

@github-actions github-actions / Qodana for .NET

Possible null reference assignment.

Possible null reference assignment