提交 83f7b58c 编写于 作者: L Lakshmi Priya

Formatting changes to System.Reflection.Metadata


Commit migrated from https://github.com/dotnet/corefx/commit/ea10b2e57ac455b1aa53756e7b89a475fbf23421
上级 3c99b4d0
......@@ -11,28 +11,28 @@ namespace System.Reflection.Internal
/// </summary>
internal sealed class ByteArrayMemoryBlock : AbstractMemoryBlock
{
private ByteArrayMemoryProvider provider;
private readonly int start;
private readonly int size;
private ByteArrayMemoryProvider _provider;
private readonly int _start;
private readonly int _size;
internal ByteArrayMemoryBlock(ByteArrayMemoryProvider provider, int start, int size)
{
this.provider = provider;
this.size = size;
this.start = start;
_provider = provider;
_size = size;
_start = start;
}
protected override void Dispose(bool disposing)
{
Debug.Assert(disposing);
provider = null;
_provider = null;
}
public unsafe override byte* Pointer
{
get
{
return provider.Pointer + start;
return _provider.Pointer + _start;
}
}
......@@ -40,13 +40,13 @@ public override int Size
{
get
{
return size;
return _size;
}
}
public override ImmutableArray<byte> GetContent(int offset)
{
return ImmutableArray.Create(provider.array, start + offset, size - offset);
return ImmutableArray.Create(_provider.array, _start + offset, _size - offset);
}
}
}
\ No newline at end of file
......@@ -12,7 +12,7 @@ namespace System.Reflection.Internal
internal sealed class ByteArrayMemoryProvider : MemoryBlockProvider
{
internal readonly ImmutableArray<byte> array;
private StrongBox<GCHandle> pinned;
private StrongBox<GCHandle> _pinned;
public ByteArrayMemoryProvider(ImmutableArray<byte> array)
{
......@@ -26,10 +26,10 @@ public ByteArrayMemoryProvider(ImmutableArray<byte> array)
protected override void Dispose(bool disposing)
{
if (pinned != null)
if (_pinned != null)
{
pinned.Value.Free();
pinned = null;
_pinned.Value.Free();
_pinned = null;
}
}
......@@ -56,19 +56,19 @@ public override Stream GetStream(out StreamConstraints constraints)
{
get
{
if (pinned == null)
if (_pinned == null)
{
var newPinned = new StrongBox<GCHandle>(
GCHandle.Alloc(ImmutableByteArrayInterop.DangerousGetUnderlyingArray(array), GCHandleType.Pinned));
if (Interlocked.CompareExchange(ref pinned, newPinned, null) != null)
if (Interlocked.CompareExchange(ref _pinned, newPinned, null) != null)
{
// another thread has already allocated the handle:
newPinned.Value.Free();
}
}
return (byte*)pinned.Value.AddrOfPinnedObject();
return (byte*)_pinned.Value.AddrOfPinnedObject();
}
}
}
......
......@@ -12,39 +12,39 @@ namespace System.Reflection.Internal
internal unsafe sealed class ExternalMemoryBlock : AbstractMemoryBlock
{
// keeps the owner of the memory alive as long as the block is alive:
private readonly object memoryOwner;
private readonly object _memoryOwner;
private byte* buffer;
private int size;
private byte* _buffer;
private int _size;
public ExternalMemoryBlock(object memoryOwner, byte* buffer, int size)
{
this.memoryOwner = memoryOwner;
this.buffer = buffer;
this.size = size;
_memoryOwner = memoryOwner;
_buffer = buffer;
_size = size;
}
protected override void Dispose(bool disposing)
{
Debug.Assert(disposing);
this.buffer = null;
this.size = 0;
_buffer = null;
_size = 0;
}
public override byte* Pointer
{
get { return this.buffer; }
get { return _buffer; }
}
public override int Size
{
get { return this.size; }
get { return _size; }
}
public override ImmutableArray<byte> GetContent(int offset)
{
var result = CreateImmutableArray((this.buffer + offset), this.size - offset);
GC.KeepAlive(memoryOwner);
var result = CreateImmutableArray((_buffer + offset), _size - offset);
GC.KeepAlive(_memoryOwner);
return result;
}
}
......
......@@ -11,32 +11,32 @@ namespace System.Reflection.Internal
/// </summary>
internal unsafe sealed class ExternalMemoryBlockProvider : MemoryBlockProvider
{
private byte* memory;
private int size;
private byte* _memory;
private int _size;
public unsafe ExternalMemoryBlockProvider(byte* memory, int size)
{
this.memory = memory;
this.size = size;
_memory = memory;
_size = size;
}
public override int Size
{
get
{
return size;
return _size;
}
}
protected override AbstractMemoryBlock GetMemoryBlockImpl(int start, int size)
{
return new ExternalMemoryBlock(this, memory + start, size);
return new ExternalMemoryBlock(this, _memory + start, size);
}
public override Stream GetStream(out StreamConstraints constraints)
{
constraints = new StreamConstraints(null, 0, size);
return new ReadOnlyUnmanagedMemoryStream(memory, size);
constraints = new StreamConstraints(null, 0, _size);
return new ReadOnlyUnmanagedMemoryStream(_memory, _size);
}
protected override void Dispose(bool disposing)
......@@ -44,15 +44,15 @@ protected override void Dispose(bool disposing)
Debug.Assert(disposing);
// we don't own the memory, just null out the pointer.
memory = null;
size = 0;
_memory = null;
_size = 0;
}
public byte* Pointer
{
get
{
return memory;
return _memory;
}
}
}
......
......@@ -8,16 +8,16 @@ namespace System.Reflection.Internal
{
internal unsafe sealed class MemoryMappedFileBlock : AbstractMemoryBlock
{
private readonly int size;
private IDisposable accessor; // MemoryMappedViewAccessor
private byte* pointer;
private SafeBuffer safeBuffer;
private readonly int _size;
private IDisposable _accessor; // MemoryMappedViewAccessor
private byte* _pointer;
private SafeBuffer _safeBuffer;
internal unsafe MemoryMappedFileBlock(IDisposable accessor, int size)
{
this.accessor = accessor;
this.pointer = MemoryMapLightUp.AcquirePointer(accessor, out safeBuffer);
this.size = size;
_accessor = accessor;
_pointer = MemoryMapLightUp.AcquirePointer(accessor, out _safeBuffer);
_size = size;
}
~MemoryMappedFileBlock()
......@@ -27,29 +27,29 @@ internal unsafe MemoryMappedFileBlock(IDisposable accessor, int size)
protected override void Dispose(bool disposing)
{
if (safeBuffer != null)
if (_safeBuffer != null)
{
safeBuffer.ReleasePointer();
safeBuffer = null;
_safeBuffer.ReleasePointer();
_safeBuffer = null;
}
if (accessor != null)
if (_accessor != null)
{
accessor.Dispose();
accessor = null;
_accessor.Dispose();
_accessor = null;
}
pointer = null;
_pointer = null;
}
public override byte* Pointer
{
get { return this.pointer; }
get { return _pointer; }
}
public override int Size
{
get { return size; }
get { return _size; }
}
public override ImmutableArray<byte> GetContent(int offset)
......
......@@ -14,13 +14,13 @@ namespace System.Reflection.Internal
/// </remarks>
internal unsafe sealed class NativeHeapMemoryBlock : AbstractMemoryBlock
{
private byte* pointer;
private readonly int size;
private byte* _pointer;
private readonly int _size;
internal NativeHeapMemoryBlock(int size)
{
this.pointer = (byte*)Marshal.AllocHGlobal(size);
this.size = size;
_pointer = (byte*)Marshal.AllocHGlobal(size);
_size = size;
}
~NativeHeapMemoryBlock()
......@@ -30,23 +30,23 @@ internal NativeHeapMemoryBlock(int size)
protected override void Dispose(bool disposing)
{
Marshal.FreeHGlobal((IntPtr)pointer);
pointer = null;
Marshal.FreeHGlobal((IntPtr)_pointer);
_pointer = null;
}
public override byte* Pointer
{
get { return pointer; }
get { return _pointer; }
}
public override int Size
{
get { return size; }
get { return _size; }
}
public override ImmutableArray<byte> GetContent(int offset)
{
var result = CreateImmutableArray(this.pointer + offset, this.size - offset);
var result = CreateImmutableArray(_pointer + offset, _size - offset);
GC.KeepAlive(this);
return result;
}
......
......@@ -22,45 +22,45 @@ internal sealed class StreamMemoryBlockProvider : MemoryBlockProvider
// The stream is user specified and might not be thread-safe.
// Any read from the stream must be protected by streamGuard.
private Stream stream;
private readonly object streamGuard;
private Stream _stream;
private readonly object _streamGuard;
private readonly bool leaveOpen;
private bool useMemoryMap;
private readonly bool isFileStream;
private readonly bool _leaveOpen;
private bool _useMemoryMap;
private readonly bool _isFileStream;
private readonly long imageStart;
private readonly int imageSize;
private readonly long _imageStart;
private readonly int _imageSize;
// MemoryMappedFile
private IDisposable lazyMemoryMap;
private IDisposable _lazyMemoryMap;
public StreamMemoryBlockProvider(Stream stream, long imageStart, int imageSize, bool isFileStream, bool leaveOpen)
{
Debug.Assert(stream.CanSeek && stream.CanRead);
this.stream = stream;
this.streamGuard = new object();
this.imageStart = imageStart;
this.imageSize = imageSize;
this.leaveOpen = leaveOpen;
this.isFileStream = isFileStream;
this.useMemoryMap = isFileStream && MemoryMapLightUp.IsAvailable;
_stream = stream;
_streamGuard = new object();
_imageStart = imageStart;
_imageSize = imageSize;
_leaveOpen = leaveOpen;
_isFileStream = isFileStream;
_useMemoryMap = isFileStream && MemoryMapLightUp.IsAvailable;
}
protected override void Dispose(bool disposing)
{
Debug.Assert(disposing);
if (!leaveOpen && stream != null)
if (!_leaveOpen && _stream != null)
{
stream.Dispose();
stream = null;
_stream.Dispose();
_stream = null;
}
if (lazyMemoryMap != null)
if (_lazyMemoryMap != null)
{
lazyMemoryMap.Dispose();
lazyMemoryMap = null;
_lazyMemoryMap.Dispose();
_lazyMemoryMap = null;
}
}
......@@ -68,7 +68,7 @@ public override int Size
{
get
{
return this.imageSize;
return _imageSize;
}
}
......@@ -101,9 +101,9 @@ internal static unsafe NativeHeapMemoryBlock ReadMemoryBlockNoLock(Stream stream
/// <exception cref="IOException">Error while reading from the stream.</exception>
protected override AbstractMemoryBlock GetMemoryBlockImpl(int start, int size)
{
long absoluteStart = this.imageStart + start;
long absoluteStart = _imageStart + start;
if (useMemoryMap && size > MemoryMapThreshold)
if (_useMemoryMap && size > MemoryMapThreshold)
{
IDisposable accessor;
if (TryCreateMemoryMapAccessor(absoluteStart, size, out accessor))
......@@ -111,32 +111,32 @@ protected override AbstractMemoryBlock GetMemoryBlockImpl(int start, int size)
return new MemoryMappedFileBlock(accessor, size);
}
useMemoryMap = false;
_useMemoryMap = false;
}
lock (streamGuard)
lock (_streamGuard)
{
return ReadMemoryBlockNoLock(stream, isFileStream, absoluteStart, size);
return ReadMemoryBlockNoLock(_stream, _isFileStream, absoluteStart, size);
}
}
public override Stream GetStream(out StreamConstraints constraints)
{
constraints = new StreamConstraints(streamGuard, imageStart, imageSize);
return this.stream;
constraints = new StreamConstraints(_streamGuard, _imageStart, _imageSize);
return _stream;
}
private bool TryCreateMemoryMapAccessor(long start, int size, out IDisposable accessor)
{
if (lazyMemoryMap == null)
if (_lazyMemoryMap == null)
{
// leave the underlying stream open. It will be closed by the Dispose method.
IDisposable newMemoryMap;
// CreateMemoryMap might modify the stream (calls FileStream.Flush)
lock (this.streamGuard)
lock (_streamGuard)
{
newMemoryMap = MemoryMapLightUp.CreateMemoryMap(this.stream);
newMemoryMap = MemoryMapLightUp.CreateMemoryMap(_stream);
}
if (newMemoryMap == null)
......@@ -145,13 +145,13 @@ private bool TryCreateMemoryMapAccessor(long start, int size, out IDisposable ac
return false;
}
if (Interlocked.CompareExchange(ref lazyMemoryMap, newMemoryMap, null) != null)
if (Interlocked.CompareExchange(ref _lazyMemoryMap, newMemoryMap, null) != null)
{
newMemoryMap.Dispose();
}
}
accessor = MemoryMapLightUp.CreateViewAccessor(lazyMemoryMap, start, size);
accessor = MemoryMapLightUp.CreateViewAccessor(_lazyMemoryMap, start, size);
return accessor != null;
}
}
......
......@@ -55,7 +55,7 @@ internal unsafe static class EncodingHelper
// The pooled buffers for (2) and (3) above. Use AcquireBuffer(int) and ReleaseBuffer(byte[])
// instead of the pool directly to implement the size check.
private static readonly ObjectPool<byte[]> pool = new ObjectPool<byte[]>(() => new byte[PooledBufferSize]);
private static readonly ObjectPool<byte[]> s_pool = new ObjectPool<byte[]>(() => new byte[PooledBufferSize]);
public static string DecodeUtf8(byte* bytes, int byteCount, byte[] prefix, MetadataStringDecoder utf8Decoder)
{
......@@ -107,14 +107,14 @@ private static byte[] AcquireBuffer(int byteCount)
return new byte[byteCount];
}
return pool.Allocate();
return s_pool.Allocate();
}
private static void ReleaseBuffer(byte[] buffer)
{
if (buffer.Length == PooledBufferSize)
{
pool.Free(buffer);
s_pool.Free(buffer);
}
}
......@@ -125,18 +125,18 @@ private static void ReleaseBuffer(byte[] buffer)
internal delegate string Encoding_GetString(Encoding encoding, byte* bytes, int byteCount); // only internal for test hook
private delegate string String_CreateStringFromEncoding(byte* bytes, int byteCount, Encoding encoding);
private static Encoding_GetString getStringPlatform = LoadGetStringPlatform(); // only non-readonly for test hook
private static Encoding_GetString s_getStringPlatform = LoadGetStringPlatform(); // only non-readonly for test hook
public static string GetString(this Encoding encoding, byte* bytes, int byteCount)
{
Debug.Assert(encoding != null);
if (getStringPlatform == null)
if (s_getStringPlatform == null)
{
return GetStringPortable(encoding, bytes, byteCount);
}
return getStringPlatform(encoding, bytes, byteCount);
return s_getStringPlatform(encoding, bytes, byteCount);
}
private static unsafe string GetStringPortable(Encoding encoding, byte* bytes, int byteCount)
......@@ -266,8 +266,8 @@ private static Encoding_GetString LoadGetStringPlatform()
// Test hook to force portable implementation and ensure light is functioning.
internal static bool TestOnly_LightUpEnabled
{
get { return getStringPlatform != null; }
set { getStringPlatform = value ? LoadGetStringPlatform() : null; }
get { return s_getStringPlatform != null; }
set { s_getStringPlatform = value ? LoadGetStringPlatform() : null; }
}
#endregion
}
......
......@@ -9,18 +9,18 @@ namespace System.Reflection.Internal
{
internal sealed class ImmutableMemoryStream : Stream
{
private readonly ImmutableArray<byte> array;
private int position;
private readonly ImmutableArray<byte> _array;
private int _position;
internal ImmutableMemoryStream(ImmutableArray<byte> array)
{
Debug.Assert(!array.IsDefault);
this.array = array;
_array = array;
}
public ImmutableArray<byte> GetBuffer()
{
return array;
return _array;
}
public override bool CanRead
......@@ -40,23 +40,23 @@ public override bool CanWrite
public override long Length
{
get { return array.Length; }
get { return _array.Length; }
}
public override long Position
{
get
{
return position;
return _position;
}
set
{
if (value < 0 || value >= array.Length)
if (value < 0 || value >= _array.Length)
{
throw new ArgumentOutOfRangeException("value");
}
position = (int)value;
_position = (int)value;
}
}
......@@ -66,9 +66,9 @@ public override void Flush()
public override int Read(byte[] buffer, int offset, int count)
{
int result = Math.Min(count, array.Length - position);
array.CopyTo(position, buffer, offset, result);
position += result;
int result = Math.Min(count, _array.Length - _position);
_array.CopyTo(_position, buffer, offset, result);
_position += result;
return result;
}
......@@ -84,11 +84,11 @@ public override long Seek(long offset, SeekOrigin origin)
break;
case SeekOrigin.Current:
target = checked(offset + position);
target = checked(offset + _position);
break;
case SeekOrigin.End:
target = checked(offset + array.Length);
target = checked(offset + _array.Length);
break;
default:
......@@ -100,12 +100,12 @@ public override long Seek(long offset, SeekOrigin origin)
throw new ArgumentOutOfRangeException("offset");
}
if (target < 0 || target >= array.Length)
if (target < 0 || target >= _array.Length)
{
throw new ArgumentOutOfRangeException("offset");
}
position = (int)target;
_position = (int)target;
return target;
}
......
......@@ -11,38 +11,38 @@ namespace System.Reflection.Internal
{
internal static class MemoryMapLightUp
{
private static Type lazyMemoryMappedFileType;
private static Type lazyMemoryMappedViewAccessorType;
private static Type lazyMemoryMappedFileAccessType;
private static Type lazyMemoryMappedFileSecurityType;
private static Type lazyHandleInheritabilityType;
private static MethodInfo lazyCreateFromFile;
private static MethodInfo lazyCreateViewAccessor;
private static PropertyInfo lazySafeMemoryMappedViewHandle;
private static PropertyInfo lazyPointerOffset;
private static FieldInfo lazyInternalViewField;
private static PropertyInfo lazyInternalPointerOffset;
private static readonly object MemoryMappedFileAccess_Read = 1;
private static readonly object HandleInheritability_None = 0;
private static readonly object LongZero = (long)0;
private static readonly object True = true;
private static Type s_lazyMemoryMappedFileType;
private static Type s_lazyMemoryMappedViewAccessorType;
private static Type s_lazyMemoryMappedFileAccessType;
private static Type s_lazyMemoryMappedFileSecurityType;
private static Type s_lazyHandleInheritabilityType;
private static MethodInfo s_lazyCreateFromFile;
private static MethodInfo s_lazyCreateViewAccessor;
private static PropertyInfo s_lazySafeMemoryMappedViewHandle;
private static PropertyInfo s_lazyPointerOffset;
private static FieldInfo s_lazyInternalViewField;
private static PropertyInfo s_lazyInternalPointerOffset;
private static readonly object s_MemoryMappedFileAccess_Read = 1;
private static readonly object s_HandleInheritability_None = 0;
private static readonly object s_LongZero = (long)0;
private static readonly object s_True = true;
// test only:
internal static bool Test450Compat;
private static bool? lazyIsAvailable;
private static bool? s_lazyIsAvailable;
internal static bool IsAvailable
{
get
{
if (!lazyIsAvailable.HasValue)
if (!s_lazyIsAvailable.HasValue)
{
lazyIsAvailable = TryLoadTypes();
s_lazyIsAvailable = TryLoadTypes();
}
return lazyIsAvailable.Value;
return s_lazyIsAvailable.Value;
}
}
......@@ -65,67 +65,67 @@ private static bool TryLoadTypes()
const string SystemCoreRef = "System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";
return FileStreamReadLightUp.FileStreamType.Value != null
&& TryLoadType("System.IO.MemoryMappedFiles.MemoryMappedFile, " + SystemCoreRef, out lazyMemoryMappedFileType)
&& TryLoadType("System.IO.MemoryMappedFiles.MemoryMappedViewAccessor, " + SystemCoreRef, out lazyMemoryMappedViewAccessorType)
&& TryLoadType("System.IO.MemoryMappedFiles.MemoryMappedFileAccess, " + SystemCoreRef, out lazyMemoryMappedFileAccessType)
&& TryLoadType("System.IO.MemoryMappedFiles.MemoryMappedFileSecurity, " + SystemCoreRef, out lazyMemoryMappedFileSecurityType)
&& TryLoadType("System.IO.HandleInheritability, " + SystemCoreRef, out lazyHandleInheritabilityType)
&& TryLoadType("System.IO.MemoryMappedFiles.MemoryMappedFile, " + SystemCoreRef, out s_lazyMemoryMappedFileType)
&& TryLoadType("System.IO.MemoryMappedFiles.MemoryMappedViewAccessor, " + SystemCoreRef, out s_lazyMemoryMappedViewAccessorType)
&& TryLoadType("System.IO.MemoryMappedFiles.MemoryMappedFileAccess, " + SystemCoreRef, out s_lazyMemoryMappedFileAccessType)
&& TryLoadType("System.IO.MemoryMappedFiles.MemoryMappedFileSecurity, " + SystemCoreRef, out s_lazyMemoryMappedFileSecurityType)
&& TryLoadType("System.IO.HandleInheritability, " + SystemCoreRef, out s_lazyHandleInheritabilityType)
&& TryLoadMembers();
}
private static bool TryLoadMembers()
{
lazyCreateFromFile =
(from m in lazyMemoryMappedFileType.GetTypeInfo().GetDeclaredMethods("CreateFromFile")
s_lazyCreateFromFile =
(from m in s_lazyMemoryMappedFileType.GetTypeInfo().GetDeclaredMethods("CreateFromFile")
let ps = m.GetParameters()
where ps.Length == 7 &&
ps[0].ParameterType == FileStreamReadLightUp.FileStreamType.Value &&
ps[1].ParameterType == typeof(string) &&
ps[2].ParameterType == typeof(long) &&
ps[3].ParameterType == lazyMemoryMappedFileAccessType &&
ps[4].ParameterType == lazyMemoryMappedFileSecurityType &&
ps[5].ParameterType == lazyHandleInheritabilityType &&
ps[3].ParameterType == s_lazyMemoryMappedFileAccessType &&
ps[4].ParameterType == s_lazyMemoryMappedFileSecurityType &&
ps[5].ParameterType == s_lazyHandleInheritabilityType &&
ps[6].ParameterType == typeof(bool)
select m).SingleOrDefault();
if (lazyCreateFromFile == null)
if (s_lazyCreateFromFile == null)
{
return false;
}
lazyCreateViewAccessor =
(from m in lazyMemoryMappedFileType.GetTypeInfo().GetDeclaredMethods("CreateViewAccessor")
s_lazyCreateViewAccessor =
(from m in s_lazyMemoryMappedFileType.GetTypeInfo().GetDeclaredMethods("CreateViewAccessor")
let ps = m.GetParameters()
where ps.Length == 3 &&
ps[0].ParameterType == typeof(long) &&
ps[1].ParameterType == typeof(long) &&
ps[2].ParameterType == lazyMemoryMappedFileAccessType
ps[2].ParameterType == s_lazyMemoryMappedFileAccessType
select m).SingleOrDefault();
if (lazyCreateViewAccessor == null)
if (s_lazyCreateViewAccessor == null)
{
return false;
}
lazySafeMemoryMappedViewHandle = lazyMemoryMappedViewAccessorType.GetTypeInfo().GetDeclaredProperty("SafeMemoryMappedViewHandle");
if (lazySafeMemoryMappedViewHandle == null)
s_lazySafeMemoryMappedViewHandle = s_lazyMemoryMappedViewAccessorType.GetTypeInfo().GetDeclaredProperty("SafeMemoryMappedViewHandle");
if (s_lazySafeMemoryMappedViewHandle == null)
{
return false;
}
// Available on FW >= 4.5.1:
lazyPointerOffset = Test450Compat ? null : lazyMemoryMappedViewAccessorType.GetTypeInfo().GetDeclaredProperty("PointerOffset");
if (lazyPointerOffset == null)
s_lazyPointerOffset = Test450Compat ? null : s_lazyMemoryMappedViewAccessorType.GetTypeInfo().GetDeclaredProperty("PointerOffset");
if (s_lazyPointerOffset == null)
{
// FW < 4.5.1
lazyInternalViewField = lazyMemoryMappedViewAccessorType.GetTypeInfo().GetDeclaredField("m_view");
if (lazyInternalViewField == null)
s_lazyInternalViewField = s_lazyMemoryMappedViewAccessorType.GetTypeInfo().GetDeclaredField("m_view");
if (s_lazyInternalViewField == null)
{
return false;
}
lazyInternalPointerOffset = lazyInternalViewField.FieldType.GetTypeInfo().GetDeclaredProperty("PointerOffset");
if (lazyInternalPointerOffset == null)
s_lazyInternalPointerOffset = s_lazyInternalViewField.FieldType.GetTypeInfo().GetDeclaredProperty("PointerOffset");
if (s_lazyInternalPointerOffset == null)
{
return false;
}
......@@ -136,24 +136,24 @@ private static bool TryLoadMembers()
internal static IDisposable CreateMemoryMap(Stream stream)
{
Debug.Assert(lazyIsAvailable.GetValueOrDefault());
Debug.Assert(s_lazyIsAvailable.GetValueOrDefault());
try
{
return (IDisposable)lazyCreateFromFile.Invoke(null, new object[7]
return (IDisposable)s_lazyCreateFromFile.Invoke(null, new object[7]
{
stream, // fileStream
null, // mapName
LongZero, // capacity
MemoryMappedFileAccess_Read, // access
s_LongZero, // capacity
s_MemoryMappedFileAccess_Read, // access
null, // memoryMappedFileSecurity
HandleInheritability_None, // inheritability
True, // leaveOpen
s_HandleInheritability_None, // inheritability
s_True, // leaveOpen
});
}
catch (MemberAccessException)
{
lazyIsAvailable = false;
s_lazyIsAvailable = false;
return null;
}
catch (TargetInvocationException ex)
......@@ -165,19 +165,19 @@ internal static IDisposable CreateMemoryMap(Stream stream)
internal static IDisposable CreateViewAccessor(object memoryMap, long start, int size)
{
Debug.Assert(lazyIsAvailable.GetValueOrDefault());
Debug.Assert(s_lazyIsAvailable.GetValueOrDefault());
try
{
return (IDisposable)lazyCreateViewAccessor.Invoke(memoryMap, new object[3]
return (IDisposable)s_lazyCreateViewAccessor.Invoke(memoryMap, new object[3]
{
start, // start
(long)size, // size
MemoryMappedFileAccess_Read, // access
s_MemoryMappedFileAccess_Read, // access
});
}
catch (MemberAccessException)
{
lazyIsAvailable = false;
s_lazyIsAvailable = false;
return null;
}
catch (TargetInvocationException ex)
......@@ -189,22 +189,22 @@ internal static IDisposable CreateViewAccessor(object memoryMap, long start, int
internal unsafe static byte* AcquirePointer(object accessor, out SafeBuffer safeBuffer)
{
Debug.Assert(lazyIsAvailable.GetValueOrDefault());
Debug.Assert(s_lazyIsAvailable.GetValueOrDefault());
safeBuffer = (SafeBuffer)lazySafeMemoryMappedViewHandle.GetValue(accessor);
safeBuffer = (SafeBuffer)s_lazySafeMemoryMappedViewHandle.GetValue(accessor);
byte* ptr = null;
safeBuffer.AcquirePointer(ref ptr);
long offset;
if (lazyPointerOffset != null)
if (s_lazyPointerOffset != null)
{
offset = (long)lazyPointerOffset.GetValue(accessor);
offset = (long)s_lazyPointerOffset.GetValue(accessor);
}
else
{
object internalView = lazyInternalViewField.GetValue(accessor);
offset = (long)lazyInternalPointerOffset.GetValue(internalView);
object internalView = s_lazyInternalViewField.GetValue(accessor);
offset = (long)s_lazyInternalPointerOffset.GetValue(internalView);
}
return ptr + offset;
......
......@@ -30,12 +30,12 @@ private struct Element
}
// storage for the pool objects.
private readonly Element[] items;
private readonly Element[] _items;
// factory is stored for the lifetime of the pool. We will call this only when pool needs to
// expand. compared to "new T()", Func gives more flexibility to implementers and faster
// than "new T()".
private readonly Func<T> factory;
private readonly Func<T> _factory;
internal ObjectPool(Func<T> factory)
......@@ -44,13 +44,13 @@ internal ObjectPool(Func<T> factory)
internal ObjectPool(Func<T> factory, int size)
{
this.factory = factory;
this.items = new Element[size];
_factory = factory;
_items = new Element[size];
}
private T CreateInstance()
{
var inst = factory();
var inst = _factory();
return inst;
}
......@@ -64,7 +64,7 @@ private T CreateInstance()
/// </remarks>
internal T Allocate()
{
var items = this.items;
var items = _items;
T inst;
for (int i = 0; i < items.Length; i++)
......@@ -98,7 +98,7 @@ internal T Allocate()
/// </remarks>
internal void Free(T obj)
{
var items = this.items;
var items = _items;
for (int i = 0; i < items.Length; i++)
{
if (items[i].Value == null)
......
......@@ -8,31 +8,31 @@ namespace System.Reflection.Internal
{
internal unsafe sealed class ReadOnlyUnmanagedMemoryStream : Stream
{
private readonly byte* data;
private readonly int length;
private int position;
private readonly byte* _data;
private readonly int _length;
private int _position;
public ReadOnlyUnmanagedMemoryStream(byte* data, int length)
{
this.data = data;
this.length = length;
_data = data;
_length = length;
}
public unsafe override int ReadByte()
{
if (position == length)
if (_position == _length)
{
return -1;
}
return data[position++];
return _data[_position++];
}
public override int Read(byte[] buffer, int offset, int count)
{
int bytesRead = Math.Min(count, length - position);
Marshal.Copy((IntPtr)(this.data + this.position), buffer, offset, bytesRead);
this.position += bytesRead;
int bytesRead = Math.Min(count, _length - _position);
Marshal.Copy((IntPtr)(_data + _position), buffer, offset, bytesRead);
_position += bytesRead;
return bytesRead;
}
......@@ -68,7 +68,7 @@ public override long Length
{
get
{
return length;
return _length;
}
}
......@@ -76,7 +76,7 @@ public override long Position
{
get
{
return position;
return _position;
}
set
......@@ -97,11 +97,11 @@ public override long Seek(long offset, SeekOrigin origin)
break;
case SeekOrigin.Current:
target = checked(offset + position);
target = checked(offset + _position);
break;
case SeekOrigin.End:
target = checked(offset + length);
target = checked(offset + _length);
break;
default:
......@@ -113,12 +113,12 @@ public override long Seek(long offset, SeekOrigin origin)
throw new ArgumentOutOfRangeException("offset");
}
if (target < 0 || target >= length)
if (target < 0 || target >= _length)
{
throw new ArgumentOutOfRangeException("offset");
}
position = (int)target;
_position = (int)target;
return target;
}
......
......@@ -7,12 +7,12 @@ namespace System.Reflection.Metadata
{
public struct AssemblyDefinition
{
private readonly MetadataReader reader;
private readonly MetadataReader _reader;
internal AssemblyDefinition(MetadataReader reader)
{
Debug.Assert(reader != null);
this.reader = reader;
_reader = reader;
}
private Handle Handle
......@@ -27,7 +27,7 @@ public AssemblyHashAlgorithm HashAlgorithm
{
get
{
return reader.AssemblyTable.GetHashAlgorithm();
return _reader.AssemblyTable.GetHashAlgorithm();
}
}
......@@ -35,7 +35,7 @@ public Version Version
{
get
{
return reader.AssemblyTable.GetVersion();
return _reader.AssemblyTable.GetVersion();
}
}
......@@ -43,7 +43,7 @@ public AssemblyFlags Flags
{
get
{
return reader.AssemblyTable.GetFlags();
return _reader.AssemblyTable.GetFlags();
}
}
......@@ -51,7 +51,7 @@ public StringHandle Name
{
get
{
return reader.AssemblyTable.GetName();
return _reader.AssemblyTable.GetName();
}
}
......@@ -59,7 +59,7 @@ public StringHandle Culture
{
get
{
return reader.AssemblyTable.GetCulture();
return _reader.AssemblyTable.GetCulture();
}
}
......@@ -67,18 +67,18 @@ public BlobHandle PublicKey
{
get
{
return reader.AssemblyTable.GetPublicKey();
return _reader.AssemblyTable.GetPublicKey();
}
}
public CustomAttributeHandleCollection GetCustomAttributes()
{
return new CustomAttributeHandleCollection(reader, Handle);
return new CustomAttributeHandleCollection(_reader, Handle);
}
public DeclarativeSecurityAttributeHandleCollection GetDeclarativeSecurityAttributes()
{
return new DeclarativeSecurityAttributeHandleCollection(reader, Handle);
return new DeclarativeSecurityAttributeHandleCollection(_reader, Handle);
}
}
}
\ No newline at end of file
......@@ -7,23 +7,23 @@ namespace System.Reflection.Metadata
{
public struct AssemblyFile
{
private readonly MetadataReader reader;
private readonly MetadataReader _reader;
// Workaround: JIT doesn't generate good code for nested structures, so use RowId.
private readonly uint rowId;
private readonly uint _rowId;
internal AssemblyFile(MetadataReader reader, AssemblyFileHandle handle)
{
Debug.Assert(reader != null);
Debug.Assert(!handle.IsNil);
this.reader = reader;
this.rowId = handle.RowId;
_reader = reader;
_rowId = handle.RowId;
}
private AssemblyFileHandle Handle
{
get { return AssemblyFileHandle.FromRowId(rowId); }
get { return AssemblyFileHandle.FromRowId(_rowId); }
}
/// <summary>
......@@ -34,7 +34,7 @@ private AssemblyFileHandle Handle
/// </remarks>
public bool ContainsMetadata
{
get { return reader.FileTable.GetFlags(Handle) == 0; }
get { return _reader.FileTable.GetFlags(Handle) == 0; }
}
/// <summary>
......@@ -45,7 +45,7 @@ public bool ContainsMetadata
/// </remarks>
public StringHandle Name
{
get { return reader.FileTable.GetName(Handle); }
get { return _reader.FileTable.GetName(Handle); }
}
/// <summary>
......@@ -56,12 +56,12 @@ public StringHandle Name
/// </remarks>
public BlobHandle HashValue
{
get { return reader.FileTable.GetHashValue(Handle); }
get { return _reader.FileTable.GetHashValue(Handle); }
}
public CustomAttributeHandleCollection GetCustomAttributes()
{
return new CustomAttributeHandleCollection(reader, Handle);
return new CustomAttributeHandleCollection(_reader, Handle);
}
}
}
\ No newline at end of file
......@@ -8,13 +8,13 @@ namespace System.Reflection.Metadata
{
public struct AssemblyReference
{
private readonly MetadataReader reader;
private readonly MetadataReader _reader;
// Workaround: JIT doesn't generate good code for nested structures, so use raw uint.
private readonly uint treatmentAndRowId;
private readonly uint _treatmentAndRowId;
private static readonly Version version_1_1_0_0 = new Version(1, 1, 0, 0);
private static readonly Version version_4_0_0_0 = new Version(4, 0, 0, 0);
private static readonly Version s_version_1_1_0_0 = new Version(1, 1, 0, 0);
private static readonly Version s_version_4_0_0_0 = new Version(4, 0, 0, 0);
internal AssemblyReference(MetadataReader reader, uint treatmentAndRowId)
{
......@@ -24,18 +24,18 @@ internal AssemblyReference(MetadataReader reader, uint treatmentAndRowId)
// only virtual bit can be set in highest byte:
Debug.Assert((treatmentAndRowId & ~(TokenTypeIds.VirtualTokenMask | TokenTypeIds.RIDMask)) == 0);
this.reader = reader;
this.treatmentAndRowId = treatmentAndRowId;
_reader = reader;
_treatmentAndRowId = treatmentAndRowId;
}
private uint RowId
{
get { return treatmentAndRowId & TokenTypeIds.RIDMask; }
get { return _treatmentAndRowId & TokenTypeIds.RIDMask; }
}
private bool IsVirtual
{
get { return (treatmentAndRowId & TokenTypeIds.VirtualTokenMask) != 0; }
get { return (_treatmentAndRowId & TokenTypeIds.VirtualTokenMask) != 0; }
}
public Version Version
......@@ -48,12 +48,12 @@ public Version Version
}
// change mscorlib version:
if (RowId == reader.WinMDMscorlibRef)
if (RowId == _reader.WinMDMscorlibRef)
{
return version_4_0_0_0;
return s_version_4_0_0_0;
}
return reader.AssemblyRefTable.GetVersion(RowId);
return _reader.AssemblyRefTable.GetVersion(RowId);
}
}
......@@ -66,7 +66,7 @@ public AssemblyFlags Flags
return GetVirtualFlags();
}
return reader.AssemblyRefTable.GetFlags(RowId);
return _reader.AssemblyRefTable.GetFlags(RowId);
}
}
......@@ -79,7 +79,7 @@ public StringHandle Name
return GetVirtualName();
}
return reader.AssemblyRefTable.GetName(RowId);
return _reader.AssemblyRefTable.GetName(RowId);
}
}
......@@ -92,7 +92,7 @@ public StringHandle Culture
return GetVirtualCulture();
}
return reader.AssemblyRefTable.GetCulture(RowId);
return _reader.AssemblyRefTable.GetCulture(RowId);
}
}
......@@ -105,7 +105,7 @@ public BlobHandle PublicKeyOrToken
return GetVirtualPublicKeyOrToken();
}
return reader.AssemblyRefTable.GetPublicKeyOrToken(RowId);
return _reader.AssemblyRefTable.GetPublicKeyOrToken(RowId);
}
}
......@@ -118,7 +118,7 @@ public BlobHandle HashValue
return GetVirtualHashValue();
}
return reader.AssemblyRefTable.GetHashValue(RowId);
return _reader.AssemblyRefTable.GetHashValue(RowId);
}
}
......@@ -129,7 +129,7 @@ public CustomAttributeHandleCollection GetCustomAttributes()
return GetVirtualCustomAttributes();
}
return new CustomAttributeHandleCollection(reader, AssemblyReferenceHandle.FromRowId(RowId));
return new CustomAttributeHandleCollection(_reader, AssemblyReferenceHandle.FromRowId(RowId));
}
#region Virtual Rows
......@@ -138,16 +138,16 @@ private Version GetVirtualVersion()
switch ((AssemblyReferenceHandle.VirtualIndex)RowId)
{
case AssemblyReferenceHandle.VirtualIndex.System_Numerics_Vectors:
return version_1_1_0_0;
return s_version_1_1_0_0;
default:
return version_4_0_0_0;
return s_version_4_0_0_0;
}
}
private AssemblyFlags GetVirtualFlags()
{
// use flags from mscorlib ref (specifically PublicKey flag):
return reader.AssemblyRefTable.GetFlags(reader.WinMDMscorlibRef);
return _reader.AssemblyRefTable.GetFlags(_reader.WinMDMscorlibRef);
}
private StringHandle GetVirtualName()
......@@ -194,11 +194,11 @@ private BlobHandle GetVirtualPublicKeyOrToken()
case AssemblyReferenceHandle.VirtualIndex.System_Runtime_WindowsRuntime:
case AssemblyReferenceHandle.VirtualIndex.System_Runtime_WindowsRuntime_UI_Xaml:
// use key or token from mscorlib ref:
return reader.AssemblyRefTable.GetPublicKeyOrToken(reader.WinMDMscorlibRef);
return _reader.AssemblyRefTable.GetPublicKeyOrToken(_reader.WinMDMscorlibRef);
default:
// use contract assembly key or token:
var hasFullKey = (reader.AssemblyRefTable.GetFlags(reader.WinMDMscorlibRef) & AssemblyFlags.PublicKey) != 0;
var hasFullKey = (_reader.AssemblyRefTable.GetFlags(_reader.WinMDMscorlibRef) & AssemblyFlags.PublicKey) != 0;
return BlobHandle.FromVirtualIndex(hasFullKey ? BlobHandle.VirtualIndex.ContractPublicKey : BlobHandle.VirtualIndex.ContractPublicKeyToken, 0);
}
}
......@@ -211,7 +211,7 @@ private BlobHandle GetVirtualHashValue()
private CustomAttributeHandleCollection GetVirtualCustomAttributes()
{
// return custom attributes applied on mscorlib ref
return new CustomAttributeHandleCollection(reader, AssemblyReferenceHandle.FromRowId(reader.WinMDMscorlibRef));
return new CustomAttributeHandleCollection(_reader, AssemblyReferenceHandle.FromRowId(_reader.WinMDMscorlibRef));
}
#endregion
}
......
......@@ -13,15 +13,15 @@ public unsafe struct BlobReader
{
/// <summary>An array containing the '\0' character.</summary>
private static readonly char[] _nullCharArray = new char[1] { '\0' };
internal const int InvalidCompressedInteger = Int32.MaxValue;
private readonly MemoryBlock block;
private readonly MemoryBlock _block;
// Points right behind the last byte of the block.
private readonly byte* endPointer;
private readonly byte* _endPointer;
private byte* currentPointer;
private byte* _currentPointer;
public unsafe BlobReader(byte* buffer, int length)
{
......@@ -47,25 +47,25 @@ public unsafe BlobReader(byte* buffer, int length)
internal BlobReader(MemoryBlock block)
{
Debug.Assert(BitConverter.IsLittleEndian && block.Length >= 0 && (block.Pointer != null || block.Length == 0));
this.block = block;
this.currentPointer = block.Pointer;
this.endPointer = block.Pointer + block.Length;
_block = block;
_currentPointer = block.Pointer;
_endPointer = block.Pointer + block.Length;
}
private string GetDebuggerDisplay()
{
if (block.Pointer == null)
if (_block.Pointer == null)
{
return "<null>";
}
int displayedBytes;
string display = block.GetDebuggerDisplay(out displayedBytes);
string display = _block.GetDebuggerDisplay(out displayedBytes);
if (this.Offset < displayedBytes)
{
display = display.Insert(this.Offset * 3, "*");
}
else if (displayedBytes == block.Length)
else if (displayedBytes == _block.Length)
{
display += "*";
}
......@@ -83,7 +83,7 @@ public int Length
{
get
{
return block.Length;
return _block.Length;
}
}
......@@ -91,7 +91,7 @@ public int Offset
{
get
{
return (int)(this.currentPointer - block.Pointer);
return (int)(_currentPointer - _block.Pointer);
}
}
......@@ -99,23 +99,23 @@ public int RemainingBytes
{
get
{
return (int)(this.endPointer - this.currentPointer);
return (int)(_endPointer - _currentPointer);
}
}
public void Reset()
{
this.currentPointer = block.Pointer;
_currentPointer = _block.Pointer;
}
internal bool SeekOffset(int offset)
{
if (unchecked((uint)offset) >= (uint)block.Length)
if (unchecked((uint)offset) >= (uint)_block.Length)
{
return false;
}
this.currentPointer = block.Pointer + offset;
_currentPointer = _block.Pointer + offset;
return true;
}
......@@ -146,7 +146,7 @@ internal bool TryAlign(byte alignment)
{
return false;
}
this.currentPointer += bytesToSkip;
_currentPointer += bytesToSkip;
}
return true;
}
......@@ -154,7 +154,7 @@ internal bool TryAlign(byte alignment)
internal MemoryBlock GetMemoryBlockAt(int offset, int length)
{
CheckBounds(offset, length);
return new MemoryBlock(this.currentPointer + offset, length);
return new MemoryBlock(_currentPointer + offset, length);
}
#endregion
......@@ -169,7 +169,7 @@ private static void ThrowOutOfBounds()
[MethodImpl(MethodImplOptions.AggressiveInlining)]
private void CheckBounds(int offset, int byteCount)
{
if (unchecked((ulong)(uint)offset + (uint)byteCount) > (ulong)(this.endPointer - this.currentPointer))
if (unchecked((ulong)(uint)offset + (uint)byteCount) > (ulong)(_endPointer - _currentPointer))
{
ThrowOutOfBounds();
}
......@@ -178,7 +178,7 @@ private void CheckBounds(int offset, int byteCount)
[MethodImpl(MethodImplOptions.AggressiveInlining)]
private void CheckBounds(int byteCount)
{
if (unchecked((uint)byteCount) > (this.endPointer - this.currentPointer))
if (unchecked((uint)byteCount) > (_endPointer - _currentPointer))
{
ThrowOutOfBounds();
}
......@@ -187,28 +187,28 @@ private void CheckBounds(int byteCount)
[MethodImpl(MethodImplOptions.AggressiveInlining)]
private byte* GetCurrentPointerAndAdvance(int length)
{
byte* p = this.currentPointer;
byte* p = _currentPointer;
if (unchecked((uint)length) > (uint)(this.endPointer - p))
if (unchecked((uint)length) > (uint)(_endPointer - p))
{
ThrowOutOfBounds();
}
this.currentPointer = p + length;
_currentPointer = p + length;
return p;
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
private byte* GetCurrentPointerAndAdvance1()
{
byte* p = this.currentPointer;
byte* p = _currentPointer;
if (p == this.endPointer)
if (p == _endPointer)
{
ThrowOutOfBounds();
}
this.currentPointer = p + 1;
_currentPointer = p + 1;
return p;
}
......@@ -289,8 +289,8 @@ public SignatureHeader ReadSignatureHeader()
/// <exception cref="BadImageFormatException"><paramref name="byteCount"/> bytes not available.</exception>
public string ReadUTF8(int byteCount)
{
string s = this.block.PeekUtf8(this.Offset, byteCount);
this.currentPointer += byteCount;
string s = _block.PeekUtf8(this.Offset, byteCount);
_currentPointer += byteCount;
return s;
}
......@@ -302,8 +302,8 @@ public string ReadUTF8(int byteCount)
/// <exception cref="BadImageFormatException"><paramref name="byteCount"/> bytes not available.</exception>
public string ReadUTF16(int byteCount)
{
string s = this.block.PeekUtf16(this.Offset, byteCount);
this.currentPointer += byteCount;
string s = _block.PeekUtf16(this.Offset, byteCount);
_currentPointer += byteCount;
return s;
}
......@@ -315,24 +315,24 @@ public string ReadUTF16(int byteCount)
/// <exception cref="BadImageFormatException"><paramref name="byteCount"/> bytes not available.</exception>
public byte[] ReadBytes(int byteCount)
{
byte[] bytes = this.block.PeekBytes(this.Offset, byteCount);
this.currentPointer += byteCount;
byte[] bytes = _block.PeekBytes(this.Offset, byteCount);
_currentPointer += byteCount;
return bytes;
}
internal string ReadUtf8NullTerminated()
{
int bytesRead;
string value = this.block.PeekUtf8NullTerminated(this.Offset, null, MetadataStringDecoder.DefaultUTF8, out bytesRead, '\0');
this.currentPointer += bytesRead;
string value = _block.PeekUtf8NullTerminated(this.Offset, null, MetadataStringDecoder.DefaultUTF8, out bytesRead, '\0');
_currentPointer += bytesRead;
return value;
}
private int ReadCompressedIntegerOrInvalid()
{
int bytesRead;
int value = this.block.PeekCompressedInteger(this.Offset, out bytesRead);
this.currentPointer += bytesRead;
int value = _block.PeekCompressedInteger(this.Offset, out bytesRead);
_currentPointer += bytesRead;
return value;
}
......@@ -373,7 +373,7 @@ public int ReadCompressedInteger()
public bool TryReadCompressedSignedInteger(out int value)
{
int bytesRead;
value = this.block.PeekCompressedInteger(this.Offset, out bytesRead);
value = _block.PeekCompressedInteger(this.Offset, out bytesRead);
if (value == InvalidCompressedInteger)
{
......@@ -400,7 +400,7 @@ public bool TryReadCompressedSignedInteger(out int value)
}
}
this.currentPointer += bytesRead;
_currentPointer += bytesRead;
return true;
}
......@@ -500,7 +500,7 @@ public string ReadSerializedString()
public Handle ReadTypeHandle()
{
uint value = (uint)ReadCompressedIntegerOrInvalid();
uint tokenType = corEncodeTokenArray[value & 0x3];
uint tokenType = s_corEncodeTokenArray[value & 0x3];
if (value == InvalidCompressedInteger || tokenType == 0)
{
......@@ -510,7 +510,7 @@ public Handle ReadTypeHandle()
return new Handle(tokenType | (value >> 2));
}
private static readonly uint[] corEncodeTokenArray = new uint[] { TokenTypeIds.TypeDef, TokenTypeIds.TypeRef, TokenTypeIds.TypeSpec, 0 };
private static readonly uint[] s_corEncodeTokenArray = new uint[] { TokenTypeIds.TypeDef, TokenTypeIds.TypeRef, TokenTypeIds.TypeSpec, 0 };
#endregion
}
}
......@@ -7,25 +7,25 @@ namespace System.Reflection.Metadata
{
public struct Constant
{
private readonly MetadataReader reader;
private readonly MetadataReader _reader;
// Workaround: JIT doesn't generate good code for nested structures, so use RowId.
private readonly uint rowId;
private readonly uint _rowId;
internal Constant(MetadataReader reader, uint rowId)
{
Debug.Assert(reader != null);
Debug.Assert(rowId != 0);
this.reader = reader;
this.rowId = rowId;
_reader = reader;
_rowId = rowId;
}
private ConstantHandle Handle
{
get
{
return ConstantHandle.FromRowId(rowId);
return ConstantHandle.FromRowId(_rowId);
}
}
......@@ -39,7 +39,7 @@ public ConstantTypeCode TypeCode
{
get
{
return reader.ConstantTable.GetType(Handle);
return _reader.ConstantTable.GetType(Handle);
}
}
......@@ -53,7 +53,7 @@ public BlobHandle Value
{
get
{
return reader.ConstantTable.GetValue(Handle);
return _reader.ConstantTable.GetValue(Handle);
}
}
......@@ -67,7 +67,7 @@ public Handle Parent
{
get
{
return reader.ConstantTable.GetParent(Handle);
return _reader.ConstantTable.GetParent(Handle);
}
}
}
......
......@@ -8,23 +8,23 @@ namespace System.Reflection.Metadata
{
public struct CustomAttribute
{
private readonly MetadataReader reader;
private readonly MetadataReader _reader;
// Workaround: JIT doesn't generate good code for nested structures, so use RowId.
private readonly uint treatmentAndRowId;
private readonly uint _treatmentAndRowId;
internal CustomAttribute(MetadataReader reader, uint treatmentAndRowId)
{
Debug.Assert(reader != null);
Debug.Assert(treatmentAndRowId != 0);
this.reader = reader;
this.treatmentAndRowId = treatmentAndRowId;
_reader = reader;
_treatmentAndRowId = treatmentAndRowId;
}
private uint RowId
{
get { return treatmentAndRowId & TokenTypeIds.RIDMask; }
get { return _treatmentAndRowId & TokenTypeIds.RIDMask; }
}
private CustomAttributeHandle Handle
......@@ -34,7 +34,7 @@ private CustomAttributeHandle Handle
private MethodDefTreatment Treatment
{
get { return (MethodDefTreatment)(treatmentAndRowId >> TokenTypeIds.RowIdBitCount); }
get { return (MethodDefTreatment)(_treatmentAndRowId >> TokenTypeIds.RowIdBitCount); }
}
/// <summary>
......@@ -47,7 +47,7 @@ public Handle Constructor
{
get
{
return reader.CustomAttributeTable.GetConstructor(Handle);
return _reader.CustomAttributeTable.GetConstructor(Handle);
}
}
......@@ -61,7 +61,7 @@ public Handle Parent
{
get
{
return reader.CustomAttributeTable.GetParent(Handle);
return _reader.CustomAttributeTable.GetParent(Handle);
}
}
......@@ -77,7 +77,7 @@ public BlobHandle Value
{
if (Treatment == 0)
{
return reader.CustomAttributeTable.GetValue(Handle);
return _reader.CustomAttributeTable.GetValue(Handle);
}
return GetProjectedValue();
......@@ -97,10 +97,10 @@ private BlobHandle GetProjectedValue()
// avoid calculating the treatment when the CustomAttributeHandle is looked up and CustomAttribute struct
// is initialized.
CustomAttributeValueTreatment treatment = reader.CalculateCustomAttributeValueTreatment(Handle);
CustomAttributeValueTreatment treatment = _reader.CalculateCustomAttributeValueTreatment(Handle);
if (treatment == 0)
{
return reader.CustomAttributeTable.GetValue(Handle);
return _reader.CustomAttributeTable.GetValue(Handle);
}
return GetProjectedValue(treatment);
......@@ -137,8 +137,8 @@ private BlobHandle GetProjectedValue(CustomAttributeValueTreatment treatment)
// 01 00 - Fixed prolog for CA's
// xx xx xx xx - The Windows.Foundation.Metadata.AttributeTarget value
// 00 00 - Indicates 0 name/value pairs following.
var rawBlob = reader.CustomAttributeTable.GetValue(Handle);
var rawBlobReader = reader.GetBlobReader(rawBlob);
var rawBlob = _reader.CustomAttributeTable.GetValue(Handle);
var rawBlobReader = _reader.GetBlobReader(rawBlob);
if (rawBlobReader.Length != 8)
{
return rawBlob;
......
......@@ -8,23 +8,23 @@ namespace System.Reflection.Metadata
{
public struct DeclarativeSecurityAttribute
{
private readonly MetadataReader reader;
private readonly MetadataReader _reader;
// Workaround: JIT doesn't generate good code for nested structures, so use RowId.
private readonly uint rowId;
private readonly uint _rowId;
internal DeclarativeSecurityAttribute(MetadataReader reader, uint rowId)
{
Debug.Assert(reader != null);
Debug.Assert(rowId != 0);
this.reader = reader;
this.rowId = rowId;
_reader = reader;
_rowId = rowId;
}
private uint RowId
{
get { return rowId & TokenTypeIds.RIDMask; }
get { return _rowId & TokenTypeIds.RIDMask; }
}
private DeclarativeSecurityAttributeHandle Handle
......@@ -34,14 +34,14 @@ private DeclarativeSecurityAttributeHandle Handle
private MethodDefTreatment Treatment
{
get { return (MethodDefTreatment)(rowId >> TokenTypeIds.RowIdBitCount); }
get { return (MethodDefTreatment)(_rowId >> TokenTypeIds.RowIdBitCount); }
}
public DeclarativeSecurityAction Action
{
get
{
return reader.DeclSecurityTable.GetAction(rowId);
return _reader.DeclSecurityTable.GetAction(_rowId);
}
}
......@@ -49,7 +49,7 @@ public Handle Parent
{
get
{
return reader.DeclSecurityTable.GetParent(rowId);
return _reader.DeclSecurityTable.GetParent(_rowId);
}
}
......@@ -57,7 +57,7 @@ public BlobHandle PermissionSet
{
get
{
return reader.DeclSecurityTable.GetPermissionSet(rowId);
return _reader.DeclSecurityTable.GetPermissionSet(_rowId);
}
}
}
......
......@@ -7,30 +7,30 @@ namespace System.Reflection.Metadata
{
public struct EventDefinition
{
private readonly MetadataReader reader;
private readonly MetadataReader _reader;
// Workaround: JIT doesn't generate good code for nested structures, so use RowId.
private readonly uint rowId;
private readonly uint _rowId;
internal EventDefinition(MetadataReader reader, EventDefinitionHandle handle)
{
Debug.Assert(reader != null);
Debug.Assert(!handle.IsNil);
this.reader = reader;
this.rowId = handle.RowId;
_reader = reader;
_rowId = handle.RowId;
}
private EventDefinitionHandle Handle
{
get { return EventDefinitionHandle.FromRowId(rowId); }
get { return EventDefinitionHandle.FromRowId(_rowId); }
}
public StringHandle Name
{
get
{
return reader.EventTable.GetName(Handle);
return _reader.EventTable.GetName(Handle);
}
}
......@@ -38,7 +38,7 @@ public EventAttributes Attributes
{
get
{
return reader.EventTable.GetFlags(Handle);
return _reader.EventTable.GetFlags(Handle);
}
}
......@@ -46,13 +46,13 @@ public Handle Type
{
get
{
return reader.EventTable.GetEventType(Handle);
return _reader.EventTable.GetEventType(Handle);
}
}
public CustomAttributeHandleCollection GetCustomAttributes()
{
return new CustomAttributeHandleCollection(reader, Handle);
return new CustomAttributeHandleCollection(_reader, Handle);
}
public EventAccessors GetAccessors()
......@@ -62,22 +62,22 @@ public EventAccessors GetAccessors()
uint fire = 0;
ushort methodCount;
var firstRowId = reader.MethodSemanticsTable.FindSemanticMethodsForEvent(Handle, out methodCount);
var firstRowId = _reader.MethodSemanticsTable.FindSemanticMethodsForEvent(Handle, out methodCount);
for (ushort i = 0; i < methodCount; i++)
{
uint rowId = firstRowId + i;
switch (reader.MethodSemanticsTable.GetSemantics(rowId))
switch (_reader.MethodSemanticsTable.GetSemantics(rowId))
{
case MethodSemanticsAttributes.Adder:
adder = reader.MethodSemanticsTable.GetMethod(rowId).RowId;
adder = _reader.MethodSemanticsTable.GetMethod(rowId).RowId;
break;
case MethodSemanticsAttributes.Remover:
remover = reader.MethodSemanticsTable.GetMethod(rowId).RowId;
remover = _reader.MethodSemanticsTable.GetMethod(rowId).RowId;
break;
case MethodSemanticsAttributes.Raiser:
fire = reader.MethodSemanticsTable.GetMethod(rowId).RowId;
fire = _reader.MethodSemanticsTable.GetMethod(rowId).RowId;
break;
// TODO: expose 'Other' collection on EventAccessors for completeness.
}
......
......@@ -5,12 +5,12 @@ namespace System.Reflection.Metadata
{
public struct ExceptionRegion
{
private readonly ExceptionRegionKind kind;
private readonly int tryOffset;
private readonly int tryLength;
private readonly int handlerOffset;
private readonly int handlerLength;
private readonly int classTokenOrFilterOffset;
private readonly ExceptionRegionKind _kind;
private readonly int _tryOffset;
private readonly int _tryLength;
private readonly int _handlerOffset;
private readonly int _handlerLength;
private readonly int _classTokenOrFilterOffset;
internal ExceptionRegion(
ExceptionRegionKind kind,
......@@ -20,17 +20,17 @@ public struct ExceptionRegion
int handlerLength,
int classTokenOrFilterOffset)
{
this.kind = kind;
this.tryOffset = tryOffset;
this.tryLength = tryLength;
this.handlerOffset = handlerOffset;
this.handlerLength = handlerLength;
this.classTokenOrFilterOffset = classTokenOrFilterOffset;
_kind = kind;
_tryOffset = tryOffset;
_tryLength = tryLength;
_handlerOffset = handlerOffset;
_handlerLength = handlerLength;
_classTokenOrFilterOffset = classTokenOrFilterOffset;
}
public ExceptionRegionKind Kind
{
get { return kind; }
get { return _kind; }
}
/// <summary>
......@@ -38,7 +38,7 @@ public ExceptionRegionKind Kind
/// </summary>
public int TryOffset
{
get { return tryOffset; }
get { return _tryOffset; }
}
/// <summary>
......@@ -46,7 +46,7 @@ public int TryOffset
/// </summary>
public int TryLength
{
get { return tryLength; }
get { return _tryLength; }
}
/// <summary>
......@@ -54,7 +54,7 @@ public int TryLength
/// </summary>
public int HandlerOffset
{
get { return handlerOffset; }
get { return _handlerOffset; }
}
/// <summary>
......@@ -62,7 +62,7 @@ public int HandlerOffset
/// </summary>
public int HandlerLength
{
get { return handlerLength; }
get { return _handlerLength; }
}
/// <summary>
......@@ -70,7 +70,7 @@ public int HandlerLength
/// </summary>
public int FilterOffset
{
get { return (Kind == ExceptionRegionKind.Filter) ? classTokenOrFilterOffset : -1; }
get { return (Kind == ExceptionRegionKind.Filter) ? _classTokenOrFilterOffset : -1; }
}
/// <summary>
......@@ -78,7 +78,7 @@ public int FilterOffset
/// </summary>
public Handle CatchType
{
get { return (Kind == ExceptionRegionKind.Catch) ? new Handle((uint)classTokenOrFilterOffset) : default(Handle); }
get { return (Kind == ExceptionRegionKind.Catch) ? new Handle((uint)_classTokenOrFilterOffset) : default(Handle); }
}
}
}
......@@ -8,28 +8,28 @@ namespace System.Reflection.Metadata
{
public struct FieldDefinition
{
private readonly MetadataReader reader;
private readonly MetadataReader _reader;
// Workaround: JIT doesn't generate good code for nested structures, so use RowId.
private readonly uint treatmentAndRowId;
private readonly uint _treatmentAndRowId;
internal FieldDefinition(MetadataReader reader, uint treatmentAndRowId)
{
Debug.Assert(reader != null);
Debug.Assert(treatmentAndRowId != 0);
this.reader = reader;
this.treatmentAndRowId = treatmentAndRowId;
_reader = reader;
_treatmentAndRowId = treatmentAndRowId;
}
private uint RowId
{
get { return treatmentAndRowId & TokenTypeIds.RIDMask; }
get { return _treatmentAndRowId & TokenTypeIds.RIDMask; }
}
private FieldDefTreatment Treatment
{
get { return (FieldDefTreatment)(treatmentAndRowId >> TokenTypeIds.RowIdBitCount); }
get { return (FieldDefTreatment)(_treatmentAndRowId >> TokenTypeIds.RowIdBitCount); }
}
private FieldDefinitionHandle Handle
......@@ -43,7 +43,7 @@ public StringHandle Name
{
if (Treatment == 0)
{
return reader.FieldTable.GetName(Handle);
return _reader.FieldTable.GetName(Handle);
}
return GetProjectedName();
......@@ -56,7 +56,7 @@ public FieldAttributes Attributes
{
if (Treatment == 0)
{
return reader.FieldTable.GetFlags(Handle);
return _reader.FieldTable.GetFlags(Handle);
}
return GetProjectedFlags();
......@@ -69,7 +69,7 @@ public BlobHandle Signature
{
if (Treatment == 0)
{
return reader.FieldTable.GetSignature(Handle);
return _reader.FieldTable.GetSignature(Handle);
}
return GetProjectedSignature();
......@@ -78,23 +78,23 @@ public BlobHandle Signature
public TypeDefinitionHandle GetDeclaringType()
{
return reader.GetDeclaringType(Handle);
return _reader.GetDeclaringType(Handle);
}
public ConstantHandle GetDefaultValue()
{
return reader.ConstantTable.FindConstant(Handle);
return _reader.ConstantTable.FindConstant(Handle);
}
public int GetRelativeVirtualAddress()
{
uint fieldRvaRowId = reader.FieldRvaTable.FindFieldRVARowId(Handle.RowId);
uint fieldRvaRowId = _reader.FieldRvaTable.FindFieldRVARowId(Handle.RowId);
if (fieldRvaRowId == 0)
{
return 0;
}
return reader.FieldRvaTable.GetRVA(fieldRvaRowId);
return _reader.FieldRvaTable.GetRVA(fieldRvaRowId);
}
/// <summary>
......@@ -102,13 +102,13 @@ public int GetRelativeVirtualAddress()
/// </summary>
public int GetOffset()
{
uint layoutRowId = reader.FieldLayoutTable.FindFieldLayoutRowId(Handle);
uint layoutRowId = _reader.FieldLayoutTable.FindFieldLayoutRowId(Handle);
if (layoutRowId == 0)
{
return -1;
}
uint offset = reader.FieldLayoutTable.GetOffset(layoutRowId);
uint offset = _reader.FieldLayoutTable.GetOffset(layoutRowId);
if (offset > int.MaxValue)
{
// CLI spec says:
......@@ -124,18 +124,18 @@ public int GetOffset()
public BlobHandle GetMarshallingDescriptor()
{
uint marshalRowId = reader.FieldMarshalTable.FindFieldMarshalRowId(Handle);
uint marshalRowId = _reader.FieldMarshalTable.FindFieldMarshalRowId(Handle);
if (marshalRowId == 0)
{
return default(BlobHandle);
}
return reader.FieldMarshalTable.GetNativeType(marshalRowId);
return _reader.FieldMarshalTable.GetNativeType(marshalRowId);
}
public CustomAttributeHandleCollection GetCustomAttributes()
{
return new CustomAttributeHandleCollection(reader, Handle);
return new CustomAttributeHandleCollection(_reader, Handle);
}
#region Projections
......@@ -143,12 +143,12 @@ public CustomAttributeHandleCollection GetCustomAttributes()
private StringHandle GetProjectedName()
{
// no change:
return reader.FieldTable.GetName(Handle);
return _reader.FieldTable.GetName(Handle);
}
private FieldAttributes GetProjectedFlags()
{
var flags = reader.FieldTable.GetFlags(Handle);
var flags = _reader.FieldTable.GetFlags(Handle);
if (Treatment == FieldDefTreatment.EnumValue)
{
......@@ -160,7 +160,7 @@ private FieldAttributes GetProjectedFlags()
private BlobHandle GetProjectedSignature()
{
return reader.FieldTable.GetSignature(Handle);
return _reader.FieldTable.GetSignature(Handle);
}
#endregion
}
......
......@@ -7,23 +7,23 @@ namespace System.Reflection.Metadata
{
public struct GenericParameter
{
private readonly MetadataReader reader;
private readonly MetadataReader _reader;
// Workaround: JIT doesn't generate good code for nested structures, so use RowId.
private readonly uint rowId;
private readonly uint _rowId;
internal GenericParameter(MetadataReader reader, GenericParameterHandle handle)
{
Debug.Assert(reader != null);
Debug.Assert(!handle.IsNil);
this.reader = reader;
this.rowId = handle.RowId;
_reader = reader;
_rowId = handle.RowId;
}
private GenericParameterHandle Handle
{
get { return GenericParameterHandle.FromRowId(rowId); }
get { return GenericParameterHandle.FromRowId(_rowId); }
}
/// <summary>
......@@ -36,7 +36,7 @@ public Handle Parent
{
get
{
return reader.GenericParamTable.GetOwner(Handle);
return _reader.GenericParamTable.GetOwner(Handle);
}
}
......@@ -50,7 +50,7 @@ public GenericParameterAttributes Attributes
{
get
{
return reader.GenericParamTable.GetFlags(Handle);
return _reader.GenericParamTable.GetFlags(Handle);
}
}
......@@ -64,7 +64,7 @@ public int Index
{
get
{
return reader.GenericParamTable.GetNumber(Handle);
return _reader.GenericParamTable.GetNumber(Handle);
}
}
......@@ -78,18 +78,18 @@ public StringHandle Name
{
get
{
return reader.GenericParamTable.GetName(Handle);
return _reader.GenericParamTable.GetName(Handle);
}
}
public GenericParameterConstraintHandleCollection GetConstraints()
{
return reader.GenericParamConstraintTable.FindConstraintsForGenericParam(Handle);
return _reader.GenericParamConstraintTable.FindConstraintsForGenericParam(Handle);
}
public CustomAttributeHandleCollection GetCustomAttributes()
{
return new CustomAttributeHandleCollection(reader, Handle);
return new CustomAttributeHandleCollection(_reader, Handle);
}
}
}
\ No newline at end of file
......@@ -7,23 +7,23 @@ namespace System.Reflection.Metadata
{
public struct GenericParameterConstraint
{
private readonly MetadataReader reader;
private readonly MetadataReader _reader;
// Workaround: JIT doesn't generate good code for nested structures, so use RowId.
private readonly uint rowId;
private readonly uint _rowId;
internal GenericParameterConstraint(MetadataReader reader, GenericParameterConstraintHandle handle)
{
Debug.Assert(reader != null);
Debug.Assert(!handle.IsNil);
this.reader = reader;
this.rowId = handle.RowId;
_reader = reader;
_rowId = handle.RowId;
}
private GenericParameterConstraintHandle Handle
{
get { return GenericParameterConstraintHandle.FromRowId(rowId); }
get { return GenericParameterConstraintHandle.FromRowId(_rowId); }
}
/// <summary>
......@@ -34,7 +34,7 @@ private GenericParameterConstraintHandle Handle
/// </remarks>
public GenericParameterHandle Parameter
{
get { return reader.GenericParamConstraintTable.GetOwner(Handle); }
get { return _reader.GenericParamConstraintTable.GetOwner(Handle); }
}
/// <summary>
......@@ -47,12 +47,12 @@ public GenericParameterHandle Parameter
/// </remarks>
public Handle Type
{
get { return reader.GenericParamConstraintTable.GetConstraint(Handle); }
get { return _reader.GenericParamConstraintTable.GetConstraint(Handle); }
}
public CustomAttributeHandleCollection GetCustomAttributes()
{
return new CustomAttributeHandleCollection(reader, Handle);
return new CustomAttributeHandleCollection(_reader, Handle);
}
}
}
\ No newline at end of file
......@@ -7,23 +7,23 @@ namespace System.Reflection.Metadata
{
public struct InterfaceImplementation
{
private readonly MetadataReader reader;
private readonly MetadataReader _reader;
// Workaround: JIT doesn't generate good code for nested structures, so use RowId.
private readonly uint rowId;
private readonly uint _rowId;
internal InterfaceImplementation(MetadataReader reader, InterfaceImplementationHandle handle)
{
Debug.Assert(reader != null);
Debug.Assert(!handle.IsNil);
this.reader = reader;
this.rowId = handle.RowId;
_reader = reader;
_rowId = handle.RowId;
}
private InterfaceImplementationHandle Handle
{
get { return InterfaceImplementationHandle.FromRowId(rowId); }
get { return InterfaceImplementationHandle.FromRowId(_rowId); }
}
......@@ -33,12 +33,12 @@ private InterfaceImplementationHandle Handle
/// </summary>
public Handle Interface
{
get { return reader.InterfaceImplTable.GetInterface(rowId); }
get { return _reader.InterfaceImplTable.GetInterface(_rowId); }
}
public CustomAttributeHandleCollection GetCustomAttributes()
{
return new CustomAttributeHandleCollection(reader, Handle);
return new CustomAttributeHandleCollection(_reader, Handle);
}
}
}
\ No newline at end of file
......@@ -11,13 +11,13 @@ namespace System.Reflection.Metadata.Ecma335
{
internal struct StringStreamReader
{
private static string[] virtualValues;
private static string[] s_virtualValues;
internal readonly MemoryBlock Block;
internal StringStreamReader(MemoryBlock block, MetadataKind metadataKind)
{
if (virtualValues == null && metadataKind != MetadataKind.Ecma335)
if (s_virtualValues == null && metadataKind != MetadataKind.Ecma335)
{
// Note:
// Virtual values shall not contain surrogates, otherwise StartsWith might be inconsistent
......@@ -98,7 +98,7 @@ internal StringStreamReader(MemoryBlock block, MetadataKind metadataKind)
values[(int)StringHandle.VirtualIndex.Windows_UI_Xaml_Media_Animation] = "Windows.UI.Xaml.Media.Animation";
values[(int)StringHandle.VirtualIndex.Windows_UI_Xaml_Media_Media3D] = "Windows.UI.Xaml.Media.Media3D";
virtualValues = values;
s_virtualValues = values;
AssertFilled();
}
......@@ -108,9 +108,9 @@ internal StringStreamReader(MemoryBlock block, MetadataKind metadataKind)
[Conditional("DEBUG")]
private static void AssertFilled()
{
for (int i = 0; i < virtualValues.Length; i++)
for (int i = 0; i < s_virtualValues.Length; i++)
{
Debug.Assert(virtualValues[i] != null, "Missing virtual value for StringHandle.VirtualIndex." + (StringHandle.VirtualIndex)i);
Debug.Assert(s_virtualValues[i] != null, "Missing virtual value for StringHandle.VirtualIndex." + (StringHandle.VirtualIndex)i);
}
}
......@@ -144,7 +144,7 @@ private static MemoryBlock TrimEnd(MemoryBlock block)
internal string GetVirtualValue(StringHandle.VirtualIndex index)
{
return virtualValues[(int)index];
return s_virtualValues[(int)index];
}
internal string GetString(StringHandle handle, MetadataStringDecoder utf8Decoder)
......@@ -157,7 +157,7 @@ internal string GetString(StringHandle handle, MetadataStringDecoder utf8Decoder
switch (handle.StringKind)
{
case StringKind.Plain:
return virtualValues[index];
return s_virtualValues[index];
case StringKind.WinRTPrefixed:
prefix = MetadataReader.WinRTPrefix;
......@@ -316,17 +316,17 @@ public VirtualHeapBlobTable()
// Since the number of virtual blobs we need is small (the number of attribute classes in .winmd files)
// we can create a pinned handle for each of them.
// If we needed many more blobs we could create and pin a single byte[] and allocate blobs there.
private VirtualHeapBlobTable lazyVirtualHeapBlobs;
private static byte[][] virtualHeapBlobs;
private VirtualHeapBlobTable _lazyVirtualHeapBlobs;
private static byte[][] s_virtualHeapBlobs;
internal readonly MemoryBlock Block;
internal BlobStreamReader(MemoryBlock block, MetadataKind metadataKind)
{
this.lazyVirtualHeapBlobs = null;
_lazyVirtualHeapBlobs = null;
this.Block = block;
if (virtualHeapBlobs == null && metadataKind != MetadataKind.Ecma335)
if (s_virtualHeapBlobs == null && metadataKind != MetadataKind.Ecma335)
{
var blobs = new byte[(int)BlobHandle.VirtualIndex.Count][];
......@@ -389,7 +389,7 @@ internal BlobStreamReader(MemoryBlock block, MetadataKind metadataKind)
0x01
};
virtualHeapBlobs = blobs;
s_virtualHeapBlobs = blobs;
}
}
......@@ -416,21 +416,21 @@ internal BlobReader GetBlobReader(BlobHandle handle)
{
if (handle.IsVirtual)
{
if (lazyVirtualHeapBlobs == null)
if (_lazyVirtualHeapBlobs == null)
{
Interlocked.CompareExchange(ref lazyVirtualHeapBlobs, new VirtualHeapBlobTable(), null);
Interlocked.CompareExchange(ref _lazyVirtualHeapBlobs, new VirtualHeapBlobTable(), null);
}
int index = (int)handle.GetVirtualIndex();
int length = virtualHeapBlobs[index].Length;
int length = s_virtualHeapBlobs[index].Length;
VirtualHeapBlob virtualBlob;
lock (lazyVirtualHeapBlobs)
lock (_lazyVirtualHeapBlobs)
{
if (!lazyVirtualHeapBlobs.Table.TryGetValue(handle, out virtualBlob))
if (!_lazyVirtualHeapBlobs.Table.TryGetValue(handle, out virtualBlob))
{
virtualBlob = new VirtualHeapBlob(GetVirtualBlobArray(handle, unique: false));
lazyVirtualHeapBlobs.Table.Add(handle, virtualBlob);
_lazyVirtualHeapBlobs.Table.Add(handle, virtualBlob);
}
}
......@@ -467,7 +467,7 @@ internal BlobHandle GetNextHandle(BlobHandle handle)
internal byte[] GetVirtualBlobArray(BlobHandle handle, bool unique)
{
BlobHandle.VirtualIndex index = handle.GetVirtualIndex();
byte[] result = virtualHeapBlobs[(int)index];
byte[] result = s_virtualHeapBlobs[(int)index];
switch (index)
{
......
......@@ -10,16 +10,16 @@ namespace System.Reflection.Metadata.Ecma335
{
internal class NamespaceCache
{
private readonly MetadataReader metadataReader;
private readonly object namespaceTableAndListLock = new object();
private Dictionary<NamespaceDefinitionHandle, NamespaceData> namespaceTable;
private NamespaceData rootNamespace;
private ImmutableArray<NamespaceDefinitionHandle> namespaceList;
private readonly MetadataReader _metadataReader;
private readonly object _namespaceTableAndListLock = new object();
private Dictionary<NamespaceDefinitionHandle, NamespaceData> _namespaceTable;
private NamespaceData _rootNamespace;
private ImmutableArray<NamespaceDefinitionHandle> _namespaceList;
internal NamespaceCache(MetadataReader reader)
{
Debug.Assert(reader != null);
this.metadataReader = reader;
_metadataReader = reader;
}
/// <summary>
......@@ -28,7 +28,7 @@ internal NamespaceCache(MetadataReader reader)
/// </summary>
internal bool CacheIsRealized
{
get { return this.namespaceTable != null; }
get { return _namespaceTable != null; }
}
internal string GetFullName(NamespaceDefinitionHandle handle)
......@@ -41,15 +41,15 @@ internal string GetFullName(NamespaceDefinitionHandle handle)
internal NamespaceData GetRootNamespace()
{
EnsureNamespaceTableIsPopulated();
Debug.Assert(rootNamespace != null);
return rootNamespace;
Debug.Assert(_rootNamespace != null);
return _rootNamespace;
}
internal NamespaceData GetNamespaceData(NamespaceDefinitionHandle handle)
{
EnsureNamespaceTableIsPopulated();
NamespaceData result;
if (!namespaceTable.TryGetValue(handle, out result))
if (!_namespaceTable.TryGetValue(handle, out result))
{
ThrowInvalidHandle();
}
......@@ -87,7 +87,7 @@ private StringHandle GetSimpleName(NamespaceDefinitionHandle fullNamespaceHandle
int currentSegment = 0;
while (currentSegment < segmentIndex)
{
int currentIndex = this.metadataReader.StringStream.IndexOfRaw(lastFoundIndex + 1, '.');
int currentIndex = _metadataReader.StringStream.IndexOfRaw(lastFoundIndex + 1, '.');
if (currentIndex == -1)
{
break;
......@@ -110,9 +110,9 @@ private StringHandle GetSimpleName(NamespaceDefinitionHandle fullNamespaceHandle
/// </summary>
private void PopulateNamespaceTable()
{
lock (namespaceTableAndListLock)
lock (_namespaceTableAndListLock)
{
if (this.namespaceTable != null)
if (_namespaceTable != null)
{
return;
}
......@@ -160,8 +160,8 @@ private void PopulateNamespaceTable()
}
}
this.namespaceTable = namespaceTable;
this.rootNamespace = namespaceTable[rootNamespace];
_namespaceTable = namespaceTable;
_rootNamespace = namespaceTable[rootNamespace];
}
}
......@@ -331,15 +331,15 @@ private void PopulateTableWithTypeDefinitions(Dictionary<NamespaceDefinitionHand
{
Debug.Assert(table != null);
foreach (var typeHandle in this.metadataReader.TypeDefinitions)
foreach (var typeHandle in _metadataReader.TypeDefinitions)
{
TypeDefinition type = this.metadataReader.GetTypeDefinition(typeHandle);
TypeDefinition type = _metadataReader.GetTypeDefinition(typeHandle);
if (type.Attributes.IsNested())
{
continue;
}
NamespaceDefinitionHandle namespaceHandle = this.metadataReader.TypeDefTable.GetNamespace(typeHandle);
NamespaceDefinitionHandle namespaceHandle = _metadataReader.TypeDefTable.GetNamespace(typeHandle);
NamespaceDataBuilder builder;
if (table.TryGetValue(namespaceHandle, out builder))
{
......@@ -348,7 +348,7 @@ private void PopulateTableWithTypeDefinitions(Dictionary<NamespaceDefinitionHand
else
{
StringHandle name = GetSimpleName(namespaceHandle);
string fullName = this.metadataReader.GetString(namespaceHandle);
string fullName = _metadataReader.GetString(namespaceHandle);
var newData = new NamespaceDataBuilder(namespaceHandle, name, fullName);
newData.TypeDefinitions.Add(typeHandle);
table.Add(namespaceHandle, newData);
......@@ -363,9 +363,9 @@ private void PopulateTableWithExportedTypes(Dictionary<NamespaceDefinitionHandle
{
Debug.Assert(table != null);
foreach (var exportedTypeHandle in this.metadataReader.ExportedTypes)
foreach (var exportedTypeHandle in _metadataReader.ExportedTypes)
{
ExportedType exportedType = this.metadataReader.GetExportedType(exportedTypeHandle);
ExportedType exportedType = _metadataReader.GetExportedType(exportedTypeHandle);
if (exportedType.Implementation.Kind == HandleKind.ExportedType)
{
continue; // skip nested exported types.
......@@ -381,7 +381,7 @@ private void PopulateTableWithExportedTypes(Dictionary<NamespaceDefinitionHandle
{
Debug.Assert(namespaceHandle.HasFullName);
StringHandle simpleName = GetSimpleName(namespaceHandle);
string fullName = this.metadataReader.GetString(namespaceHandle);
string fullName = _metadataReader.GetString(namespaceHandle);
var newData = new NamespaceDataBuilder(namespaceHandle, simpleName, fullName);
newData.ExportedTypes.Add(exportedTypeHandle);
table.Add(namespaceHandle, newData);
......@@ -394,18 +394,18 @@ private void PopulateTableWithExportedTypes(Dictionary<NamespaceDefinitionHandle
/// </summary>
private void PopulateNamespaceList()
{
lock (namespaceTableAndListLock)
lock (_namespaceTableAndListLock)
{
if (this.namespaceList != null)
if (_namespaceList != null)
{
return;
}
Debug.Assert(this.namespaceTable != null);
Debug.Assert(_namespaceTable != null);
var namespaceNameSet = new HashSet<string>();
var namespaceListBuilder = ImmutableArray.CreateBuilder<NamespaceDefinitionHandle>();
foreach (var group in namespaceTable)
foreach (var group in _namespaceTable)
{
var data = group.Value;
if (namespaceNameSet.Add(data.FullName))
......@@ -414,7 +414,7 @@ private void PopulateNamespaceList()
}
}
this.namespaceList = namespaceListBuilder.ToImmutable();
_namespaceList = namespaceListBuilder.ToImmutable();
}
}
......@@ -424,11 +424,11 @@ private void PopulateNamespaceList()
private void EnsureNamespaceTableIsPopulated()
{
// PERF: Branch will rarely be taken; do work in PopulateNamespaceList() so this can be inlined easily.
if (this.namespaceTable == null)
if (_namespaceTable == null)
{
PopulateNamespaceTable();
}
Debug.Assert(this.namespaceTable != null);
Debug.Assert(_namespaceTable != null);
}
/// <summary>
......@@ -436,11 +436,11 @@ private void EnsureNamespaceTableIsPopulated()
/// </summary>
private void EnsureNamespaceListIsPopulated()
{
if (this.namespaceList == null)
if (_namespaceList == null)
{
PopulateNamespaceList();
}
Debug.Assert(this.namespaceList != null);
Debug.Assert(_namespaceList != null);
}
/// <summary>
......@@ -463,7 +463,7 @@ private class NamespaceDataBuilder
public ImmutableArray<TypeDefinitionHandle>.Builder TypeDefinitions;
public ImmutableArray<ExportedTypeHandle>.Builder ExportedTypes;
private NamespaceData frozen;
private NamespaceData _frozen;
public NamespaceDataBuilder(NamespaceDefinitionHandle handle, StringHandle name, string fullName)
{
......@@ -484,7 +484,7 @@ public NamespaceData Freeze()
{
// It is not an error to call this function multiple times. We cache the result
// because it's immutable.
if (frozen == null)
if (_frozen == null)
{
var namespaces = Namespaces.ToImmutable();
Namespaces = null;
......@@ -495,10 +495,10 @@ public NamespaceData Freeze()
var exportedTypes = ExportedTypes.ToImmutable();
ExportedTypes = null;
frozen = new NamespaceData(Name, FullName, Parent, namespaces, typeDefinitions, exportedTypes);
_frozen = new NamespaceData(Name, FullName, Parent, namespaces, typeDefinitions, exportedTypes);
}
return frozen;
return _frozen;
}
public void MergeInto(NamespaceDataBuilder other)
......
......@@ -7,23 +7,23 @@ namespace System.Reflection.Metadata
{
public struct ManifestResource
{
private readonly MetadataReader reader;
private readonly MetadataReader _reader;
// Workaround: JIT doesn't generate good code for nested structures, so use RowId.
private readonly uint rowId;
private readonly uint _rowId;
internal ManifestResource(MetadataReader reader, ManifestResourceHandle handle)
{
Debug.Assert(reader != null);
Debug.Assert(!handle.IsNil);
this.reader = reader;
this.rowId = handle.RowId;
_reader = reader;
_rowId = handle.RowId;
}
private ManifestResourceHandle Handle
{
get { return ManifestResourceHandle.FromRowId(rowId); }
get { return ManifestResourceHandle.FromRowId(_rowId); }
}
/// <summary>
......@@ -34,7 +34,7 @@ private ManifestResourceHandle Handle
/// </remarks>
public long Offset
{
get { return reader.ManifestResourceTable.GetOffset(Handle); }
get { return _reader.ManifestResourceTable.GetOffset(Handle); }
}
/// <summary>
......@@ -45,7 +45,7 @@ public long Offset
/// </remarks>
public ManifestResourceAttributes Attributes
{
get { return reader.ManifestResourceTable.GetFlags(Handle); }
get { return _reader.ManifestResourceTable.GetFlags(Handle); }
}
/// <summary>
......@@ -56,7 +56,7 @@ public ManifestResourceAttributes Attributes
/// </remarks>
public StringHandle Name
{
get { return reader.ManifestResourceTable.GetName(Handle); }
get { return _reader.ManifestResourceTable.GetName(Handle); }
}
/// <summary>
......@@ -70,12 +70,12 @@ public StringHandle Name
/// </remarks>
public Handle Implementation
{
get { return reader.ManifestResourceTable.GetImplementation(Handle); }
get { return _reader.ManifestResourceTable.GetImplementation(Handle); }
}
public CustomAttributeHandleCollection GetCustomAttributes()
{
return new CustomAttributeHandleCollection(reader, Handle);
return new CustomAttributeHandleCollection(_reader, Handle);
}
}
}
\ No newline at end of file
......@@ -8,28 +8,28 @@ namespace System.Reflection.Metadata
{
public struct MemberReference
{
private readonly MetadataReader reader;
private readonly MetadataReader _reader;
// Workaround: JIT doesn't generate good code for nested structures, so use RowId.
private readonly uint treatmentAndRowId;
private readonly uint _treatmentAndRowId;
internal MemberReference(MetadataReader reader, uint treatmentAndRowId)
{
Debug.Assert(reader != null);
Debug.Assert(treatmentAndRowId != 0);
this.reader = reader;
this.treatmentAndRowId = treatmentAndRowId;
_reader = reader;
_treatmentAndRowId = treatmentAndRowId;
}
private uint RowId
{
get { return treatmentAndRowId & TokenTypeIds.RIDMask; }
get { return _treatmentAndRowId & TokenTypeIds.RIDMask; }
}
private MemberRefTreatment Treatment
{
get { return (MemberRefTreatment)(treatmentAndRowId >> TokenTypeIds.RowIdBitCount); }
get { return (MemberRefTreatment)(_treatmentAndRowId >> TokenTypeIds.RowIdBitCount); }
}
private MemberReferenceHandle Handle
......@@ -46,7 +46,7 @@ public Handle Parent
{
if (Treatment == 0)
{
return reader.MemberRefTable.GetClass(Handle);
return _reader.MemberRefTable.GetClass(Handle);
}
return GetProjectedParent();
......@@ -59,7 +59,7 @@ public StringHandle Name
{
if (Treatment == 0)
{
return reader.MemberRefTable.GetName(Handle);
return _reader.MemberRefTable.GetName(Handle);
}
return GetProjectedName();
......@@ -72,7 +72,7 @@ public BlobHandle Signature
{
if (Treatment == 0)
{
return reader.MemberRefTable.GetSignature(Handle);
return _reader.MemberRefTable.GetSignature(Handle);
}
return GetProjectedSignature();
......@@ -84,7 +84,7 @@ public BlobHandle Signature
/// </summary>
public MemberReferenceKind GetKind()
{
BlobReader blobReader = reader.GetBlobReader(this.Signature);
BlobReader blobReader = _reader.GetBlobReader(this.Signature);
SignatureHeader header = blobReader.ReadSignatureHeader();
switch (header.Kind)
......@@ -102,7 +102,7 @@ public MemberReferenceKind GetKind()
public CustomAttributeHandleCollection GetCustomAttributes()
{
return new CustomAttributeHandleCollection(reader, Handle);
return new CustomAttributeHandleCollection(_reader, Handle);
}
#region Projections
......@@ -110,7 +110,7 @@ public CustomAttributeHandleCollection GetCustomAttributes()
private Handle GetProjectedParent()
{
// no change
return reader.MemberRefTable.GetClass(Handle);
return _reader.MemberRefTable.GetClass(Handle);
}
private StringHandle GetProjectedName()
......@@ -120,13 +120,13 @@ private StringHandle GetProjectedName()
return StringHandle.FromVirtualIndex(StringHandle.VirtualIndex.Dispose);
}
return reader.MemberRefTable.GetName(Handle);
return _reader.MemberRefTable.GetName(Handle);
}
private BlobHandle GetProjectedSignature()
{
// no change
return reader.MemberRefTable.GetSignature(Handle);
return _reader.MemberRefTable.GetSignature(Handle);
}
#endregion
}
......
......@@ -11,9 +11,9 @@ public sealed class MetadataAggregator
{
// For each heap handle and each delta contains aggregate heap lengths.
// heapSizes[heap kind][reader index] == Sum { 0..index | reader[i].XxxHeapLength }
private readonly ImmutableArray<ImmutableArray<int>> heapSizes;
private readonly ImmutableArray<ImmutableArray<int>> _heapSizes;
private readonly ImmutableArray<ImmutableArray<RowCounts>> rowCounts;
private readonly ImmutableArray<ImmutableArray<RowCounts>> _rowCounts;
// internal for testing
internal struct RowCounts : IComparable<RowCounts>
......@@ -101,15 +101,15 @@ public MetadataAggregator(MetadataReader baseReader, IReadOnlyList<MetadataReade
}
}
this.heapSizes = CalculateHeapSizes(baseHeapSizes, deltaReaders);
this.rowCounts = CalculateRowCounts(baseTableRowCounts, deltaReaders);
_heapSizes = CalculateHeapSizes(baseHeapSizes, deltaReaders);
_rowCounts = CalculateRowCounts(baseTableRowCounts, deltaReaders);
}
// for testing only
internal MetadataAggregator(RowCounts[][] rowCounts, int[][] heapSizes)
{
this.rowCounts = ToImmutable(rowCounts);
this.heapSizes = ToImmutable(heapSizes);
_rowCounts = ToImmutable(rowCounts);
_heapSizes = ToImmutable(heapSizes);
}
private static void CalculateBaseCounts(
......@@ -259,7 +259,7 @@ public Handle GetGenerationHandle(Handle handle, out int generation)
HeapIndex heapIndex;
MetadataTokens.TryGetHeapIndex(handle.Kind, out heapIndex);
var sizes = heapSizes[(int)heapIndex];
var sizes = _heapSizes[(int)heapIndex];
generation = sizes.BinarySearch(rowId);
if (generation >= 0)
......@@ -288,7 +288,7 @@ public Handle GetGenerationHandle(Handle handle, out int generation)
}
else
{
var sizes = rowCounts[(int)handle.value >> TokenTypeIds.RowIdBitCount];
var sizes = _rowCounts[(int)handle.value >> TokenTypeIds.RowIdBitCount];
generation = sizes.BinarySearch(new RowCounts { AggregateInserts = rowId });
if (generation >= 0)
......
......@@ -25,8 +25,8 @@ partial class MetadataReader
// Maps names of projected types to projection information for each type.
// Both arrays are of the same length and sorted by the type name.
private static string[] projectedTypeNames;
private static ProjectionInfo[] projectionInfos;
private static string[] s_projectedTypeNames;
private static ProjectionInfo[] s_projectionInfos;
private struct ProjectionInfo
{
......@@ -60,22 +60,22 @@ private TypeDefTreatment GetWellKnownTypeDefinitionTreatment(TypeDefinitionHandl
StringHandle name = TypeDefTable.GetName(typeDef);
int index = StringStream.BinarySearchRaw(projectedTypeNames, name);
int index = StringStream.BinarySearchRaw(s_projectedTypeNames, name);
if (index < 0)
{
return TypeDefTreatment.None;
}
StringHandle namespaceName = TypeDefTable.GetNamespaceString(typeDef);
if (StringStream.EqualsRaw(namespaceName, StringStream.GetVirtualValue(projectionInfos[index].ClrNamespace)))
if (StringStream.EqualsRaw(namespaceName, StringStream.GetVirtualValue(s_projectionInfos[index].ClrNamespace)))
{
return projectionInfos[index].Treatment;
return s_projectionInfos[index].Treatment;
}
// TODO: we can avoid this comparison if info.DotNetNamespace == info.WinRtNamespace
if (StringStream.EqualsRaw(namespaceName, projectionInfos[index].WinRTNamespace))
if (StringStream.EqualsRaw(namespaceName, s_projectionInfos[index].WinRTNamespace))
{
return projectionInfos[index].Treatment | TypeDefTreatment.MarkInternalFlag;
return s_projectionInfos[index].Treatment | TypeDefTreatment.MarkInternalFlag;
}
return TypeDefTreatment.None;
......@@ -85,10 +85,10 @@ private int GetProjectionIndexForTypeReference(TypeReferenceHandle typeRef, out
{
InitializeProjectedTypes();
int index = StringStream.BinarySearchRaw(projectedTypeNames, TypeRefTable.GetName(typeRef));
if (index >= 0 && StringStream.EqualsRaw(TypeRefTable.GetNamespace(typeRef), projectionInfos[index].WinRTNamespace))
int index = StringStream.BinarySearchRaw(s_projectedTypeNames, TypeRefTable.GetName(typeRef));
if (index >= 0 && StringStream.EqualsRaw(TypeRefTable.GetNamespace(typeRef), s_projectionInfos[index].WinRTNamespace))
{
isIDisposable = projectionInfos[index].IsIDisposable;
isIDisposable = s_projectionInfos[index].IsIDisposable;
return index;
}
......@@ -98,25 +98,25 @@ private int GetProjectionIndexForTypeReference(TypeReferenceHandle typeRef, out
internal static AssemblyReferenceHandle GetProjectedAssemblyRef(int projectionIndex)
{
Debug.Assert(projectionInfos != null && projectionIndex >= 0 && projectionIndex < projectionInfos.Length);
return AssemblyReferenceHandle.FromVirtualIndex(projectionInfos[projectionIndex].AssemblyRef);
Debug.Assert(s_projectionInfos != null && projectionIndex >= 0 && projectionIndex < s_projectionInfos.Length);
return AssemblyReferenceHandle.FromVirtualIndex(s_projectionInfos[projectionIndex].AssemblyRef);
}
internal static StringHandle GetProjectedName(int projectionIndex)
{
Debug.Assert(projectionInfos != null && projectionIndex >= 0 && projectionIndex < projectionInfos.Length);
return StringHandle.FromVirtualIndex(projectionInfos[projectionIndex].ClrName);
Debug.Assert(s_projectionInfos != null && projectionIndex >= 0 && projectionIndex < s_projectionInfos.Length);
return StringHandle.FromVirtualIndex(s_projectionInfos[projectionIndex].ClrName);
}
internal static StringHandle GetProjectedNamespace(int projectionIndex)
{
Debug.Assert(projectionInfos != null && projectionIndex >= 0 && projectionIndex < projectionInfos.Length);
return StringHandle.FromVirtualIndex(projectionInfos[projectionIndex].ClrNamespace);
Debug.Assert(s_projectionInfos != null && projectionIndex >= 0 && projectionIndex < s_projectionInfos.Length);
return StringHandle.FromVirtualIndex(s_projectionInfos[projectionIndex].ClrNamespace);
}
private static void InitializeProjectedTypes()
{
if (projectedTypeNames == null || projectionInfos == null)
if (s_projectedTypeNames == null || s_projectionInfos == null)
{
var systemRuntimeWindowsRuntime = AssemblyReferenceHandle.VirtualIndex.System_Runtime_WindowsRuntime;
var systemRuntime = AssemblyReferenceHandle.VirtualIndex.System_Runtime;
......@@ -186,8 +186,8 @@ private static void InitializeProjectedTypes()
Debug.Assert(k == keys.Length && v == keys.Length && k == v);
AssertSorted(keys);
projectedTypeNames = keys;
projectionInfos = values;
s_projectedTypeNames = keys;
s_projectionInfos = values;
}
}
......@@ -204,7 +204,7 @@ private static void AssertSorted(string[] keys)
internal static string[] GetProjectedTypeNames()
{
InitializeProjectedTypes();
return projectedTypeNames;
return s_projectedTypeNames;
}
#endregion
......@@ -219,7 +219,7 @@ private static uint TreatmentAndRowId(byte treatment, uint rowId)
[MethodImplAttribute(MethodImplOptions.NoInlining)]
internal uint CalculateTypeDefTreatmentAndRowId(TypeDefinitionHandle handle)
{
Debug.Assert(metadataKind != MetadataKind.Ecma335);
Debug.Assert(_metadataKind != MetadataKind.Ecma335);
TypeDefTreatment treatment;
......@@ -228,7 +228,7 @@ internal uint CalculateTypeDefTreatmentAndRowId(TypeDefinitionHandle handle)
if ((flags & TypeAttributes.WindowsRuntime) != 0)
{
if (metadataKind == MetadataKind.WindowsMetadata)
if (_metadataKind == MetadataKind.WindowsMetadata)
{
treatment = GetWellKnownTypeDefinitionTreatment(handle);
if (treatment != TypeDefTreatment.None)
......@@ -246,7 +246,7 @@ internal uint CalculateTypeDefTreatmentAndRowId(TypeDefinitionHandle handle)
treatment = TypeDefTreatment.NormalNonAttribute;
}
}
else if (metadataKind == MetadataKind.ManagedWindowsMetadata && NeedsWinRTPrefix(flags, extends))
else if (_metadataKind == MetadataKind.ManagedWindowsMetadata && NeedsWinRTPrefix(flags, extends))
{
// WinMDExp emits two versions of RuntimeClasses and Enums:
//
......@@ -284,7 +284,7 @@ internal uint CalculateTypeDefTreatmentAndRowId(TypeDefinitionHandle handle)
}
}
}
else if (metadataKind == MetadataKind.ManagedWindowsMetadata && IsClrImplementationType(handle))
else if (_metadataKind == MetadataKind.ManagedWindowsMetadata && IsClrImplementationType(handle))
{
// <CLR> implementation classes are not marked WindowsRuntime, but still need to be modified
// by the adapter.
......@@ -316,7 +316,7 @@ private bool IsClrImplementationType(TypeDefinitionHandle typeDef)
internal uint CalculateTypeRefTreatmentAndRowId(TypeReferenceHandle handle)
{
Debug.Assert(metadataKind != MetadataKind.Ecma335);
Debug.Assert(_metadataKind != MetadataKind.Ecma335);
bool isIDisposable;
int projectionIndex = GetProjectionIndexForTypeReference(handle, out isIDisposable);
......@@ -414,7 +414,7 @@ private uint CalculateMethodDefTreatmentAndRowId(MethodDefinitionHandle methodDe
{
treatment = MethodDefTreatment.InterfaceMethod;
}
else if (metadataKind == MetadataKind.ManagedWindowsMetadata && (parentFlags & TypeAttributes.Public) == 0)
else if (_metadataKind == MetadataKind.ManagedWindowsMetadata && (parentFlags & TypeAttributes.Public) == 0)
{
treatment = MethodDefTreatment.Implementation;
}
......@@ -670,7 +670,7 @@ private uint FindMscorlibAssemblyRefNoProjection()
internal CustomAttributeValueTreatment CalculateCustomAttributeValueTreatment(CustomAttributeHandle handle)
{
Debug.Assert(metadataKind != MetadataKind.Ecma335);
Debug.Assert(_metadataKind != MetadataKind.Ecma335);
var parent = CustomAttributeTable.GetParent(handle);
......
......@@ -17,10 +17,10 @@ namespace System.Reflection.Metadata
/// </summary>
public sealed partial class MetadataReader
{
private readonly MetadataReaderOptions options;
private readonly MetadataReaderOptions _options;
internal readonly MetadataStringDecoder utf8Decoder;
internal readonly NamespaceCache namespaceCache;
private Dictionary<TypeDefinitionHandle, ImmutableArray<TypeDefinitionHandle>> lazyNestedTypesMap;
private Dictionary<TypeDefinitionHandle, ImmutableArray<TypeDefinitionHandle>> _lazyNestedTypesMap;
internal readonly MemoryBlock Block;
// A row id of "mscorlib" AssemblyRef in a WinMD file (each WinMD file must have such a reference).
......@@ -89,7 +89,7 @@ public unsafe MetadataReader(byte* metadata, int length, MetadataReaderOptions o
this.Block = new MemoryBlock(metadata, length);
this.options = options;
_options = options;
this.utf8Decoder = utf8Decoder;
BlobReader memReader = new BlobReader(this.Block);
......@@ -122,7 +122,7 @@ public unsafe MetadataReader(byte* metadata, int length, MetadataReaderOptions o
// read
this.namespaceCache = new NamespaceCache(this);
if (this.metadataKind != MetadataKind.Ecma335)
if (_metadataKind != MetadataKind.Ecma335)
{
this.WinMDMscorlibRef = FindMscorlibAssemblyRefNoProjection();
}
......@@ -132,9 +132,9 @@ public unsafe MetadataReader(byte* metadata, int length, MetadataReaderOptions o
#region Metadata Headers
private MetadataHeader metadataHeader;
private MetadataKind metadataKind;
private MetadataStreamKind metadataStreamKind;
private MetadataHeader _metadataHeader;
private MetadataKind _metadataKind;
private MetadataStreamKind _metadataStreamKind;
internal StringStreamReader StringStream;
internal BlobStreamReader BlobStream;
......@@ -164,31 +164,31 @@ private void ReadMetadataHeader(ref BlobReader memReader)
throw new BadImageFormatException(MetadataResources.MetadataHeaderTooSmall);
}
this.metadataHeader.Signature = memReader.ReadUInt32();
if (this.metadataHeader.Signature != COR20Constants.COR20MetadataSignature)
_metadataHeader.Signature = memReader.ReadUInt32();
if (_metadataHeader.Signature != COR20Constants.COR20MetadataSignature)
{
throw new BadImageFormatException(MetadataResources.MetadataSignature);
}
this.metadataHeader.MajorVersion = memReader.ReadUInt16();
this.metadataHeader.MinorVersion = memReader.ReadUInt16();
this.metadataHeader.ExtraData = memReader.ReadUInt32();
this.metadataHeader.VersionStringSize = memReader.ReadInt32();
if (memReader.RemainingBytes < this.metadataHeader.VersionStringSize)
_metadataHeader.MajorVersion = memReader.ReadUInt16();
_metadataHeader.MinorVersion = memReader.ReadUInt16();
_metadataHeader.ExtraData = memReader.ReadUInt32();
_metadataHeader.VersionStringSize = memReader.ReadInt32();
if (memReader.RemainingBytes < _metadataHeader.VersionStringSize)
{
throw new BadImageFormatException(MetadataResources.NotEnoughSpaceForVersionString);
}
int numberOfBytesRead;
this.metadataHeader.VersionString = memReader.GetMemoryBlockAt(0, this.metadataHeader.VersionStringSize).PeekUtf8NullTerminated(0, null, utf8Decoder, out numberOfBytesRead, '\0');
memReader.SkipBytes(this.metadataHeader.VersionStringSize);
this.metadataKind = GetMetadataKind(metadataHeader.VersionString);
_metadataHeader.VersionString = memReader.GetMemoryBlockAt(0, _metadataHeader.VersionStringSize).PeekUtf8NullTerminated(0, null, utf8Decoder, out numberOfBytesRead, '\0');
memReader.SkipBytes(_metadataHeader.VersionStringSize);
_metadataKind = GetMetadataKind(_metadataHeader.VersionString);
}
private MetadataKind GetMetadataKind(string versionString)
{
// Treat metadata as CLI raw metadata if the client doesn't want to see projections.
if ((options & MetadataReaderOptions.ApplyWindowsRuntimeProjections) == 0)
if ((_options & MetadataReaderOptions.ApplyWindowsRuntimeProjections) == 0)
{
return MetadataKind.Ecma335;
}
......@@ -252,7 +252,7 @@ private void InitializeStreamReaders(ref MemoryBlock metadataRoot, StreamHeader[
throw new BadImageFormatException(MetadataResources.NotEnoughSpaceForStringStream);
}
this.StringStream = new StringStreamReader(metadataRoot.GetMemoryBlockAt((int)streamHeader.Offset, streamHeader.Size), this.metadataKind);
this.StringStream = new StringStreamReader(metadataRoot.GetMemoryBlockAt((int)streamHeader.Offset, streamHeader.Size), _metadataKind);
break;
case COR20Constants.BlobStreamName:
......@@ -261,7 +261,7 @@ private void InitializeStreamReaders(ref MemoryBlock metadataRoot, StreamHeader[
throw new BadImageFormatException(MetadataResources.NotEnoughSpaceForBlobStream);
}
this.BlobStream = new BlobStreamReader(metadataRoot.GetMemoryBlockAt((int)streamHeader.Offset, streamHeader.Size), this.metadataKind);
this.BlobStream = new BlobStreamReader(metadataRoot.GetMemoryBlockAt((int)streamHeader.Offset, streamHeader.Size), _metadataKind);
break;
case COR20Constants.GUIDStreamName:
......@@ -288,7 +288,7 @@ private void InitializeStreamReaders(ref MemoryBlock metadataRoot, StreamHeader[
throw new BadImageFormatException(MetadataResources.NotEnoughSpaceForMetadataStream);
}
this.metadataStreamKind = MetadataStreamKind.Compressed;
_metadataStreamKind = MetadataStreamKind.Compressed;
metadataTableStream = metadataRoot.GetMemoryBlockAt((int)streamHeader.Offset, streamHeader.Size);
break;
......@@ -298,7 +298,7 @@ private void InitializeStreamReaders(ref MemoryBlock metadataRoot, StreamHeader[
throw new BadImageFormatException(MetadataResources.NotEnoughSpaceForMetadataStream);
}
this.metadataStreamKind = MetadataStreamKind.Uncompressed;
_metadataStreamKind = MetadataStreamKind.Uncompressed;
metadataTableStream = metadataRoot.GetMemoryBlockAt((int)streamHeader.Offset, streamHeader.Size);
break;
......@@ -318,7 +318,7 @@ private void InitializeStreamReaders(ref MemoryBlock metadataRoot, StreamHeader[
}
}
if (IsMinimalDelta && metadataStreamKind != MetadataStreamKind.Uncompressed)
if (IsMinimalDelta && _metadataStreamKind != MetadataStreamKind.Uncompressed)
{
throw new BadImageFormatException(MetadataResources.InvalidMetadataStreamFormat);
}
......@@ -328,7 +328,7 @@ private void InitializeStreamReaders(ref MemoryBlock metadataRoot, StreamHeader[
#region Tables and Heaps
private MetadataTableHeader MetadataTableHeader;
private MetadataTableHeader _MetadataTableHeader;
/// <summary>
/// A row count for each possible table. May be indexed by <see cref="TableIndex"/>.
......@@ -388,14 +388,14 @@ private void ReadMetadataTableHeader(ref BlobReader memReader, out uint[] metada
throw new BadImageFormatException(MetadataResources.MetadataTableHeaderTooSmall);
}
this.MetadataTableHeader.Reserved = memReader.ReadUInt32();
this.MetadataTableHeader.MajorVersion = memReader.ReadByte();
this.MetadataTableHeader.MinorVersion = memReader.ReadByte();
this.MetadataTableHeader.HeapSizeFlags = (HeapSizeFlag)memReader.ReadByte();
this.MetadataTableHeader.RowId = memReader.ReadByte();
this.MetadataTableHeader.ValidTables = (TableMask)memReader.ReadUInt64();
this.MetadataTableHeader.SortedTables = (TableMask)memReader.ReadUInt64();
ulong presentTables = (ulong)this.MetadataTableHeader.ValidTables;
_MetadataTableHeader.Reserved = memReader.ReadUInt32();
_MetadataTableHeader.MajorVersion = memReader.ReadByte();
_MetadataTableHeader.MinorVersion = memReader.ReadByte();
_MetadataTableHeader.HeapSizeFlags = (HeapSizeFlag)memReader.ReadByte();
_MetadataTableHeader.RowId = memReader.ReadByte();
_MetadataTableHeader.ValidTables = (TableMask)memReader.ReadUInt64();
_MetadataTableHeader.SortedTables = (TableMask)memReader.ReadUInt64();
ulong presentTables = (ulong)_MetadataTableHeader.ValidTables;
// According to ECMA-335, MajorVersion and MinorVersion have fixed values and,
// based on recommendation in 24.1 Fixed fields: When writing these fields it
......@@ -409,7 +409,7 @@ private void ReadMetadataTableHeader(ref BlobReader memReader, out uint[] metada
throw new BadImageFormatException(string.Format(MetadataResources.UnknownTables, presentTables));
}
if (this.metadataStreamKind == MetadataStreamKind.Compressed)
if (_metadataStreamKind == MetadataStreamKind.Compressed)
{
// In general Ptr tables and EnC tables are not allowed in a compressed stream.
// However when asked for a snapshot of the current metadata after an EnC change has been applied
......@@ -421,7 +421,7 @@ private void ReadMetadataTableHeader(ref BlobReader memReader, out uint[] metada
}
}
int numberOfTables = this.MetadataTableHeader.GetNumberOfTablesPresent();
int numberOfTables = _MetadataTableHeader.GetNumberOfTablesPresent();
if (memReader.RemainingBytes < numberOfTables * sizeof(int))
{
throw new BadImageFormatException(MetadataResources.TableRowCountSpaceTooSmall);
......@@ -448,7 +448,7 @@ private void InitializeTableReaders(MemoryBlock metadataTablesMemoryBlock, uint[
// Size of reference tags in each table.
int[] referenceSizes = new int[TableIndexExtensions.Count];
ulong validTables = (ulong)this.MetadataTableHeader.ValidTables;
ulong validTables = (ulong)_MetadataTableHeader.ValidTables;
int compressedRowCountIndex = 0;
for (int i = 0; i < TableIndexExtensions.Count; i++)
{
......@@ -494,9 +494,9 @@ private void InitializeTableReaders(MemoryBlock metadataTablesMemoryBlock, uint[
int typeOrMethodDefRefSize = ComputeCodedTokenSize(TypeOrMethodDefTag.LargeRowSize, rowCounts, TypeOrMethodDefTag.TablesReferenced);
// Compute HeapRef Sizes
int stringHeapRefSize = (this.MetadataTableHeader.HeapSizeFlags & HeapSizeFlag.StringHeapLarge) == HeapSizeFlag.StringHeapLarge ? LargeIndexSize : SmallIndexSize;
int guidHeapRefSize = (this.MetadataTableHeader.HeapSizeFlags & HeapSizeFlag.GuidHeapLarge) == HeapSizeFlag.GuidHeapLarge ? LargeIndexSize : SmallIndexSize;
int blobHeapRefSize = (this.MetadataTableHeader.HeapSizeFlags & HeapSizeFlag.BlobHeapLarge) == HeapSizeFlag.BlobHeapLarge ? LargeIndexSize : SmallIndexSize;
int stringHeapRefSize = (_MetadataTableHeader.HeapSizeFlags & HeapSizeFlag.StringHeapLarge) == HeapSizeFlag.StringHeapLarge ? LargeIndexSize : SmallIndexSize;
int guidHeapRefSize = (_MetadataTableHeader.HeapSizeFlags & HeapSizeFlag.GuidHeapLarge) == HeapSizeFlag.GuidHeapLarge ? LargeIndexSize : SmallIndexSize;
int blobHeapRefSize = (_MetadataTableHeader.HeapSizeFlags & HeapSizeFlag.BlobHeapLarge) == HeapSizeFlag.BlobHeapLarge ? LargeIndexSize : SmallIndexSize;
// Populate the Table blocks
int totalRequiredSize = 0;
......@@ -596,7 +596,7 @@ private void InitializeTableReaders(MemoryBlock metadataTablesMemoryBlock, uint[
this.FieldRvaTable = new FieldRVATableReader(rowCounts[(int)TableIndex.FieldRva], IsDeclaredSorted(TableMask.FieldRva), referenceSizes[(int)TableIndex.Field], metadataTablesMemoryBlock, totalRequiredSize);
totalRequiredSize += this.FieldRvaTable.Block.Length;
this.EncLogTable = new EnCLogTableReader(rowCounts[(int)TableIndex.EncLog], metadataTablesMemoryBlock, totalRequiredSize, this.metadataStreamKind);
this.EncLogTable = new EnCLogTableReader(rowCounts[(int)TableIndex.EncLog], metadataTablesMemoryBlock, totalRequiredSize, _metadataStreamKind);
totalRequiredSize += this.EncLogTable.Block.Length;
this.EncMapTable = new EnCMapTableReader(rowCounts[(int)TableIndex.EncMap], metadataTablesMemoryBlock, totalRequiredSize);
......@@ -611,7 +611,7 @@ private void InitializeTableReaders(MemoryBlock metadataTablesMemoryBlock, uint[
this.AssemblyOSTable = new AssemblyOSTableReader(rowCounts[(int)TableIndex.AssemblyOS], metadataTablesMemoryBlock, totalRequiredSize);
totalRequiredSize += this.AssemblyOSTable.Block.Length;
this.AssemblyRefTable = new AssemblyRefTableReader((int)rowCounts[(int)TableIndex.AssemblyRef], stringHeapRefSize, blobHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize, this.metadataKind);
this.AssemblyRefTable = new AssemblyRefTableReader((int)rowCounts[(int)TableIndex.AssemblyRef], stringHeapRefSize, blobHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize, _metadataKind);
totalRequiredSize += this.AssemblyRefTable.Block.Length;
this.AssemblyRefProcessorTable = new AssemblyRefProcessorTableReader(rowCounts[(int)TableIndex.AssemblyRefProcessor], referenceSizes[(int)TableIndex.AssemblyRef], metadataTablesMemoryBlock, totalRequiredSize);
......@@ -671,7 +671,7 @@ private int ComputeCodedTokenSize(uint largeRowSize, uint[] rowCountArray, Table
private bool IsDeclaredSorted(TableMask index)
{
return (this.MetadataTableHeader.SortedTables & index) != 0;
return (_MetadataTableHeader.SortedTables & index) != 0;
}
#endregion
......@@ -829,17 +829,17 @@ internal static void ThrowTableNotSorted(TableIndex tableIndex)
public MetadataReaderOptions Options
{
get { return this.options; }
get { return _options; }
}
public string MetadataVersion
{
get { return metadataHeader.VersionString; }
get { return _metadataHeader.VersionString; }
}
public MetadataKind MetadataKind
{
get { return metadataKind; }
get { return _metadataKind; }
}
public MetadataStringComparer StringComparer
......@@ -1000,7 +1000,7 @@ public NamespaceDefinition GetNamespaceDefinition(NamespaceDefinitionHandle hand
private uint GetTypeDefTreatmentAndRowId(TypeDefinitionHandle handle)
{
// PERF: This code pattern is JIT friendly and results in very efficient code.
if (this.metadataKind == MetadataKind.Ecma335)
if (_metadataKind == MetadataKind.Ecma335)
{
return handle.RowId;
}
......@@ -1017,7 +1017,7 @@ public TypeReference GetTypeReference(TypeReferenceHandle handle)
private uint GetTypeRefTreatmentAndRowId(TypeReferenceHandle handle)
{
// PERF: This code pattern is JIT friendly and results in very efficient code.
if (this.metadataKind == MetadataKind.Ecma335)
if (_metadataKind == MetadataKind.Ecma335)
{
return handle.RowId;
}
......@@ -1045,7 +1045,7 @@ public CustomAttribute GetCustomAttribute(CustomAttributeHandle handle)
private uint GetCustomAttributeTreatmentAndRowId(CustomAttributeHandle handle)
{
// PERF: This code pattern is JIT friendly and results in very efficient code.
if (this.metadataKind == MetadataKind.Ecma335)
if (_metadataKind == MetadataKind.Ecma335)
{
return handle.RowId;
}
......@@ -1073,7 +1073,7 @@ public MethodDefinition GetMethodDefinition(MethodDefinitionHandle handle)
private uint GetMethodDefTreatmentAndRowId(MethodDefinitionHandle handle)
{
// PERF: This code pattern is JIT friendly and results in very efficient code.
if (this.metadataKind == MetadataKind.Ecma335)
if (_metadataKind == MetadataKind.Ecma335)
{
return handle.RowId;
}
......@@ -1090,7 +1090,7 @@ public FieldDefinition GetFieldDefinition(FieldDefinitionHandle handle)
private uint GetFieldDefTreatmentAndRowId(FieldDefinitionHandle handle)
{
// PERF: This code pattern is JIT friendly and results in very efficient code.
if (this.metadataKind == MetadataKind.Ecma335)
if (_metadataKind == MetadataKind.Ecma335)
{
return handle.RowId;
}
......@@ -1122,7 +1122,7 @@ public MemberReference GetMemberReference(MemberReferenceHandle handle)
private uint GetMemberRefTreatmentAndRowId(MemberReferenceHandle handle)
{
// PERF: This code pattern is JIT friendly and results in very efficient code.
if (this.metadataKind == MetadataKind.Ecma335)
if (_metadataKind == MetadataKind.Ecma335)
{
return handle.RowId;
}
......@@ -1252,7 +1252,7 @@ private void InitializeNestedTypesMap()
nestedTypesMap.Add(group.Key, group.Value.ToImmutable());
}
this.lazyNestedTypesMap = nestedTypesMap;
_lazyNestedTypesMap = nestedTypesMap;
}
/// <summary>
......@@ -1260,13 +1260,13 @@ private void InitializeNestedTypesMap()
/// </summary>
internal ImmutableArray<TypeDefinitionHandle> GetNestedTypes(TypeDefinitionHandle typeDef)
{
if (this.lazyNestedTypesMap == null)
if (_lazyNestedTypesMap == null)
{
InitializeNestedTypesMap();
}
ImmutableArray<TypeDefinitionHandle> nestedTypes;
if (this.lazyNestedTypesMap.TryGetValue(typeDef, out nestedTypes))
if (_lazyNestedTypesMap.TryGetValue(typeDef, out nestedTypes))
{
return nestedTypes;
}
......
......@@ -43,12 +43,12 @@ namespace System.Reflection.Metadata
/// </remarks>
public struct MetadataStringComparer
{
private readonly MetadataReader reader;
private readonly MetadataReader _reader;
internal MetadataStringComparer(MetadataReader reader)
{
Debug.Assert(reader != null);
this.reader = reader;
_reader = reader;
}
public bool Equals(StringHandle handle, string value)
......@@ -58,7 +58,7 @@ public bool Equals(StringHandle handle, string value)
ThrowValueArgumentNull();
}
return reader.StringStream.Equals(handle, value, reader.utf8Decoder);
return _reader.StringStream.Equals(handle, value, _reader.utf8Decoder);
}
public bool Equals(NamespaceDefinitionHandle handle, string value)
......@@ -70,10 +70,10 @@ public bool Equals(NamespaceDefinitionHandle handle, string value)
if (handle.HasFullName)
{
return reader.StringStream.Equals(handle.GetFullName(), value, reader.utf8Decoder);
return _reader.StringStream.Equals(handle.GetFullName(), value, _reader.utf8Decoder);
}
return value == reader.namespaceCache.GetFullName(handle);
return value == _reader.namespaceCache.GetFullName(handle);
}
public bool StartsWith(StringHandle handle, string value)
......@@ -83,7 +83,7 @@ public bool StartsWith(StringHandle handle, string value)
ThrowValueArgumentNull();
}
return reader.StringStream.StartsWith(handle, value, reader.utf8Decoder);
return _reader.StringStream.StartsWith(handle, value, _reader.utf8Decoder);
}
[MethodImpl(MethodImplOptions.NoInlining)]
......
......@@ -23,8 +23,8 @@ namespace System.Reflection.Metadata
/// </remarks>
public class MetadataStringDecoder
{
private static readonly MetadataStringDecoder defaultUTF8 = new MetadataStringDecoder(Encoding.UTF8);
private readonly Encoding encoding;
private static readonly MetadataStringDecoder s_defaultUTF8 = new MetadataStringDecoder(Encoding.UTF8);
private readonly Encoding _encoding;
/// <summary>
/// The default decoder used by <see cref="MetadataReader"/> to decode UTF-8 when
......@@ -32,7 +32,7 @@ public class MetadataStringDecoder
/// </summary>
public static MetadataStringDecoder DefaultUTF8
{
get { return defaultUTF8; }
get { return s_defaultUTF8; }
}
/// <summary>
......@@ -59,7 +59,7 @@ public MetadataStringDecoder(Encoding encoding)
// encoding. I'm more comfortable sharing that hack than having the reflection over internal
// CreateStringFromEncoding spread.
this.encoding = encoding;
_encoding = encoding;
}
/// <summary>
......@@ -67,7 +67,7 @@ public MetadataStringDecoder(Encoding encoding)
/// </summary>
public Encoding Encoding
{
get { return this.encoding; }
get { return _encoding; }
}
/// <summary>
......@@ -81,11 +81,11 @@ public Encoding Encoding
/// <returns>The decoded string.</returns>
public unsafe virtual String GetString(byte* bytes, int byteCount)
{
Debug.Assert(this.encoding != null);
Debug.Assert(_encoding != null);
// Note that this call is currently wired to the light-up extension in EncodingHelper
// for portability.
return this.encoding.GetString(bytes, byteCount);
return _encoding.GetString(bytes, byteCount);
}
}
}
......@@ -19,7 +19,7 @@ public static class AssertEx
#region AssertEqualityComparer<T>
private class AssertEqualityComparer<T> : IEqualityComparer<T>
{
private readonly static IEqualityComparer<T> instance = new AssertEqualityComparer<T>();
private readonly static IEqualityComparer<T> s_instance = new AssertEqualityComparer<T>();
private static bool CanBeNull()
{
......@@ -40,7 +40,7 @@ public static bool IsNull(T @object)
public static bool Equals(T left, T right)
{
return instance.Equals(left, right);
return s_instance.Equals(left, right);
}
bool IEqualityComparer<T>.Equals(T x, T y)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册