Class getField/Method returns NULL if type/args are unresolved.

These changes check that a field's type is resolved before returning it
through getDeclaredField, and that a method's return type and argument
types are resolved before returning it through getDeclaredMethods. This
fixes test failures in libcore MissingClassesTest.

(cherry picked from commit 1ae431a01516b6c91f031aff37c756b7e4f63dd1)

Change-Id: I6bd5601a975e677be6438b1efcb1b1f1ecde900c
diff --git a/src/object_utils.h b/src/object_utils.h
index cbad7b0..631425e 100644
--- a/src/object_utils.h
+++ b/src/object_utils.h
@@ -456,6 +456,10 @@
     ObjectArray<Class>* result = ObjectArray<Class>::Alloc(array_class, num_params);
     for (uint32_t i = 0; i < num_params; i++) {
       Class* param_type = GetClassFromTypeIdx(params->GetTypeItem(i).type_idx_);
+      if (param_type == NULL) {
+        DCHECK(Thread::Current()->IsExceptionPending());
+        return NULL;
+      }
       result->Set(i, param_type);
     }
     return result;