From d2217a922dc311743ddda3b59577bd92d45dd35c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 23 Jul 2026 18:00:02 +0000 Subject: [PATCH 1/2] chore(deps): update dependency sonaranalyzer.csharp to 10.30.0.144632 --- Directory.Packages.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index f02dfec..97100d1 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -15,7 +15,7 @@ - + From 9f3ccd83f7dcee0b64105202017f3fc32484b193 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20St=C3=BChmer?= Date: Thu, 23 Jul 2026 20:29:21 +0200 Subject: [PATCH 2/2] fix: resolve S8969 redundant null-forgiving operator warnings Release build failed with S8969 in AnalyzerVerifier and ObjectDisposedExceptionPolyfillsTests. Replaced redundant null-forgiving operators with an explicit null check and by moving the suppression to the null assignment instead of the non-nullable-typed usage site. --- .../AnalyzerVerifier.cs | 7 ++++++- .../ObjectDisposedExceptionPolyfillsTests.cs | 8 ++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/tests/NetEvolve.Arguments.Analyser.Tests.Unit/AnalyzerVerifier.cs b/tests/NetEvolve.Arguments.Analyser.Tests.Unit/AnalyzerVerifier.cs index 6c6ec2e..46332a8 100644 --- a/tests/NetEvolve.Arguments.Analyser.Tests.Unit/AnalyzerVerifier.cs +++ b/tests/NetEvolve.Arguments.Analyser.Tests.Unit/AnalyzerVerifier.cs @@ -87,7 +87,12 @@ bool useLegacyReferences await codeFix.RegisterCodeFixesAsync(fixContext).ConfigureAwait(false); - var operations = await registeredAction!.GetOperationsAsync(CancellationToken.None).ConfigureAwait(false); + if (registeredAction is null) + { + throw new InvalidOperationException("No code fix action was registered."); + } + + var operations = await registeredAction.GetOperationsAsync(CancellationToken.None).ConfigureAwait(false); var applyChanges = operations.OfType().Single(); var newDocument = applyChanges.ChangedSolution.GetDocument(document.Id)!; var newRoot = await newDocument.GetSyntaxRootAsync().ConfigureAwait(false); diff --git a/tests/NetEvolve.Arguments.Tests.Unit/ObjectDisposedExceptionPolyfillsTests.cs b/tests/NetEvolve.Arguments.Tests.Unit/ObjectDisposedExceptionPolyfillsTests.cs index 0e47703..58a0ade 100644 --- a/tests/NetEvolve.Arguments.Tests.Unit/ObjectDisposedExceptionPolyfillsTests.cs +++ b/tests/NetEvolve.Arguments.Tests.Unit/ObjectDisposedExceptionPolyfillsTests.cs @@ -49,9 +49,9 @@ public async Task ThrowIf_WithType_WhenConditionIsFalse_DoesNotThrow() [Test] public async Task ThrowIf_WithNullInstance_WhenConditionIsTrue_ThrowsObjectDisposedException() { - object? instance = null; + object instance = null!; - void Act() => ObjectDisposedException.ThrowIf(true, instance!); + void Act() => ObjectDisposedException.ThrowIf(true, instance); var exception = Assert.Throws(Act); _ = await Assert.That(exception.ObjectName).IsEqualTo(string.Empty); @@ -60,9 +60,9 @@ public async Task ThrowIf_WithNullInstance_WhenConditionIsTrue_ThrowsObjectDispo [Test] public async Task ThrowIf_WithNullType_WhenConditionIsTrue_ThrowsObjectDisposedException() { - Type? type = null; + Type type = null!; - void Act() => ObjectDisposedException.ThrowIf(true, type!); + void Act() => ObjectDisposedException.ThrowIf(true, type); var exception = Assert.Throws(Act); _ = await Assert.That(exception.ObjectName).IsEqualTo(string.Empty);