Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corert.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Wrighton <davidwr@microsoft.com>2015-12-15 05:38:24 +0300
committerDavid Wrighton <davidwr@microsoft.com>2015-12-15 05:38:24 +0300
commitf44356acdcecd48242354eadda1bcfae04d93ee4 (patch)
treeb47d30d0b39d96047c9160296eb1399ae42c71b9 /src/Common
parent964952dfbda231ab28e582ce4638488729e94e57 (diff)
Make the HandleType property on NativeFormat Metadata Handles public, and use it as appropriate (The current api uselessly takes a MetadataReader parameter and shuffles through several layers of indirection, and those can be non-free operations)
[tfs-changeset: 1557632]
Diffstat (limited to 'src/Common')
-rw-r--r--src/Common/src/Internal/Metadata/NativeFormat/NativeFormatReaderCommonGen.cs5
-rw-r--r--src/Common/src/Internal/Metadata/NativeFormat/NativeMetadataReader.cs15
-rw-r--r--src/Common/src/Internal/Metadata/NativeFormat/Script/CsPublicGen2.py2
3 files changed, 6 insertions, 16 deletions
diff --git a/src/Common/src/Internal/Metadata/NativeFormat/NativeFormatReaderCommonGen.cs b/src/Common/src/Internal/Metadata/NativeFormat/NativeFormatReaderCommonGen.cs
index 37d9594b7..ba3ea7b4c 100644
--- a/src/Common/src/Internal/Metadata/NativeFormat/NativeFormatReaderCommonGen.cs
+++ b/src/Common/src/Internal/Metadata/NativeFormat/NativeFormatReaderCommonGen.cs
@@ -1717,7 +1717,10 @@ namespace Internal.Metadata.NativeFormat
internal interface IHandle : IEquatable<Handle>, IEquatable<Object>
{
int GetHashCode();
- HandleType GetHandleType(MetadataReader reader);
+ HandleType HandleType
+ {
+ get;
+ } // HandleType
PropertySignatureHandle ToPropertySignatureHandle(MetadataReader reader);
MethodSemanticsHandle ToMethodSemanticsHandle(MetadataReader reader);
diff --git a/src/Common/src/Internal/Metadata/NativeFormat/NativeMetadataReader.cs b/src/Common/src/Internal/Metadata/NativeFormat/NativeMetadataReader.cs
index b0519c4a9..d67a7038b 100644
--- a/src/Common/src/Internal/Metadata/NativeFormat/NativeMetadataReader.cs
+++ b/src/Common/src/Internal/Metadata/NativeFormat/NativeMetadataReader.cs
@@ -110,7 +110,7 @@ namespace Internal.Metadata.NativeFormat
_value = (int)type << 24 | (int)offset;
}
- internal HandleType HandleType
+ public HandleType HandleType
{
get
{
@@ -126,11 +126,6 @@ namespace Internal.Metadata.NativeFormat
}
}
- public HandleType GetHandleType(MetadataReader reader)
- {
- return (reader as MetadataReader).GetHandleType(this);
- }
-
public bool IsNull(MetadataReader reader)
{
return reader.IsNull(this);
@@ -199,14 +194,6 @@ namespace Internal.Metadata.NativeFormat
}
/// <summary>
- /// Fetches the HandleType from a given Handle.
- /// </summary>
- public HandleType GetHandleType(Handle handle)
- {
- return (HandleType)(handle._value >> 24);
- }
-
- /// <summary>
/// Returns a Handle value representing the null value. Can be used
/// to test handle values of all types for null.
/// </summary>
diff --git a/src/Common/src/Internal/Metadata/NativeFormat/Script/CsPublicGen2.py b/src/Common/src/Internal/Metadata/NativeFormat/Script/CsPublicGen2.py
index 008566781..294d36305 100644
--- a/src/Common/src/Internal/Metadata/NativeFormat/Script/CsPublicGen2.py
+++ b/src/Common/src/Internal/Metadata/NativeFormat/Script/CsPublicGen2.py
@@ -303,7 +303,7 @@ def CsEmitSource():
Ty.IMetadataReader = CreateReader('IMetadataReader', recs, hnds)
Ty.MetadataReader = ClassDef('MetadataReader', flags = TypeFlags.Partial, interfaces = [Ty.IMetadataReader])
- Ty.IHandle.members.add(MethodDef('GetHandleType', sig = [Ty.HandleType, [(Ty.MetadataReader, 'reader')]]))
+ Ty.IHandle.members.add(PropertyDef('HandleType', Ty.HandleType, getter = PropertyGetter()))
ns.members.add(Ty.IMetadataReader)
ns.members.add(Ty.MetadataReader)