summaryrefslogtreecommitdiff
path: root/runtime/mirror/object.cc
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/mirror/object.cc')
-rw-r--r--runtime/mirror/object.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/runtime/mirror/object.cc b/runtime/mirror/object.cc
index b28978603c..3fa71c66d1 100644
--- a/runtime/mirror/object.cc
+++ b/runtime/mirror/object.cc
@@ -248,8 +248,8 @@ void Object::CheckFieldAssignmentImpl(MemberOffset field_offset, ObjPtr<Object>
return;
}
for (ObjPtr<Class> cur = c; cur != nullptr; cur = cur->GetSuperClass()) {
- for (ArtField& field : cur->GetIFields()) {
- if (field.GetOffset().Int32Value() == field_offset.Int32Value()) {
+ for (ArtField& field : cur->GetFields()) {
+ if (!field.IsStatic() && field.GetOffset().Int32Value() == field_offset.Int32Value()) {
CHECK_NE(field.GetTypeAsPrimitiveType(), Primitive::kPrimNot);
// TODO: resolve the field type for moving GC.
ObjPtr<mirror::Class> field_type =
@@ -266,8 +266,8 @@ void Object::CheckFieldAssignmentImpl(MemberOffset field_offset, ObjPtr<Object>
return;
}
if (IsClass()) {
- for (ArtField& field : AsClass()->GetSFields()) {
- if (field.GetOffset().Int32Value() == field_offset.Int32Value()) {
+ for (ArtField& field : AsClass()->GetFields()) {
+ if (field.IsStatic() && field.GetOffset().Int32Value() == field_offset.Int32Value()) {
CHECK_NE(field.GetTypeAsPrimitiveType(), Primitive::kPrimNot);
// TODO: resolve the field type for moving GC.
ObjPtr<mirror::Class> field_type =