Prevent miranda methods from being thrown away during resolution.
This fixes the maps issue.
Change-Id: I70ec279c19de5ecfa04e20eaed90fab019953d9c
diff --git a/src/class_linker.cc b/src/class_linker.cc
index 343c580..8ee3b1e 100644
--- a/src/class_linker.cc
+++ b/src/class_linker.cc
@@ -3485,7 +3485,8 @@
// TODO: appropriate checks for call to super class.
break;
case kVirtual:
- if (resolved->IsConstructor() || resolved->GetDeclaringClass()->IsInterface()) {
+ if (resolved->IsConstructor() || (resolved->GetDeclaringClass()->IsInterface() &&
+ !resolved->IsMiranda())) {
resolved = NULL; // Incompatible class change.
}
break;