diff --git a/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedAsyncStepInfo.cs b/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedAsyncStepInfo.cs index 2d49f9ba4c..0e5d8f6dc7 100644 --- a/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedAsyncStepInfo.cs +++ b/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedAsyncStepInfo.cs @@ -18,7 +18,7 @@ public SymUnmanagedAsyncStepInfo(int yieldOffset, int resumeOffset, int resumeMe ResumeMethod = resumeMethod; } - public override bool Equals(object obj) + public override bool Equals(object? obj) { return obj is SymUnmanagedAsyncStepInfo && Equals((SymUnmanagedAsyncStepInfo)obj); } diff --git a/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedExtensions.Constant.cs b/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedExtensions.Constant.cs index 774ce09df9..a909038285 100644 --- a/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedExtensions.Constant.cs +++ b/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedExtensions.Constant.cs @@ -18,7 +18,7 @@ public static string GetName(this ISymUnmanagedConstant constant) } return BufferToString(GetItems(constant, - (ISymUnmanagedConstant a, int b, out int c, char[] d) => a.GetName(b, out c, d))); + (ISymUnmanagedConstant a, int b, out int c, char[] d) => a.GetName(b, out c, d))!); } public static object GetValue(this ISymUnmanagedConstant constant) diff --git a/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedExtensions.Document.cs b/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedExtensions.Document.cs index d54df712ad..bcb9c1ef08 100644 --- a/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedExtensions.Document.cs +++ b/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedExtensions.Document.cs @@ -20,7 +20,7 @@ public static string GetName(this ISymUnmanagedDocument document) } return BufferToString(GetItems(document, - (ISymUnmanagedDocument a, int b, out int c, char[] d) => a.GetUrl(b, out c, d))); + (ISymUnmanagedDocument a, int b, out int c, char[] d) => a.GetUrl(b, out c, d))!); } public static byte[] GetChecksum(this ISymUnmanagedDocument document) diff --git a/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedExtensions.Method.cs b/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedExtensions.Method.cs index 4a81d5b485..e398e4d9b9 100644 --- a/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedExtensions.Method.cs +++ b/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedExtensions.Method.cs @@ -104,7 +104,7 @@ public static IEnumerable GetSequencePoints(this ISym } } - public static ISymUnmanagedAsyncMethod AsAsyncMethod(this ISymUnmanagedMethod method) + public static ISymUnmanagedAsyncMethod? AsAsyncMethod(this ISymUnmanagedMethod method) { var asyncMethod = method as ISymUnmanagedAsyncMethod; if (asyncMethod == null) diff --git a/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedExtensions.Namespace.cs b/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedExtensions.Namespace.cs index 84bc686aad..4dfdb6e80b 100644 --- a/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedExtensions.Namespace.cs +++ b/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedExtensions.Namespace.cs @@ -18,7 +18,7 @@ public static string GetName(this ISymUnmanagedNamespace @namespace) } return BufferToString(GetItems(@namespace, - (ISymUnmanagedNamespace a, int b, out int c, char[] d) => a.GetName(b, out c, d))); + (ISymUnmanagedNamespace a, int b, out int c, char[] d) => a.GetName(b, out c, d))!); } } } diff --git a/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedExtensions.Reader.cs b/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedExtensions.Reader.cs index 65e24a5d39..dfe1bcba5c 100644 --- a/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedExtensions.Reader.cs +++ b/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedExtensions.Reader.cs @@ -16,7 +16,7 @@ partial class SymUnmanagedExtensions // MSCUSTOMDEBUGINFO in Dev10. private const string CdiAttributeName = "MD2"; - public static void UpdateSymbolStore(this ISymUnmanagedReader reader, Stream stream, string fileName = null) + public static void UpdateSymbolStore(this ISymUnmanagedReader reader, Stream stream, string? fileName = null) { if (reader == null) { @@ -26,7 +26,7 @@ public static void UpdateSymbolStore(this ISymUnmanagedReader reader, Stream str ThrowExceptionForHR(reader.UpdateSymbolStore(fileName, SymUnmanagedStreamFactory.CreateStream(stream))); } - public static void Initialize(this ISymUnmanagedReader3 reader, Stream stream, object metadataImporter, string fileName = null, string searchPath = null) + public static void Initialize(this ISymUnmanagedReader3 reader, Stream stream, object metadataImporter, string? fileName = null, string? searchPath = null) { if (reader == null) { @@ -39,7 +39,7 @@ public static void Initialize(this ISymUnmanagedReader3 reader, Stream stream, o /// /// Get the blob of binary custom debug info for a given method. /// - public static byte[] GetCustomDebugInfo(this ISymUnmanagedReader3 reader, int methodToken, int methodVersion) + public static byte[]? GetCustomDebugInfo(this ISymUnmanagedReader3 reader, int methodToken, int methodVersion) { if (reader == null) { @@ -113,7 +113,7 @@ public static ISymUnmanagedMethod[] GetMethodsInDocument(this ISymUnmanagedReade (ISymUnmanagedReader2 a, ISymUnmanagedDocument b, int c, out int d, ISymUnmanagedMethod[] e) => a.GetMethodsInDocument(b, c, out d, e))); } - public static ISymUnmanagedMethod GetMethod(this ISymUnmanagedReader reader, int methodToken) + public static ISymUnmanagedMethod? GetMethod(this ISymUnmanagedReader reader, int methodToken) { if (reader == null) { @@ -137,7 +137,7 @@ public static ISymUnmanagedMethod GetMethod(this ISymUnmanagedReader reader, int return method; } - public static ISymUnmanagedMethod GetMethodByVersion(this ISymUnmanagedReader reader, int methodToken, int methodVersion) + public static ISymUnmanagedMethod? GetMethodByVersion(this ISymUnmanagedReader reader, int methodToken, int methodVersion) { if (reader == null) { @@ -176,7 +176,7 @@ public static int GetMethodVersion(this ISymUnmanagedReader reader, ISymUnmanage /// /// Returns compiler version number and name. /// - public static bool TryGetCompilerInfo(this ISymUnmanagedCompilerInfoReader reader, out Version version, out string name) + public static bool TryGetCompilerInfo(this ISymUnmanagedCompilerInfoReader reader, out Version? version, out string? name) { if (reader == null) { diff --git a/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedExtensions.Variable.cs b/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedExtensions.Variable.cs index 861ab6adae..d8d20c8b02 100644 --- a/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedExtensions.Variable.cs +++ b/src/Microsoft.DiaSymReader/Extensions/SymUnmanagedExtensions.Variable.cs @@ -42,7 +42,7 @@ public static string GetName(this ISymUnmanagedVariable local) } return BufferToString(GetItems(local, - (ISymUnmanagedVariable a, int b, out int c, char[] d) => a.GetName(b, out c, d))); + (ISymUnmanagedVariable a, int b, out int c, char[] d) => a.GetName(b, out c, d))!); } } } diff --git a/src/Microsoft.DiaSymReader/Metadata/SymReaderMetadataAdapter.cs b/src/Microsoft.DiaSymReader/Metadata/SymReaderMetadataAdapter.cs index ea23c5491b..dcbe850a14 100644 --- a/src/Microsoft.DiaSymReader/Metadata/SymReaderMetadataAdapter.cs +++ b/src/Microsoft.DiaSymReader/Metadata/SymReaderMetadataAdapter.cs @@ -24,7 +24,7 @@ internal unsafe sealed partial class SymReaderMetadataAdapter : MetadataAdapterB public SymReaderMetadataAdapter(ISymReaderMetadataProvider metadataProvider) { Debug.Assert(metadataProvider != null); - _metadataProvider = metadataProvider; + _metadataProvider = metadataProvider!; } public override int GetSigFromToken( diff --git a/src/Microsoft.DiaSymReader/Metadata/SymWriterMetadataAdapter.cs b/src/Microsoft.DiaSymReader/Metadata/SymWriterMetadataAdapter.cs index e6270cbc4d..cd578ba125 100644 --- a/src/Microsoft.DiaSymReader/Metadata/SymWriterMetadataAdapter.cs +++ b/src/Microsoft.DiaSymReader/Metadata/SymWriterMetadataAdapter.cs @@ -25,7 +25,7 @@ internal unsafe sealed partial class SymWriterMetadataAdapter : MetadataAdapterB public SymWriterMetadataAdapter(ISymWriterMetadataProvider metadataProvider) { Debug.Assert(metadataProvider != null); - _metadataProvider = metadataProvider; + _metadataProvider = metadataProvider!; } public override int GetTokenFromSig(byte* voidPointerSig, int byteCountSig) diff --git a/src/Microsoft.DiaSymReader/Microsoft.DiaSymReader.csproj b/src/Microsoft.DiaSymReader/Microsoft.DiaSymReader.csproj index f36bfd699f..587ade6ba2 100644 --- a/src/Microsoft.DiaSymReader/Microsoft.DiaSymReader.csproj +++ b/src/Microsoft.DiaSymReader/Microsoft.DiaSymReader.csproj @@ -3,6 +3,7 @@ $(NetCurrent);netstandard2.0 true + enable true true Microsoft DiaSymReader interop interfaces and utilities. diff --git a/src/Microsoft.DiaSymReader/Reader/ISymUnmanagedReader.cs b/src/Microsoft.DiaSymReader/Reader/ISymUnmanagedReader.cs index 1cc97b9a6a..0d413ce59d 100644 --- a/src/Microsoft.DiaSymReader/Reader/ISymUnmanagedReader.cs +++ b/src/Microsoft.DiaSymReader/Reader/ISymUnmanagedReader.cs @@ -79,15 +79,15 @@ int GetNamespaces( [PreserveSig] int Initialize( [MarshalAs(UnmanagedType.Interface)] object metadataImporter, - [MarshalAs(UnmanagedType.LPWStr)] string fileName, - [MarshalAs(UnmanagedType.LPWStr)] string searchPath, + [MarshalAs(UnmanagedType.LPWStr)] string? fileName, + [MarshalAs(UnmanagedType.LPWStr)] string? searchPath, #if NET9_0_OR_GREATER [MarshalUsing(typeof(ComStreamWrapper.Marshaller))] #endif System.Runtime.InteropServices.ComTypes.IStream stream); [PreserveSig] - int UpdateSymbolStore([MarshalAs(UnmanagedType.LPWStr)] string fileName, + int UpdateSymbolStore([MarshalAs(UnmanagedType.LPWStr)] string? fileName, #if NET9_0_OR_GREATER [MarshalUsing(typeof(ComStreamWrapper.Marshaller))] #endif diff --git a/src/Microsoft.DiaSymReader/Reader/ISymUnmanagedReader2.cs b/src/Microsoft.DiaSymReader/Reader/ISymUnmanagedReader2.cs index dcba7e8470..8b3ad89bda 100644 --- a/src/Microsoft.DiaSymReader/Reader/ISymUnmanagedReader2.cs +++ b/src/Microsoft.DiaSymReader/Reader/ISymUnmanagedReader2.cs @@ -85,12 +85,12 @@ public partial interface ISymUnmanagedReader2 : ISymUnmanagedReader [PreserveSig] new int Initialize( [MarshalAs(UnmanagedType.Interface)] object metadataImporter, - [MarshalAs(UnmanagedType.LPWStr)] string fileName, - [MarshalAs(UnmanagedType.LPWStr)] string searchPath, + [MarshalAs(UnmanagedType.LPWStr)] string? fileName, + [MarshalAs(UnmanagedType.LPWStr)] string? searchPath, IStream stream); [PreserveSig] - new int UpdateSymbolStore([MarshalAs(UnmanagedType.LPWStr)] string fileName, IStream stream); + new int UpdateSymbolStore([MarshalAs(UnmanagedType.LPWStr)] string? fileName, IStream stream); [PreserveSig] new int ReplaceSymbolStore([MarshalAs(UnmanagedType.LPWStr)] string fileName, IStream stream); diff --git a/src/Microsoft.DiaSymReader/Reader/ISymUnmanagedReader3.cs b/src/Microsoft.DiaSymReader/Reader/ISymUnmanagedReader3.cs index adc5b94714..8736d23911 100644 --- a/src/Microsoft.DiaSymReader/Reader/ISymUnmanagedReader3.cs +++ b/src/Microsoft.DiaSymReader/Reader/ISymUnmanagedReader3.cs @@ -85,12 +85,12 @@ public partial interface ISymUnmanagedReader3 : ISymUnmanagedReader2 [PreserveSig] new int Initialize( [MarshalAs(UnmanagedType.Interface)] object metadataImporter, - [MarshalAs(UnmanagedType.LPWStr)] string fileName, - [MarshalAs(UnmanagedType.LPWStr)] string searchPath, + [MarshalAs(UnmanagedType.LPWStr)] string? fileName, + [MarshalAs(UnmanagedType.LPWStr)] string? searchPath, IStream stream); [PreserveSig] - new int UpdateSymbolStore([MarshalAs(UnmanagedType.LPWStr)] string fileName, IStream stream); + new int UpdateSymbolStore([MarshalAs(UnmanagedType.LPWStr)] string? fileName, IStream stream); [PreserveSig] new int ReplaceSymbolStore([MarshalAs(UnmanagedType.LPWStr)] string fileName, IStream stream); diff --git a/src/Microsoft.DiaSymReader/Reader/ISymUnmanagedReader4.cs b/src/Microsoft.DiaSymReader/Reader/ISymUnmanagedReader4.cs index eda7a251fa..b2cd8cf74c 100644 --- a/src/Microsoft.DiaSymReader/Reader/ISymUnmanagedReader4.cs +++ b/src/Microsoft.DiaSymReader/Reader/ISymUnmanagedReader4.cs @@ -85,12 +85,12 @@ public partial interface ISymUnmanagedReader4 : ISymUnmanagedReader3 [PreserveSig] new int Initialize( [MarshalAs(UnmanagedType.Interface)] object metadataImporter, - [MarshalAs(UnmanagedType.LPWStr)] string fileName, - [MarshalAs(UnmanagedType.LPWStr)] string searchPath, + [MarshalAs(UnmanagedType.LPWStr)] string? fileName, + [MarshalAs(UnmanagedType.LPWStr)] string? searchPath, IStream stream); [PreserveSig] - new int UpdateSymbolStore([MarshalAs(UnmanagedType.LPWStr)] string fileName, IStream stream); + new int UpdateSymbolStore([MarshalAs(UnmanagedType.LPWStr)] string? fileName, IStream stream); [PreserveSig] new int ReplaceSymbolStore([MarshalAs(UnmanagedType.LPWStr)] string fileName, IStream stream); diff --git a/src/Microsoft.DiaSymReader/Reader/ISymUnmanagedReader5.cs b/src/Microsoft.DiaSymReader/Reader/ISymUnmanagedReader5.cs index 0721ee7f71..2ef6164720 100644 --- a/src/Microsoft.DiaSymReader/Reader/ISymUnmanagedReader5.cs +++ b/src/Microsoft.DiaSymReader/Reader/ISymUnmanagedReader5.cs @@ -85,12 +85,12 @@ public unsafe partial interface ISymUnmanagedReader5 : ISymUnmanagedReader4 [PreserveSig] new int Initialize( [MarshalAs(UnmanagedType.Interface)] object metadataImporter, - [MarshalAs(UnmanagedType.LPWStr)] string fileName, - [MarshalAs(UnmanagedType.LPWStr)] string searchPath, + [MarshalAs(UnmanagedType.LPWStr)] string? fileName, + [MarshalAs(UnmanagedType.LPWStr)] string? searchPath, IStream stream); [PreserveSig] - new int UpdateSymbolStore([MarshalAs(UnmanagedType.LPWStr)] string fileName, IStream stream); + new int UpdateSymbolStore([MarshalAs(UnmanagedType.LPWStr)] string? fileName, IStream stream); [PreserveSig] new int ReplaceSymbolStore([MarshalAs(UnmanagedType.LPWStr)] string fileName, IStream stream); diff --git a/src/Microsoft.DiaSymReader/Reader/ISymUnmanagedReader6.cs b/src/Microsoft.DiaSymReader/Reader/ISymUnmanagedReader6.cs index 6500f8ef16..3b674e2531 100644 --- a/src/Microsoft.DiaSymReader/Reader/ISymUnmanagedReader6.cs +++ b/src/Microsoft.DiaSymReader/Reader/ISymUnmanagedReader6.cs @@ -24,6 +24,6 @@ int GetCompilerInfo( out ushort revision, int bufferLength, out int count, - [In, Out, MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0)] char[] name); + [In, Out, MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0)] char[]? name); } } diff --git a/src/Microsoft.DiaSymReader/Reader/SymUnmanagedReaderFactory.cs b/src/Microsoft.DiaSymReader/Reader/SymUnmanagedReaderFactory.cs index fda72897cc..e7af55c058 100644 --- a/src/Microsoft.DiaSymReader/Reader/SymUnmanagedReaderFactory.cs +++ b/src/Microsoft.DiaSymReader/Reader/SymUnmanagedReaderFactory.cs @@ -49,7 +49,7 @@ public static TSymUnmanagedReader CreateReaderWithMetadataImport.ConvertToManaged((void*)native); + IUnsafeComStream? marshalledStream = ComInterfaceMarshaller.ConvertToManaged((void*)native); if (marshalledStream is null) { throw new NotSupportedException("IStream cannot be marshalled to managed"); diff --git a/src/Microsoft.DiaSymReader/Utilities/IUnsafeComStream.cs b/src/Microsoft.DiaSymReader/Utilities/IUnsafeComStream.cs index aa4e751efd..6b94977282 100644 --- a/src/Microsoft.DiaSymReader/Utilities/IUnsafeComStream.cs +++ b/src/Microsoft.DiaSymReader/Utilities/IUnsafeComStream.cs @@ -45,7 +45,7 @@ internal unsafe partial interface IUnsafeComStream [NativeMarshalling(typeof(STATSTGMarshaller))] public struct STATSTG { - public string pwcsName; + public string? pwcsName; public int type; public long cbSize; public FILETIME mtime; @@ -79,7 +79,7 @@ public struct Native public static STATSTG ConvertToManaged(Native n) { - string name = null; + string? name = null; if (n.pwcsName != null) { name = Utf16StringMarshaller.ConvertToManaged(n.pwcsName); diff --git a/src/Microsoft.DiaSymReader/Utilities/InteropUtilities.cs b/src/Microsoft.DiaSymReader/Utilities/InteropUtilities.cs index ddbcac9bf6..b137abf547 100644 --- a/src/Microsoft.DiaSymReader/Utilities/InteropUtilities.cs +++ b/src/Microsoft.DiaSymReader/Utilities/InteropUtilities.cs @@ -12,7 +12,7 @@ internal class InteropUtilities { private static readonly IntPtr s_ignoreIErrorInfo = new IntPtr(-1); - internal static T[] NullToEmpty(T[] items) => items == null ? [] : items; + internal static T[] NullToEmpty(T[]? items) => items == null ? [] : items; internal static void ThrowExceptionForHR(int hr) { @@ -24,14 +24,9 @@ internal static void ThrowExceptionForHR(int hr) } } - internal unsafe static void CopyQualifiedTypeName(char* qualifiedName, int qualifiedNameBufferLength, int* qualifiedNameLength, string namespaceStr, string nameStr) + internal unsafe static void CopyQualifiedTypeName(char* qualifiedName, int qualifiedNameBufferLength, int* qualifiedNameLength, string? namespaceStr, string nameStr) { - Debug.Assert(nameStr != null); - - if (namespaceStr == null) - { - namespaceStr = string.Empty; - } + namespaceStr ??= string.Empty; if (qualifiedNameLength != null) { @@ -102,7 +97,7 @@ internal static void ValidateItems(int actualCount, int bufferLength) } } - internal static TItem[] GetItems(TEntity entity, CountGetter countGetter, ItemsGetter itemsGetter) + internal static TItem[]? GetItems(TEntity entity, CountGetter countGetter, ItemsGetter itemsGetter) { int count; ThrowExceptionForHR(countGetter(entity, out count)); @@ -117,10 +112,10 @@ internal static TItem[] GetItems(TEntity entity, CountGetter(TEntity entity, ItemsGetter getter) + internal static TItem[]? GetItems(TEntity entity, ItemsGetter getter) { int count; - ThrowExceptionForHR(getter(entity, 0, out count, null)); + ThrowExceptionForHR(getter(entity, 0, out count, null!)); if (count == 0) { return null; @@ -132,10 +127,10 @@ internal static TItem[] GetItems(TEntity entity, ItemsGetter(TEntity entity, TArg1 arg1, ItemsGetter getter) + internal static TItem[]? GetItems(TEntity entity, TArg1 arg1, ItemsGetter getter) { int count; - ThrowExceptionForHR(getter(entity, arg1, 0, out count, null)); + ThrowExceptionForHR(getter(entity, arg1, 0, out count, null!)); if (count == 0) { return null; @@ -147,10 +142,10 @@ internal static TItem[] GetItems(TEntity entity, TArg1 ar return result; } - internal static TItem[] GetItems(TEntity entity, TArg1 arg1, TArg2 arg2, ItemsGetter getter) + internal static TItem[]? GetItems(TEntity entity, TArg1 arg1, TArg2 arg2, ItemsGetter getter) { int count; - ThrowExceptionForHR(getter(entity, arg1, arg2, 0, out count, null)); + ThrowExceptionForHR(getter(entity, arg1, arg2, 0, out count, null!)); if (count == 0) { return null; diff --git a/src/Microsoft.DiaSymReader/Writer/SymUnmanagedWriterException.cs b/src/Microsoft.DiaSymReader/Writer/SymUnmanagedWriterException.cs index 159fe5aaf6..a529fbb3a1 100644 --- a/src/Microsoft.DiaSymReader/Writer/SymUnmanagedWriterException.cs +++ b/src/Microsoft.DiaSymReader/Writer/SymUnmanagedWriterException.cs @@ -14,7 +14,7 @@ public sealed class SymUnmanagedWriterException : Exception /// /// The name of the module that implements the underlying PDB writer (e.g. diasymreader.dll), or null if not available. /// - public string ImplementationModuleName { get; } + public string? ImplementationModuleName { get; } public SymUnmanagedWriterException() { @@ -29,13 +29,13 @@ public SymUnmanagedWriterException(string message, Exception innerException) { } - public SymUnmanagedWriterException(string message, Exception innerException, string implementationModuleName) + public SymUnmanagedWriterException(string message, Exception innerException, string? implementationModuleName) : base(message, innerException) { ImplementationModuleName = implementationModuleName; } - internal SymUnmanagedWriterException(Exception innerException, string implementationModuleName) + internal SymUnmanagedWriterException(Exception innerException, string? implementationModuleName) : this(innerException.Message, innerException, implementationModuleName) { } diff --git a/src/Microsoft.DiaSymReader/Writer/SymUnmanagedWriterFactory.cs b/src/Microsoft.DiaSymReader/Writer/SymUnmanagedWriterFactory.cs index b69b3b987b..d9eb4b072d 100644 --- a/src/Microsoft.DiaSymReader/Writer/SymUnmanagedWriterFactory.cs +++ b/src/Microsoft.DiaSymReader/Writer/SymUnmanagedWriterFactory.cs @@ -55,7 +55,7 @@ public static SymUnmanagedWriter CreateWriter( throw loadException; } - throw new DllNotFoundException(loadException.Message, loadException); + throw new DllNotFoundException(loadException!.Message, loadException); } if (!(symWriter is ISymUnmanagedWriter5 symWriter5)) @@ -91,7 +91,7 @@ public static SymUnmanagedWriter CreateWriter( throw new SymUnmanagedWriterException(e, implModuleName); } - return new SymUnmanagedWriterImpl(pdbStream, symWriter5, implModuleName); + return new SymUnmanagedWriterImpl(pdbStream, symWriter5, implModuleName!); } } } diff --git a/src/Microsoft.DiaSymReader/Writer/SymUnmanagedWriterImpl.cs b/src/Microsoft.DiaSymReader/Writer/SymUnmanagedWriterImpl.cs index 669c3d871d..2cc9d2e0a1 100644 --- a/src/Microsoft.DiaSymReader/Writer/SymUnmanagedWriterImpl.cs +++ b/src/Microsoft.DiaSymReader/Writer/SymUnmanagedWriterImpl.cs @@ -20,7 +20,7 @@ internal sealed class SymUnmanagedWriterImpl : SymUnmanagedWriter { private static object s_zeroInt32 = 0; - private ISymUnmanagedWriter5 _symWriter; + private ISymUnmanagedWriter5? _symWriter; private readonly ComMemoryStream _pdbStream; private readonly List _documentWriters; private readonly string _symWriterModuleName; @@ -32,10 +32,10 @@ internal SymUnmanagedWriterImpl(ComMemoryStream pdbStream, ISymUnmanagedWriter5 Debug.Assert(symWriter != null); Debug.Assert(symWriterModuleName != null); - _pdbStream = pdbStream; - _symWriter = symWriter; + _pdbStream = pdbStream!; + _symWriter = symWriter!; _documentWriters = new List(); - _symWriterModuleName = symWriterModuleName; + _symWriterModuleName = symWriterModuleName!; } private ISymUnmanagedWriter5 GetSymWriter() @@ -365,8 +365,6 @@ private unsafe void DefineLocalConstantImpl(ISymUnmanagedWriter5 symWriter, stri private bool DefineLocalStringConstant(ISymUnmanagedWriter5 symWriter, string name, string value, int constantSignatureToken) { - Debug.Assert(value != null); - int encodedLength; // ISymUnmanagedWriter2 doesn't handle unicode strings with unmatched unicode surrogates.