Index: runtime/vm/class_finalizer.cc |
diff --git a/runtime/vm/class_finalizer.cc b/runtime/vm/class_finalizer.cc |
index 48bbfce06007ed60f492df4c8deced0f39e93f39..1390e3cf56718beca15bd4d46bb98656004dbbad 100644 |
--- a/runtime/vm/class_finalizer.cc |
+++ b/runtime/vm/class_finalizer.cc |
@@ -1365,8 +1365,8 @@ void ClassFinalizer::ResolveAndFinalizeMemberTypes(const Class& cls) { |
} |
} |
if (field.is_static() && |
- (field.value() != Object::null()) && |
- (field.value() != Object::sentinel().raw())) { |
+ (field.StaticFieldValue() != Object::null()) && |
+ (field.StaticFieldValue() != Object::sentinel().raw())) { |
// The parser does not preset the value if the type is a type parameter or |
// is parameterized unless the value is null. |
Error& error = Error::Handle(Z); |
@@ -1375,7 +1375,8 @@ void ClassFinalizer::ResolveAndFinalizeMemberTypes(const Class& cls) { |
} else { |
ASSERT(type.IsInstantiated()); |
} |
- const Instance& const_value = Instance::Handle(Z, field.value()); |
+ const Instance& const_value = |
+ Instance::Handle(Z, field.StaticFieldValue()); |
if (!error.IsNull() || |
(!type.IsDynamicType() && |
!const_value.IsInstanceOf(type, |
@@ -1417,7 +1418,7 @@ void ClassFinalizer::ResolveAndFinalizeMemberTypes(const Class& cls) { |
getter.set_result_type(type); |
getter.set_is_debuggable(false); |
cls.AddFunction(getter); |
- field.set_value(Object::sentinel()); |
+ field.SetStaticFieldValue(Object::sentinel(), true); |
} |
} |
} |
@@ -2433,8 +2434,9 @@ void ClassFinalizer::AllocateEnumValues(const Class &enum_cls) { |
const Field& values_field = |
Field::Handle(enum_cls.LookupStaticField(Symbols::Values())); |
ASSERT(!values_field.IsNull()); |
- ASSERT(Instance::Handle(values_field.value()).IsArray()); |
- Array& values_list = Array::Handle(Array::RawCast(values_field.value())); |
+ ASSERT(Instance::Handle(values_field.StaticFieldValue()).IsArray()); |
+ Array& values_list = Array::Handle( |
+ Array::RawCast(values_field.StaticFieldValue())); |
const Array& fields = Array::Handle(enum_cls.fields()); |
Field& field = Field::Handle(); |
@@ -2444,7 +2446,7 @@ void ClassFinalizer::AllocateEnumValues(const Class &enum_cls) { |
for (intptr_t i = 0; i < fields.Length(); i++) { |
field = Field::RawCast(fields.At(i)); |
if (!field.is_static()) continue; |
- ordinal_value = field.value(); |
+ ordinal_value = field.StaticFieldValue(); |
// The static fields that need to be initialized with enum instances |
// contain the smi value of the ordinal number, which was stored in |
// the field by the parser. Other fields contain non-smi values. |
@@ -2458,7 +2460,7 @@ void ClassFinalizer::AllocateEnumValues(const Class &enum_cls) { |
UNREACHABLE(); |
} |
ASSERT(enum_value.IsCanonical()); |
- field.set_value(enum_value); |
+ field.SetStaticFieldValue(enum_value, true); |
field.RecordStore(enum_value); |
intptr_t ord = Smi::Cast(ordinal_value).Value(); |
ASSERT(ord < values_list.Length()); |
@@ -3173,16 +3175,17 @@ void ClassFinalizer::VerifyImplicitFieldOffsets() { |
fields_array ^= cls.fields(); |
ASSERT(fields_array.Length() == TypedDataView::NumberOfFields()); |
field ^= fields_array.At(0); |
- ASSERT(field.Offset() == TypedDataView::data_offset()); |
+ ASSERT(field.InstanceFieldOffset() == TypedDataView::data_offset()); |
name ^= field.name(); |
expected_name ^= String::New("_typedData"); |
ASSERT(String::EqualsIgnoringPrivateKey(name, expected_name)); |
field ^= fields_array.At(1); |
- ASSERT(field.Offset() == TypedDataView::offset_in_bytes_offset()); |
+ ASSERT(field.InstanceFieldOffset() == |
+ TypedDataView::offset_in_bytes_offset()); |
name ^= field.name(); |
ASSERT(name.Equals("offsetInBytes")); |
field ^= fields_array.At(2); |
- ASSERT(field.Offset() == TypedDataView::length_offset()); |
+ ASSERT(field.InstanceFieldOffset() == TypedDataView::length_offset()); |
name ^= field.name(); |
ASSERT(name.Equals("length")); |
} |
@@ -3194,17 +3197,18 @@ void ClassFinalizer::VerifyImplicitFieldOffsets() { |
fields_array ^= cls.fields(); |
ASSERT(fields_array.Length() == TypedDataView::NumberOfFields()); |
field ^= fields_array.At(0); |
- ASSERT(field.Offset() == TypedDataView::data_offset()); |
+ ASSERT(field.InstanceFieldOffset() == TypedDataView::data_offset()); |
name ^= field.name(); |
expected_name ^= String::New("_typedData"); |
ASSERT(String::EqualsIgnoringPrivateKey(name, expected_name)); |
field ^= fields_array.At(1); |
- ASSERT(field.Offset() == TypedDataView::offset_in_bytes_offset()); |
+ ASSERT(field.InstanceFieldOffset() == |
+ TypedDataView::offset_in_bytes_offset()); |
name ^= field.name(); |
expected_name ^= String::New("_offset"); |
ASSERT(String::EqualsIgnoringPrivateKey(name, expected_name)); |
field ^= fields_array.At(2); |
- ASSERT(field.Offset() == TypedDataView::length_offset()); |
+ ASSERT(field.InstanceFieldOffset() == TypedDataView::length_offset()); |
name ^= field.name(); |
ASSERT(name.Equals("length")); |
@@ -3215,7 +3219,7 @@ void ClassFinalizer::VerifyImplicitFieldOffsets() { |
fields_array ^= cls.fields(); |
ASSERT(fields_array.Length() == ByteBuffer::NumberOfFields()); |
field ^= fields_array.At(0); |
- ASSERT(field.Offset() == ByteBuffer::data_offset()); |
+ ASSERT(field.InstanceFieldOffset() == ByteBuffer::data_offset()); |
name ^= field.name(); |
expected_name ^= String::New("_data"); |
ASSERT(String::EqualsIgnoringPrivateKey(name, expected_name)); |