Android has classes above Object which are all tied together which
cause the object walking to fail in pretty spectacular ways. As Object
has no interesting fields, that serves as a fine barrier to the super
class walk and works on both android and real java.
Signed-off-by: Keith Packard <keithp@keithp.com>
} else {
object = c.newInstance();
}
- for (; c != null; c = c.getSuperclass()) {
+ for (; c != Object.class; c = c.getSuperclass()) {
for (Field field : c.getDeclaredFields()) {
String fieldName = field.getName();
Class fieldClass = field.getType();
}
} else {
assert_hash(true);
- for (Class c = object.getClass(); c != null; c = c.getSuperclass()) {
+ for (Class c = object.getClass(); c != Object.class; c = c.getSuperclass()) {
for (Field field : c.getDeclaredFields()) {
String fieldName = field.getName();