diff options
Diffstat (limited to 'runtime/class_linker.cc')
-rw-r--r-- | runtime/class_linker.cc | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc index 7549c04b6f..bc86841f1a 100644 --- a/runtime/class_linker.cc +++ b/runtime/class_linker.cc @@ -3241,7 +3241,9 @@ void ClassLinker::LoadClass(Thread* self, const DexFile& dex_file, const DexFile::ClassDef& dex_class_def, Handle<mirror::Class> klass) { - ClassAccessor accessor(dex_file, dex_class_def); + ClassAccessor accessor(dex_file, + dex_class_def, + /* parse_hiddenapi_class_data= */ klass->IsBootStrapClassLoaded()); if (!accessor.HasClassData()) { return; } @@ -3357,8 +3359,8 @@ void ClassLinker::LoadField(const ClassAccessor::Field& field, // also set its runtime hidden API access flags. uint32_t access_flags = field.GetAccessFlags(); if (klass->IsBootStrapClassLoaded()) { - access_flags = - HiddenApiAccessFlags::EncodeForRuntime(access_flags, field.DecodeHiddenAccessFlags()); + access_flags = HiddenApiAccessFlags::EncodeForRuntime( + access_flags, static_cast<HiddenApiAccessFlags::ApiList>(field.GetHiddenapiFlags())); } dst->SetAccessFlags(access_flags); } @@ -3379,10 +3381,9 @@ void ClassLinker::LoadMethod(const DexFile& dex_file, // Get access flags from the DexFile. If this is a boot class path class, // also set its runtime hidden API access flags. uint32_t access_flags = method.GetAccessFlags(); - if (klass->IsBootStrapClassLoaded()) { - access_flags = - HiddenApiAccessFlags::EncodeForRuntime(access_flags, method.DecodeHiddenAccessFlags()); + access_flags = HiddenApiAccessFlags::EncodeForRuntime( + access_flags, static_cast<HiddenApiAccessFlags::ApiList>(method.GetHiddenapiFlags())); } if (UNLIKELY(strcmp("finalize", method_name) == 0)) { |