You've already forked linux-packaging-mono
Imported Upstream version 4.2.0.179
Former-commit-id: 0a113cb3a6feb7873f632839b1307cc6033cd595
This commit is contained in:
committed by
Jo Shields
parent
183bba2c9a
commit
6992685b86
@@ -30,6 +30,11 @@ namespace IKVM.Reflection.Reader
|
||||
{
|
||||
abstract class TypeParameterType : TypeInfo
|
||||
{
|
||||
protected TypeParameterType(byte sigElementType)
|
||||
: base(sigElementType)
|
||||
{
|
||||
}
|
||||
|
||||
public sealed override string AssemblyQualifiedName
|
||||
{
|
||||
get { return null; }
|
||||
@@ -83,11 +88,6 @@ namespace IKVM.Reflection.Reader
|
||||
return this.Name;
|
||||
}
|
||||
|
||||
public sealed override bool IsGenericParameter
|
||||
{
|
||||
get { return true; }
|
||||
}
|
||||
|
||||
protected sealed override bool ContainsMissingTypeImpl
|
||||
{
|
||||
get { return ContainsMissingType(GetGenericParameterConstraints()); }
|
||||
@@ -183,6 +183,7 @@ namespace IKVM.Reflection.Reader
|
||||
}
|
||||
|
||||
private UnboundGenericMethodParameter(int position)
|
||||
: base(Signature.ELEMENT_TYPE_MVAR)
|
||||
{
|
||||
this.position = position;
|
||||
}
|
||||
@@ -259,7 +260,8 @@ namespace IKVM.Reflection.Reader
|
||||
private readonly ModuleReader module;
|
||||
private readonly int index;
|
||||
|
||||
internal GenericTypeParameter(ModuleReader module, int index)
|
||||
internal GenericTypeParameter(ModuleReader module, int index, byte sigElementType)
|
||||
: base(sigElementType)
|
||||
{
|
||||
this.module = module;
|
||||
this.index = index;
|
||||
|
||||
2
external/ikvm/reflect/Reader/Method.cs
vendored
2
external/ikvm/reflect/Reader/Method.cs
vendored
@@ -194,7 +194,7 @@ namespace IKVM.Reflection.Reader
|
||||
int len = module.GenericParam.records.Length;
|
||||
for (int i = first; i < len && module.GenericParam.records[i].Owner == token; i++)
|
||||
{
|
||||
list.Add(new GenericTypeParameter(module, i));
|
||||
list.Add(new GenericTypeParameter(module, i, Signature.ELEMENT_TYPE_MVAR));
|
||||
}
|
||||
typeArgs = list.ToArray();
|
||||
}
|
||||
|
||||
12
external/ikvm/reflect/Reader/ModuleReader.cs
vendored
12
external/ikvm/reflect/Reader/ModuleReader.cs
vendored
@@ -279,7 +279,7 @@ namespace IKVM.Reflection.Reader
|
||||
}
|
||||
else if (!type.IsNestedByFlags)
|
||||
{
|
||||
types.Add(new TypeName(type.__Namespace, type.__Name), type);
|
||||
types.Add(type.TypeName, type);
|
||||
}
|
||||
}
|
||||
// add forwarded types to forwardedTypes dictionary (because Module.GetType(string) should return them)
|
||||
@@ -402,14 +402,14 @@ namespace IKVM.Reflection.Reader
|
||||
case AssemblyRefTable.Index:
|
||||
{
|
||||
Assembly assembly = ResolveAssemblyRef((scope & 0xFFFFFF) - 1);
|
||||
TypeName typeName = GetTypeName(TypeRef.records[index].TypeNameSpace, TypeRef.records[index].TypeName);
|
||||
TypeName typeName = GetTypeName(TypeRef.records[index].TypeNamespace, TypeRef.records[index].TypeName);
|
||||
typeRefs[index] = assembly.ResolveType(this, typeName);
|
||||
break;
|
||||
}
|
||||
case TypeRefTable.Index:
|
||||
{
|
||||
Type outer = ResolveType(scope, null);
|
||||
TypeName typeName = GetTypeName(TypeRef.records[index].TypeNameSpace, TypeRef.records[index].TypeName);
|
||||
TypeName typeName = GetTypeName(TypeRef.records[index].TypeNamespace, TypeRef.records[index].TypeName);
|
||||
typeRefs[index] = outer.ResolveNestedType(this, typeName);
|
||||
break;
|
||||
}
|
||||
@@ -432,7 +432,7 @@ namespace IKVM.Reflection.Reader
|
||||
{
|
||||
module = ResolveModuleRef(ModuleRef.records[(scope & 0xFFFFFF) - 1]);
|
||||
}
|
||||
TypeName typeName = GetTypeName(TypeRef.records[index].TypeNameSpace, TypeRef.records[index].TypeName);
|
||||
TypeName typeName = GetTypeName(TypeRef.records[index].TypeNamespace, TypeRef.records[index].TypeName);
|
||||
typeRefs[index] = module.FindType(typeName) ?? module.universe.GetMissingTypeOrThrow(this, module, null, typeName);
|
||||
break;
|
||||
}
|
||||
@@ -583,7 +583,7 @@ namespace IKVM.Reflection.Reader
|
||||
PopulateTypeDef();
|
||||
foreach (Type type in types.Values)
|
||||
{
|
||||
if (new TypeName(type.__Namespace, type.__Name).ToLowerInvariant() == lowerCaseName)
|
||||
if (type.TypeName.ToLowerInvariant() == lowerCaseName)
|
||||
{
|
||||
return type;
|
||||
}
|
||||
@@ -1241,7 +1241,7 @@ namespace IKVM.Reflection.Reader
|
||||
if ((CustomAttribute.records[i].Parent >> 24) == TypeRefTable.Index)
|
||||
{
|
||||
int index = (CustomAttribute.records[i].Parent & 0xFFFFFF) - 1;
|
||||
if (typeName == GetTypeName(TypeRef.records[index].TypeNameSpace, TypeRef.records[index].TypeName))
|
||||
if (typeName == GetTypeName(TypeRef.records[index].TypeNamespace, TypeRef.records[index].TypeName))
|
||||
{
|
||||
list.Add(new CustomAttributeData(this, i));
|
||||
}
|
||||
|
||||
13
external/ikvm/reflect/Reader/TypeDefImpl.cs
vendored
13
external/ikvm/reflect/Reader/TypeDefImpl.cs
vendored
@@ -43,7 +43,7 @@ namespace IKVM.Reflection.Reader
|
||||
this.index = index;
|
||||
this.typeName = module.GetString(module.TypeDef.records[index].TypeName);
|
||||
this.typeNamespace = module.GetString(module.TypeDef.records[index].TypeNamespace);
|
||||
MarkEnumOrValueType(typeNamespace, typeName);
|
||||
MarkKnownType(typeNamespace, typeName);
|
||||
}
|
||||
|
||||
public override Type BaseType
|
||||
@@ -218,14 +218,9 @@ namespace IKVM.Reflection.Reader
|
||||
return Empty<PropertyInfo>.Array;
|
||||
}
|
||||
|
||||
public override string __Name
|
||||
internal override TypeName TypeName
|
||||
{
|
||||
get { return typeName; }
|
||||
}
|
||||
|
||||
public override string __Namespace
|
||||
{
|
||||
get { return typeNamespace; }
|
||||
get { return new TypeName(typeNamespace, typeName); }
|
||||
}
|
||||
|
||||
public override string Name
|
||||
@@ -265,7 +260,7 @@ namespace IKVM.Reflection.Reader
|
||||
int len = module.GenericParam.records.Length;
|
||||
for (int i = first; i < len && module.GenericParam.records[i].Owner == token; i++)
|
||||
{
|
||||
list.Add(new GenericTypeParameter(module, i));
|
||||
list.Add(new GenericTypeParameter(module, i, Signature.ELEMENT_TYPE_VAR));
|
||||
}
|
||||
typeArgs = list.ToArray();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user