Fix for 073-mismatched-field test
ART distinguishes between static and instance field resolution whereas
Java doesn't. Interface static fields bind more closely than those of
superclasses. Implement field resolution code for the verifier so that
it can determine incompatible class change errors when a static field
binds before an instance field.
Also don't search all iftable interfaces, search them in superclass
order (as the specification dictates).
Change-Id: I43b45bada8b9099ad805b244be10833d59bacfe3
diff --git a/src/object.h b/src/object.h
index 80bb000..28ab98b 100644
--- a/src/object.h
+++ b/src/object.h
@@ -1656,6 +1656,9 @@
void SetReferenceStaticOffsets(uint32_t new_reference_offsets);
+ // Find a static or instance field using the JLS resolution order
+ Field* FindField(const StringPiece& name, const StringPiece& type);
+
// Finds the given instance field in this class or a superclass.
Field* FindInstanceField(const StringPiece& name, const StringPiece& type);