Make ResolveField not rely on Field::GetType resolution

Change-Id: I10f4a874809ac9db2cd54e200cf10eb7c8979fce
diff --git a/src/dex_file.h b/src/dex_file.h
index c30c5ca..3acd79f 100644
--- a/src/dex_file.h
+++ b/src/dex_file.h
@@ -425,19 +425,25 @@
     return dexStringById(type_id.descriptor_idx_);
   }
 
-  // Returns the class descriptor string of a field id.
-  const char* GetFieldClassDescriptor(const FieldId& field_id) const {
+  // Returns the declaring class descriptor string of a field id.
+  const char* GetFieldDeclaringClassDescriptor(const FieldId& field_id) const {
     const DexFile::TypeId& type_id = GetTypeId(field_id.class_idx_);
     return GetTypeDescriptor(type_id);
   }
 
+  // Returns the class descriptor string of a field id.
+  const char* GetFieldTypeDescriptor(const FieldId& field_id) const {
+    const DexFile::TypeId& type_id = GetTypeId(field_id.type_idx_);
+    return GetTypeDescriptor(type_id);
+  }
+
   // Returns the name of a field id.
   const char* GetFieldName(const FieldId& field_id) const {
     return dexStringById(field_id.name_idx_);
   }
 
-  // Returns the class descriptor string of a method id.
-  const char* GetMethodClassDescriptor(const MethodId& method_id) const {
+  // Returns the declaring class descriptor string of a method id.
+  const char* GetMethodDeclaringClassDescriptor(const MethodId& method_id) const {
     const DexFile::TypeId& type_id = GetTypeId(method_id.class_idx_);
     return GetTypeDescriptor(type_id);
   }