1013 new problems found by Qodana for .NET
Qodana for .NET
1013 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 | 107 |
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 117 dependencies
Third-party software list
This page lists the third-party software dependencies used in EvoSC
Contact Qodana team
Contact us at [email protected]
- Or via our issue tracker: https://jb.gg/qodana-issue
- Or share your feedback: https://jb.gg/qodana-discussions
Details
This result was published with Qodana GitHub Action
Annotations
Check warning on line 11 in src/EvoSC.Common/Exceptions/EvoSCException.cs
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
github-actions / Qodana for .NET
Possible null reference assignment.
Possible null reference assignment