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:
Diffstat (limited to 'runtime/DynamicTypeWrapper.cs')
-rw-r--r--runtime/DynamicTypeWrapper.cs7
1 files changed, 5 insertions, 2 deletions
diff --git a/runtime/DynamicTypeWrapper.cs b/runtime/DynamicTypeWrapper.cs
index feba4995..cb6704d4 100644
--- a/runtime/DynamicTypeWrapper.cs
+++ b/runtime/DynamicTypeWrapper.cs
@@ -2927,9 +2927,9 @@ namespace IKVM.Internal
{
string message = mmw.Error ?? (wrapper.Name + "." + methods[index].Name + methods[index].Signature);
CodeEmitter ilgen = CodeEmitter.Create(mb);
- ilgen.EmitThrow("java.lang.AbstractMethodError", message);
+ ilgen.EmitThrow(mmw.IsConflictError ? "java.lang.IncompatibleClassChangeError" : "java.lang.AbstractMethodError", message);
ilgen.DoEmit();
- wrapper.EmitLevel4Warning(HardError.AbstractMethodError, message);
+ wrapper.EmitLevel4Warning(mmw.IsConflictError ? HardError.IncompatibleClassChangeError : HardError.AbstractMethodError, message);
}
#if STATIC_COMPILER
if (wrapper.IsInterface && !mmw.IsAbstract)
@@ -7162,6 +7162,9 @@ namespace IKVM.Internal
case HardError.AbstractMethodError:
GetClassLoader().IssueMessage(Message.EmittedAbstractMethodError, this.Name, message);
break;
+ case HardError.IncompatibleClassChangeError:
+ GetClassLoader().IssueMessage(Message.EmittedIncompatibleClassChangeError, this.Name, message);
+ break;
default:
throw new InvalidOperationException();
}