diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/class_linker.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/class_linker.cc b/src/class_linker.cc index eade908a4b..a8703dab91 100644 --- a/src/class_linker.cc +++ b/src/class_linker.cc @@ -2247,7 +2247,10 @@ Class* ClassLinker::ResolveType(const DexFile& dex_file, resolved = FindClass(descriptor, class_loader); } if (resolved != NULL) { - Class* check = resolved->IsArrayClass() ? resolved->GetComponentType() : resolved; + Class* check = resolved; + while (check->IsArrayClass()) { + check = check->GetComponentType(); + } if (dex_cache != check->GetDexCache()) { if (check->GetClassLoader() != NULL) { Thread::Current()->ThrowNewExceptionF("Ljava/lang/IllegalAccessError;", |