From 477adb3b33fd8b5c1308e922cc5ade297996d9bd Mon Sep 17 00:00:00 2001 From: jfrijters Date: Wed, 29 Aug 2007 06:23:14 +0000 Subject: [PATCH] Fixed code generator bug that could cause AbstractMethodError to be thrown when subclassing a .NET type that has an explicit interface method implementation. --- runtime/TypeWrapper.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/TypeWrapper.cs b/runtime/TypeWrapper.cs index 0a4578ca..78882a9a 100644 --- a/runtime/TypeWrapper.cs +++ b/runtime/TypeWrapper.cs @@ -4735,7 +4735,7 @@ namespace IKVM.Internal foreach(MethodWrapper mw in parent.GetMethods()) { MethodInfo mi = mw.GetMethod() as MethodInfo; - if(mi != null && mi.IsAbstract && wrapper.GetMethodWrapper(mw.Name, mw.Signature, true) == mw) + if(mi != null && mi.IsAbstract && !mi.DeclaringType.IsInterface && wrapper.GetMethodWrapper(mw.Name, mw.Signature, true) == mw) { // NOTE in Sun's JRE 1.4.1 this method cannot be overridden by subclasses, // but I think this is a bug, so we'll support it anyway.