diff options
-rw-r--r-- | runtime/reflection.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/runtime/reflection.cc b/runtime/reflection.cc index a83f5216e3..6ed61f6351 100644 --- a/runtime/reflection.cc +++ b/runtime/reflection.cc @@ -799,7 +799,8 @@ bool VerifyAccess(mirror::Object* obj, mirror::Class* declaring_class, uint32_t visitor.WalkStack(); mirror::Class* caller_class = visitor.caller->GetDeclaringClass(); - if (((access_flags & kAccPublic) != 0) || caller_class == declaring_class) { + if ((((access_flags & kAccPublic) != 0) && declaring_class->IsPublic()) || + caller_class == declaring_class) { return true; } if ((access_flags & kAccPrivate) != 0) { |