Fix 069 by throwing IncompatibleClassChangeError at runtime when required.
Change-Id: I158a9fea5a7f5daad30e082e16cc625b4e992c29
diff --git a/src/object.cc b/src/object.cc
index 35d8c8a..b812b90 100644
--- a/src/object.cc
+++ b/src/object.cc
@@ -1089,7 +1089,10 @@
return interface_entry->GetMethodArray()->Get(method->GetMethodIndex());
}
}
- UNIMPLEMENTED(FATAL) << "Need to throw an error of some kind " << PrettyMethod(method);
+ Thread::Current()->ThrowNewExceptionF("Ljava/lang/IncompatibleClassChangeError;",
+ "Class %s does not implement interface %s",
+ PrettyDescriptor(GetDescriptor()).c_str(),
+ PrettyDescriptor(declaring_class->GetDescriptor()).c_str());
return NULL;
}