ART: Clean up includes.
Reduce dependencies to improve incremental build times.
Break up circular dependency involving class_linker-inl.h.
Change-Id: I4be742c5c2b5cd9855beea86630fd68aab76b0db
diff --git a/runtime/art_field.cc b/runtime/art_field.cc
index cdf8967..2aed440 100644
--- a/runtime/art_field.cc
+++ b/runtime/art_field.cc
@@ -17,7 +17,9 @@
#include "art_field.h"
#include "art_field-inl.h"
+#include "class_linker-inl.h"
#include "gc/accounting/card_table-inl.h"
+#include "handle_scope.h"
#include "mirror/object-inl.h"
#include "mirror/object_array-inl.h"
#include "runtime.h"
@@ -61,4 +63,20 @@
FindInstanceFieldWithOffset(klass->GetSuperClass(), field_offset) : nullptr;
}
+mirror::Class* ArtField::ProxyFindSystemClass(const char* descriptor) {
+ DCHECK(GetDeclaringClass()->IsProxyClass());
+ return Runtime::Current()->GetClassLinker()->FindSystemClass(Thread::Current(), descriptor);
+}
+
+mirror::Class* ArtField::ResolveGetType(uint32_t type_idx) {
+ return Runtime::Current()->GetClassLinker()->ResolveType(type_idx, this);
+}
+
+mirror::String* ArtField::ResolveGetStringName(Thread* self, const DexFile& dex_file,
+ uint32_t string_idx, mirror::DexCache* dex_cache) {
+ StackHandleScope<1> hs(self);
+ return Runtime::Current()->GetClassLinker()->ResolveString(
+ dex_file, string_idx, hs.NewHandle(dex_cache));
+}
+
} // namespace art