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

github.com/mono/ikvm-fork.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjfrijters <jfrijters>2014-07-08 17:22:29 +0400
committerjfrijters <jfrijters>2014-07-08 17:22:29 +0400
commit8c97fe7679e58ca61cb6e5bc7d8eb8c2f9c7945e (patch)
treefb6afb9a62fe4a997a6c5c027f2b53969daa263c
parent0cd5cff853dd38c936f23b02d27a6ef17ac4427e (diff)
Fixed serialization issue.
-rw-r--r--runtime/LambdaMetafactory.cs6
1 files changed, 3 insertions, 3 deletions
diff --git a/runtime/LambdaMetafactory.cs b/runtime/LambdaMetafactory.cs
index 55ac1c1a..82bcd0cc 100644
--- a/runtime/LambdaMetafactory.cs
+++ b/runtime/LambdaMetafactory.cs
@@ -192,7 +192,7 @@ namespace IKVM.Internal
{
tb.AddInterfaceImplementation(marker.TypeAsBaseType);
}
- ctor = CreateConstructorAndDispatch(context, cpi.GetArgTypes(), tb, interfaceMethod, implParameters, samMethodType, implMethod, instantiatedMethodType, serializable);
+ ctor = CreateConstructorAndDispatch(context, interfaceType, cpi.GetArgTypes(), tb, interfaceMethod, implParameters, samMethodType, implMethod, instantiatedMethodType, serializable);
AddDefaultInterfaceMethods(context, methodList, tb);
return true;
}
@@ -356,7 +356,7 @@ namespace IKVM.Internal
return Rt.IsAssignableTo(Ru);
}
- private static MethodBuilder CreateConstructorAndDispatch(DynamicTypeWrapper.FinishContext context, TypeWrapper[] args, TypeBuilder tb,
+ private static MethodBuilder CreateConstructorAndDispatch(DynamicTypeWrapper.FinishContext context, TypeWrapper interfaceType, TypeWrapper[] args, TypeBuilder tb,
MethodWrapper interfaceMethod, TypeWrapper[] implParameters, ClassFile.ConstantPoolItemMethodType samMethodType, ClassFile.ConstantPoolItemMethodHandle implMethod,
ClassFile.ConstantPoolItemMethodType instantiatedMethodType, bool serializable)
{
@@ -553,7 +553,7 @@ namespace IKVM.Internal
MethodBuilder writeReplace = tb.DefineMethod("writeReplace", MethodAttributes.Private, Types.Object, Type.EmptyTypes);
ilgen = CodeEmitter.Create(writeReplace);
context.TypeWrapper.EmitClassLiteral(ilgen);
- ilgen.Emit(OpCodes.Ldstr, interfaceMethod.DeclaringType.Name.Replace('.', '/'));
+ ilgen.Emit(OpCodes.Ldstr, interfaceType.Name.Replace('.', '/'));
ilgen.Emit(OpCodes.Ldstr, interfaceMethod.Name);
ilgen.Emit(OpCodes.Ldstr, interfaceMethod.Signature.Replace('.', '/'));
ilgen.EmitLdc_I4((int)implMethod.Kind);