diff options
Diffstat (limited to 'runtime/art_method-inl.h')
-rw-r--r-- | runtime/art_method-inl.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/runtime/art_method-inl.h b/runtime/art_method-inl.h index 685e26c78d..b47f8f0fc2 100644 --- a/runtime/art_method-inl.h +++ b/runtime/art_method-inl.h @@ -347,7 +347,11 @@ inline const char* ArtMethod::GetDeclaringClassSourceFile() { inline uint16_t ArtMethod::GetClassDefIndex() { DCHECK(!IsProxyMethod()); - return GetDeclaringClass()->GetDexClassDefIndex(); + if (LIKELY(!IsObsolete())) { + return GetDeclaringClass()->GetDexClassDefIndex(); + } else { + return FindObsoleteDexClassDefIndex(); + } } inline const DexFile::ClassDef& ArtMethod::GetClassDef() { |