Revert "Revert "Move annotations to native.""
This reverts commit 7db6dd79a24570448ae737ee1946b00396696cac.
Adds check if field's declaring class is proxy.
Bug: 23508574
Change-Id: Ie829f1526e74427711e818b56d1588d92946cbf6
diff --git a/runtime/mirror/class.cc b/runtime/mirror/class.cc
index 3bea978..bed26b2 100644
--- a/runtime/mirror/class.cc
+++ b/runtime/mirror/class.cc
@@ -511,6 +511,16 @@
return nullptr;
}
+ArtMethod* Class::FindDeclaredVirtualMethodByName(const StringPiece& name, size_t pointer_size) {
+ for (auto& method : GetVirtualMethods(pointer_size)) {
+ ArtMethod* const np_method = method.GetInterfaceMethodIfProxy(pointer_size);
+ if (name == np_method->GetName()) {
+ return &method;
+ }
+ }
+ return nullptr;
+}
+
ArtMethod* Class::FindVirtualMethod(
const StringPiece& name, const StringPiece& signature, size_t pointer_size) {
for (Class* klass = this; klass != nullptr; klass = klass->GetSuperClass()) {