From e1cd121a88d465e8832c7c46c4045adbc37caa52 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Fri, 18 Mar 2022 11:55:39 -0700 Subject: [PATCH] Fix test failures --- .../CSharpDisableRuntimeMarshalling.FixAllProvider.cs | 6 +++++- .../InteropServices/DisableRuntimeMarshallingTests.cs | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/NetAnalyzers/CSharp/Microsoft.NetCore.Analyzers/InteropServices/CSharpDisableRuntimeMarshalling.FixAllProvider.cs b/src/NetAnalyzers/CSharp/Microsoft.NetCore.Analyzers/InteropServices/CSharpDisableRuntimeMarshalling.FixAllProvider.cs index a3229af508..4bb27f03de 100644 --- a/src/NetAnalyzers/CSharp/Microsoft.NetCore.Analyzers/InteropServices/CSharpDisableRuntimeMarshalling.FixAllProvider.cs +++ b/src/NetAnalyzers/CSharp/Microsoft.NetCore.Analyzers/InteropServices/CSharpDisableRuntimeMarshalling.FixAllProvider.cs @@ -23,7 +23,11 @@ private class CustomFixAllProvider : DocumentBasedFixAllProvider protected override async Task FixAllInDocumentAsync(FixAllContext fixAllContext, Document document, ImmutableArray diagnostics) { - RoslynDebug.Assert(document.Project.CompilationOptions is CSharpCompilationOptions { AllowUnsafe: false }); + if (document.Project.CompilationOptions is CSharpCompilationOptions { AllowUnsafe: false }) + { + // We can't code fix if unsafe code isn't allowed. + return await document.GetSyntaxRootAsync(fixAllContext.CancellationToken); + } var editor = await DocumentEditor.CreateAsync(document, fixAllContext.CancellationToken).ConfigureAwait(false); SyntaxNode root = await document.GetSyntaxRootAsync(fixAllContext.CancellationToken).ConfigureAwait(false); diff --git a/src/NetAnalyzers/UnitTests/Microsoft.NetCore.Analyzers/InteropServices/DisableRuntimeMarshallingTests.cs b/src/NetAnalyzers/UnitTests/Microsoft.NetCore.Analyzers/InteropServices/DisableRuntimeMarshallingTests.cs index a6ea72c2df..261e9c3bfa 100644 --- a/src/NetAnalyzers/UnitTests/Microsoft.NetCore.Analyzers/InteropServices/DisableRuntimeMarshallingTests.cs +++ b/src/NetAnalyzers/UnitTests/Microsoft.NetCore.Analyzers/InteropServices/DisableRuntimeMarshallingTests.cs @@ -1432,7 +1432,7 @@ Dim bar As S size = {|CA1421:Marshal.SizeOf(Of S)()|} bar = {|CA1421:Marshal.PtrToStructure(Of S)(ptr)|} {|CA1421:Marshal.StructureToPtr(bar, ptr, False)|} - size = {|CA1421:Marshal.OffsetOf(GetType(bar), NameOf(bar.Baz))|} + size = {|CA1421:Marshal.OffsetOf(GetType(S), NameOf(bar.Baz))|} size = {|CA1421:Marshal.OffsetOf(Of S)(NameOf(bar.Baz))|} End Sub End Class