Skip to content
This repository has been archived by the owner on Nov 1, 2020. It is now read-only.

Commit

Permalink
Merge branch 'master' of https://github.com/dotnet/corert into NodeBy…
Browse files Browse the repository at this point in the history
…teEmission
  • Loading branch information
A-And committed Aug 16, 2016
2 parents 46efffd + 7b93a9f commit 305087a
Show file tree
Hide file tree
Showing 44 changed files with 711 additions and 1,591 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -370,6 +370,14 @@ from primitiveType in PrimitiveTypes select
"TypeSpecification",
};

private readonly static string[] TypeDefOrRefOrSpecOrMod = new string[]
{
"TypeDefinition",
"TypeReference",
"TypeSpecification",
"ModifiedType",
};

private readonly static string[] TypeSig = new string[]
{
"TypeInstantiationSignature",
Expand Down Expand Up @@ -637,7 +645,7 @@ from primitiveType in PrimitiveTypes select
new RecordDef(
name: "SZArraySignature",
members: new MemberDef[] {
new MemberDef("ElementType", TypeDefOrRefOrSpec, MemberDefFlags.RecordRef),
new MemberDef("ElementType", TypeDefOrRefOrSpecOrMod, MemberDefFlags.RecordRef),
}
),
new RecordDef(
Expand All @@ -658,7 +666,7 @@ from primitiveType in PrimitiveTypes select
new RecordDef(
name: "PointerSignature",
members: new MemberDef[] {
new MemberDef("Type", TypeDefOrRefOrSpec, MemberDefFlags.RecordRef),
new MemberDef("Type", TypeDefOrRefOrSpecOrMod, MemberDefFlags.RecordRef),
}
),
new RecordDef(
Expand All @@ -676,41 +684,25 @@ from primitiveType in PrimitiveTypes select
new RecordDef(
name: "FieldSignature",
members: new MemberDef[] {
new MemberDef("Type", TypeDefOrRefOrSpec, MemberDefFlags.RecordRef),
new MemberDef("CustomModifiers", "CustomModifier", MemberDefFlags.List | MemberDefFlags.RecordRef),
new MemberDef("Type", TypeDefOrRefOrSpecOrMod, MemberDefFlags.RecordRef),
}
),
new RecordDef(
name: "PropertySignature",
members: new MemberDef[] {
new MemberDef("CallingConvention", "CallingConventions"),
new MemberDef("CustomModifiers", "CustomModifier", MemberDefFlags.List | MemberDefFlags.RecordRef),
new MemberDef("Type", TypeDefOrRefOrSpec, MemberDefFlags.RecordRef),
new MemberDef("Parameters", "ParameterTypeSignature", MemberDefFlags.List | MemberDefFlags.RecordRef | MemberDefFlags.EnumerateForHashCode),
new MemberDef("Type", TypeDefOrRefOrSpecOrMod, MemberDefFlags.RecordRef),
new MemberDef("Parameters", TypeDefOrRefOrSpecOrMod, MemberDefFlags.List | MemberDefFlags.RecordRef | MemberDefFlags.EnumerateForHashCode),
}
),
new RecordDef(
name: "MethodSignature",
members: new MemberDef[] {
new MemberDef("CallingConvention", "CallingConventions"),
new MemberDef("GenericParameterCount", "int"),
new MemberDef("ReturnType", "ReturnTypeSignature", MemberDefFlags.RecordRef),
new MemberDef("Parameters", "ParameterTypeSignature", MemberDefFlags.List | MemberDefFlags.RecordRef | MemberDefFlags.EnumerateForHashCode),
new MemberDef("VarArgParameters", "ParameterTypeSignature", MemberDefFlags.List | MemberDefFlags.RecordRef | MemberDefFlags.EnumerateForHashCode),
}
),
new RecordDef(
name: "ReturnTypeSignature",
members: new MemberDef[] {
new MemberDef("CustomModifiers", "CustomModifier", MemberDefFlags.List | MemberDefFlags.RecordRef),
new MemberDef("Type", TypeDefOrRefOrSpec, MemberDefFlags.RecordRef),
}
),
new RecordDef(
name: "ParameterTypeSignature",
members: new MemberDef[] {
new MemberDef("CustomModifiers", "CustomModifier", MemberDefFlags.List | MemberDefFlags.RecordRef),
new MemberDef("Type", TypeDefOrRefOrSpec, MemberDefFlags.RecordRef),
new MemberDef("ReturnType", TypeDefOrRefOrSpecOrMod, MemberDefFlags.RecordRef),
new MemberDef("Parameters", TypeDefOrRefOrSpecOrMod, MemberDefFlags.List | MemberDefFlags.RecordRef | MemberDefFlags.EnumerateForHashCode),
new MemberDef("VarArgParameters", TypeDefOrRefOrSpecOrMod, MemberDefFlags.List | MemberDefFlags.RecordRef | MemberDefFlags.EnumerateForHashCode),
}
),
new RecordDef(
Expand All @@ -723,10 +715,11 @@ from primitiveType in PrimitiveTypes select
}
),
new RecordDef(
name: "CustomModifier",
name: "ModifiedType",
members: new MemberDef[] {
new MemberDef("IsOptional", "bool"),
new MemberDef("Type", TypeDefOrRefOrSpec, MemberDefFlags.RecordRef),
new MemberDef("ModifierType", TypeDefOrRefOrSpec, MemberDefFlags.RecordRef),
new MemberDef("Type", TypeDefOrRefOrSpecOrMod, MemberDefFlags.RecordRef),
}
)
}
Expand Down
124 changes: 30 additions & 94 deletions src/Common/src/Internal/Metadata/NativeFormat/MdBinaryReaderGen.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1374,38 +1374,6 @@ public static uint Read(this NativeReader reader, uint offset, out CustomAttribu
return offset;
} // Read

public static uint Read(this NativeReader reader, uint offset, out CustomModifierHandle handle)
{
uint value;
offset = reader.DecodeUnsigned(offset, out value);
handle = new CustomModifierHandle((int)value);
handle._Validate();
return offset;
} // Read

public static uint Read(this NativeReader reader, uint offset, out CustomModifierHandle[] values)
{
uint count;
offset = reader.DecodeUnsigned(offset, out count);
#if !NETFX_45
if (count == 0)
{
values = Array.Empty<CustomModifierHandle>();
}
else
#endif
{
values = new CustomModifierHandle[count];
for (uint i = 0; i < count; ++i)
{
CustomModifierHandle tmp;
offset = reader.Read(offset, out tmp);
values[i] = tmp;
}
}
return offset;
} // Read

public static uint Read(this NativeReader reader, uint offset, out EventHandle handle)
{
uint value;
Expand Down Expand Up @@ -1790,159 +1758,159 @@ public static uint Read(this NativeReader reader, uint offset, out MethodTypeVar
return offset;
} // Read

public static uint Read(this NativeReader reader, uint offset, out NamedArgumentHandle handle)
public static uint Read(this NativeReader reader, uint offset, out ModifiedTypeHandle handle)
{
uint value;
offset = reader.DecodeUnsigned(offset, out value);
handle = new NamedArgumentHandle((int)value);
handle = new ModifiedTypeHandle((int)value);
handle._Validate();
return offset;
} // Read

public static uint Read(this NativeReader reader, uint offset, out NamedArgumentHandle[] values)
public static uint Read(this NativeReader reader, uint offset, out ModifiedTypeHandle[] values)
{
uint count;
offset = reader.DecodeUnsigned(offset, out count);
#if !NETFX_45
if (count == 0)
{
values = Array.Empty<NamedArgumentHandle>();
values = Array.Empty<ModifiedTypeHandle>();
}
else
#endif
{
values = new NamedArgumentHandle[count];
values = new ModifiedTypeHandle[count];
for (uint i = 0; i < count; ++i)
{
NamedArgumentHandle tmp;
ModifiedTypeHandle tmp;
offset = reader.Read(offset, out tmp);
values[i] = tmp;
}
}
return offset;
} // Read

public static uint Read(this NativeReader reader, uint offset, out NamespaceDefinitionHandle handle)
public static uint Read(this NativeReader reader, uint offset, out NamedArgumentHandle handle)
{
uint value;
offset = reader.DecodeUnsigned(offset, out value);
handle = new NamespaceDefinitionHandle((int)value);
handle = new NamedArgumentHandle((int)value);
handle._Validate();
return offset;
} // Read

public static uint Read(this NativeReader reader, uint offset, out NamespaceDefinitionHandle[] values)
public static uint Read(this NativeReader reader, uint offset, out NamedArgumentHandle[] values)
{
uint count;
offset = reader.DecodeUnsigned(offset, out count);
#if !NETFX_45
if (count == 0)
{
values = Array.Empty<NamespaceDefinitionHandle>();
values = Array.Empty<NamedArgumentHandle>();
}
else
#endif
{
values = new NamespaceDefinitionHandle[count];
values = new NamedArgumentHandle[count];
for (uint i = 0; i < count; ++i)
{
NamespaceDefinitionHandle tmp;
NamedArgumentHandle tmp;
offset = reader.Read(offset, out tmp);
values[i] = tmp;
}
}
return offset;
} // Read

public static uint Read(this NativeReader reader, uint offset, out NamespaceReferenceHandle handle)
public static uint Read(this NativeReader reader, uint offset, out NamespaceDefinitionHandle handle)
{
uint value;
offset = reader.DecodeUnsigned(offset, out value);
handle = new NamespaceReferenceHandle((int)value);
handle = new NamespaceDefinitionHandle((int)value);
handle._Validate();
return offset;
} // Read

public static uint Read(this NativeReader reader, uint offset, out NamespaceReferenceHandle[] values)
public static uint Read(this NativeReader reader, uint offset, out NamespaceDefinitionHandle[] values)
{
uint count;
offset = reader.DecodeUnsigned(offset, out count);
#if !NETFX_45
if (count == 0)
{
values = Array.Empty<NamespaceReferenceHandle>();
values = Array.Empty<NamespaceDefinitionHandle>();
}
else
#endif
{
values = new NamespaceReferenceHandle[count];
values = new NamespaceDefinitionHandle[count];
for (uint i = 0; i < count; ++i)
{
NamespaceReferenceHandle tmp;
NamespaceDefinitionHandle tmp;
offset = reader.Read(offset, out tmp);
values[i] = tmp;
}
}
return offset;
} // Read

public static uint Read(this NativeReader reader, uint offset, out ParameterHandle handle)
public static uint Read(this NativeReader reader, uint offset, out NamespaceReferenceHandle handle)
{
uint value;
offset = reader.DecodeUnsigned(offset, out value);
handle = new ParameterHandle((int)value);
handle = new NamespaceReferenceHandle((int)value);
handle._Validate();
return offset;
} // Read

public static uint Read(this NativeReader reader, uint offset, out ParameterHandle[] values)
public static uint Read(this NativeReader reader, uint offset, out NamespaceReferenceHandle[] values)
{
uint count;
offset = reader.DecodeUnsigned(offset, out count);
#if !NETFX_45
if (count == 0)
{
values = Array.Empty<ParameterHandle>();
values = Array.Empty<NamespaceReferenceHandle>();
}
else
#endif
{
values = new ParameterHandle[count];
values = new NamespaceReferenceHandle[count];
for (uint i = 0; i < count; ++i)
{
ParameterHandle tmp;
NamespaceReferenceHandle tmp;
offset = reader.Read(offset, out tmp);
values[i] = tmp;
}
}
return offset;
} // Read

public static uint Read(this NativeReader reader, uint offset, out ParameterTypeSignatureHandle handle)
public static uint Read(this NativeReader reader, uint offset, out ParameterHandle handle)
{
uint value;
offset = reader.DecodeUnsigned(offset, out value);
handle = new ParameterTypeSignatureHandle((int)value);
handle = new ParameterHandle((int)value);
handle._Validate();
return offset;
} // Read

public static uint Read(this NativeReader reader, uint offset, out ParameterTypeSignatureHandle[] values)
public static uint Read(this NativeReader reader, uint offset, out ParameterHandle[] values)
{
uint count;
offset = reader.DecodeUnsigned(offset, out count);
#if !NETFX_45
if (count == 0)
{
values = Array.Empty<ParameterTypeSignatureHandle>();
values = Array.Empty<ParameterHandle>();
}
else
#endif
{
values = new ParameterTypeSignatureHandle[count];
values = new ParameterHandle[count];
for (uint i = 0; i < count; ++i)
{
ParameterTypeSignatureHandle tmp;
ParameterHandle tmp;
offset = reader.Read(offset, out tmp);
values[i] = tmp;
}
Expand Down Expand Up @@ -2110,38 +2078,6 @@ public static uint Read(this NativeReader reader, uint offset, out QualifiedMeth
return offset;
} // Read

public static uint Read(this NativeReader reader, uint offset, out ReturnTypeSignatureHandle handle)
{
uint value;
offset = reader.DecodeUnsigned(offset, out value);
handle = new ReturnTypeSignatureHandle((int)value);
handle._Validate();
return offset;
} // Read

public static uint Read(this NativeReader reader, uint offset, out ReturnTypeSignatureHandle[] values)
{
uint count;
offset = reader.DecodeUnsigned(offset, out count);
#if !NETFX_45
if (count == 0)
{
values = Array.Empty<ReturnTypeSignatureHandle>();
}
else
#endif
{
values = new ReturnTypeSignatureHandle[count];
for (uint i = 0; i < count; ++i)
{
ReturnTypeSignatureHandle tmp;
offset = reader.Read(offset, out tmp);
values[i] = tmp;
}
}
return offset;
} // Read

public static uint Read(this NativeReader reader, uint offset, out SZArraySignatureHandle handle)
{
uint value;
Expand Down
Loading

0 comments on commit 305087a

Please sign in to comment.