зеркало из https://github.com/mono/ikvm-fork.git
Fixed ImportTo to use canonical form, which for methods on generic type definitions is the Generic[Method|Field]Instance, instead of the builder. This fixes a duplicate MemberRef row issue when using both the MethodBuilder and the "expanded" form (TypeBuilder.GetMethod(...)).
This commit is contained in:
Родитель
6f6dc0c78b
Коммит
f369472784
|
@ -167,7 +167,11 @@ namespace IKVM.Reflection.Emit
|
|||
|
||||
internal override int ImportTo(ModuleBuilder other)
|
||||
{
|
||||
if (other == typeBuilder.ModuleBuilder && !typeBuilder.IsGenericTypeDefinition)
|
||||
if (typeBuilder.IsGenericTypeDefinition)
|
||||
{
|
||||
return other.ImportMember(TypeBuilder.GetField(typeBuilder, this));
|
||||
}
|
||||
else if (other == typeBuilder.ModuleBuilder)
|
||||
{
|
||||
return pseudoToken;
|
||||
}
|
||||
|
|
|
@ -651,7 +651,11 @@ namespace IKVM.Reflection.Emit
|
|||
|
||||
internal override int ImportTo(ModuleBuilder other)
|
||||
{
|
||||
if (other == typeBuilder.ModuleBuilder && !typeBuilder.IsGenericTypeDefinition)
|
||||
if (typeBuilder.IsGenericTypeDefinition)
|
||||
{
|
||||
return other.ImportMember(TypeBuilder.GetMethod(typeBuilder, this));
|
||||
}
|
||||
else if (other == typeBuilder.ModuleBuilder)
|
||||
{
|
||||
return pseudoToken;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче