diff --git a/src/AsmResolver.DotNet/Builder/Metadata/Blob/BlobStreamBuffer.cs b/src/AsmResolver.DotNet/Builder/Metadata/Blob/BlobStreamBuffer.cs index b9283f323..691afffa6 100644 --- a/src/AsmResolver.DotNet/Builder/Metadata/Blob/BlobStreamBuffer.cs +++ b/src/AsmResolver.DotNet/Builder/Metadata/Blob/BlobStreamBuffer.cs @@ -14,7 +14,7 @@ namespace AsmResolver.DotNet.Builder.Metadata.Blob public class BlobStreamBuffer : IMetadataStreamBuffer { private readonly MemoryStream _rawStream = new(); - private readonly IBinaryStreamWriter _writer; + private readonly BinaryStreamWriter _writer; private readonly Dictionary _blobs = new(ByteArrayEqualityComparer.Instance); /// diff --git a/src/AsmResolver.DotNet/Builder/Metadata/Guid/GuidStreamBuffer.cs b/src/AsmResolver.DotNet/Builder/Metadata/Guid/GuidStreamBuffer.cs index 710ff651a..aacf2ba7d 100644 --- a/src/AsmResolver.DotNet/Builder/Metadata/Guid/GuidStreamBuffer.cs +++ b/src/AsmResolver.DotNet/Builder/Metadata/Guid/GuidStreamBuffer.cs @@ -13,7 +13,7 @@ namespace AsmResolver.DotNet.Builder.Metadata.Guid public class GuidStreamBuffer : IMetadataStreamBuffer { private readonly MemoryStream _rawStream = new(); - private readonly IBinaryStreamWriter _writer; + private readonly BinaryStreamWriter _writer; private readonly Dictionary _guids = new(); /// diff --git a/src/AsmResolver.DotNet/Builder/Metadata/UserStrings/UserStringsStreamBuffer.cs b/src/AsmResolver.DotNet/Builder/Metadata/UserStrings/UserStringsStreamBuffer.cs index 15df10919..c6706b3cf 100644 --- a/src/AsmResolver.DotNet/Builder/Metadata/UserStrings/UserStringsStreamBuffer.cs +++ b/src/AsmResolver.DotNet/Builder/Metadata/UserStrings/UserStringsStreamBuffer.cs @@ -14,7 +14,7 @@ namespace AsmResolver.DotNet.Builder.Metadata.UserStrings public class UserStringsStreamBuffer : IMetadataStreamBuffer { private readonly MemoryStream _rawStream = new(); - private readonly IBinaryStreamWriter _writer; + private readonly BinaryStreamWriter _writer; private readonly Dictionary _strings = new(); /// diff --git a/src/AsmResolver.DotNet/Builder/Resources/DotNetResourcesDirectoryBuffer.cs b/src/AsmResolver.DotNet/Builder/Resources/DotNetResourcesDirectoryBuffer.cs index 524b55ae2..073df1eec 100644 --- a/src/AsmResolver.DotNet/Builder/Resources/DotNetResourcesDirectoryBuffer.cs +++ b/src/AsmResolver.DotNet/Builder/Resources/DotNetResourcesDirectoryBuffer.cs @@ -12,7 +12,7 @@ namespace AsmResolver.DotNet.Builder.Resources public class DotNetResourcesDirectoryBuffer { private readonly MemoryStream _rawStream = new(); - private readonly IBinaryStreamWriter _writer; + private readonly BinaryStreamWriter _writer; private readonly Dictionary _dataOffsets = new(ByteArrayEqualityComparer.Instance); /// diff --git a/src/AsmResolver.DotNet/Collections/ParameterCollection.cs b/src/AsmResolver.DotNet/Collections/ParameterCollection.cs index 1d6639dcc..a2e8b4c5d 100644 --- a/src/AsmResolver.DotNet/Collections/ParameterCollection.cs +++ b/src/AsmResolver.DotNet/Collections/ParameterCollection.cs @@ -15,7 +15,7 @@ namespace AsmResolver.DotNet.Collections [DebuggerDisplay("Count = {" + nameof(Count) + "}")] public class ParameterCollection : IReadOnlyList { - private readonly IList _parameters = new List(); + private readonly List _parameters = new List(); private readonly MethodDefinition _owner; private bool _hasThis; diff --git a/src/AsmResolver.DotNet/DefaultMetadataResolver.cs b/src/AsmResolver.DotNet/DefaultMetadataResolver.cs index 2d0031695..30bab5716 100644 --- a/src/AsmResolver.DotNet/DefaultMetadataResolver.cs +++ b/src/AsmResolver.DotNet/DefaultMetadataResolver.cs @@ -12,7 +12,7 @@ namespace AsmResolver.DotNet /// public class DefaultMetadataResolver : IMetadataResolver { - private readonly IDictionary _typeCache; + private readonly ConcurrentDictionary _typeCache; private readonly SignatureComparer _comparer = new() { AcceptNewerAssemblyVersionNumbers = true @@ -55,7 +55,7 @@ public IAssemblyResolver AssemblyResolver // Check if type definition has changed since last lookup. if (typeDef.IsTypeOf(type.Namespace, type.Name)) return typeDef; - _typeCache.Remove(type); + _typeCache.TryRemove(type, out _); } return null; diff --git a/src/AsmResolver.PE.File/SerializedPEFile.cs b/src/AsmResolver.PE.File/SerializedPEFile.cs index ded5c5b04..44af78a71 100644 --- a/src/AsmResolver.PE.File/SerializedPEFile.cs +++ b/src/AsmResolver.PE.File/SerializedPEFile.cs @@ -10,7 +10,7 @@ namespace AsmResolver.PE.File /// public class SerializedPEFile : PEFile { - private readonly IList _sectionHeaders; + private readonly List _sectionHeaders; private readonly BinaryStreamReader _reader; /// diff --git a/src/AsmResolver.PE.Win32Resources/Icon/IconResource.cs b/src/AsmResolver.PE.Win32Resources/Icon/IconResource.cs index d7db9fd79..9904b1a1a 100644 --- a/src/AsmResolver.PE.Win32Resources/Icon/IconResource.cs +++ b/src/AsmResolver.PE.Win32Resources/Icon/IconResource.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; @@ -12,7 +12,7 @@ public class IconResource : IWin32Resource /// /// Used to keep track of icon groups. /// - private readonly IDictionary _entries = new Dictionary(); + private readonly Dictionary _entries = new Dictionary(); /// /// Obtains the icon group resources from the provided root win32 resources directory. diff --git a/src/AsmResolver.PE.Win32Resources/Version/StringTable.cs b/src/AsmResolver.PE.Win32Resources/Version/StringTable.cs index 2089b4eec..3d88a0b1a 100644 --- a/src/AsmResolver.PE.Win32Resources/Version/StringTable.cs +++ b/src/AsmResolver.PE.Win32Resources/Version/StringTable.cs @@ -122,7 +122,7 @@ private static KeyValuePair ReadEntry(ref BinaryStreamReader rea return new KeyValuePair(header.Key, value); } - private readonly IDictionary _entries = new Dictionary(); + private readonly Dictionary _entries = new Dictionary(); /// /// Creates a new string table. diff --git a/src/AsmResolver.PE.Win32Resources/Version/VersionInfoResource.cs b/src/AsmResolver.PE.Win32Resources/Version/VersionInfoResource.cs index 2b7334ef2..666591d7c 100644 --- a/src/AsmResolver.PE.Win32Resources/Version/VersionInfoResource.cs +++ b/src/AsmResolver.PE.Win32Resources/Version/VersionInfoResource.cs @@ -98,7 +98,7 @@ private static VersionTableEntry ReadNextEntry(ref BinaryStreamReader reader) } private FixedVersionInfo _fixedVersionInfo = new FixedVersionInfo(); - private readonly IDictionary _entries = new Dictionary(); + private readonly Dictionary _entries = new Dictionary(); /// public override string Key => VsVersionInfoKey; diff --git a/src/AsmResolver.PE/DotNet/Metadata/Tables/TablesStream.cs b/src/AsmResolver.PE/DotNet/Metadata/Tables/TablesStream.cs index 017bb9490..4d903de19 100644 --- a/src/AsmResolver.PE/DotNet/Metadata/Tables/TablesStream.cs +++ b/src/AsmResolver.PE/DotNet/Metadata/Tables/TablesStream.cs @@ -31,7 +31,7 @@ public class TablesStream : SegmentBase, IMetadataStream /// public const string UncompressedStreamName = "#Schema"; - private readonly IDictionary _indexEncoders; + private readonly Dictionary _indexEncoders; private readonly LazyVariable> _tables; private readonly LazyVariable> _layouts;