| Index: runtime/vm/object.h
|
| diff --git a/runtime/vm/object.h b/runtime/vm/object.h
|
| index 7eee7301144974673bc71d31f26f867436d89c7b..068fd2a82f54ccd42ce9f8319ef657474984cfa3 100644
|
| --- a/runtime/vm/object.h
|
| +++ b/runtime/vm/object.h
|
| @@ -2171,6 +2171,9 @@ class Field : public Object {
|
| bool is_static() const { return StaticBit::decode(raw_ptr()->kind_bits_); }
|
| bool is_final() const { return FinalBit::decode(raw_ptr()->kind_bits_); }
|
| bool is_const() const { return ConstBit::decode(raw_ptr()->kind_bits_); }
|
| + bool is_synthetic() const {
|
| + return SyntheticBit::decode(raw_ptr()->kind_bits_);
|
| + }
|
|
|
| inline intptr_t Offset() const;
|
| inline void SetOffset(intptr_t value_in_bytes) const;
|
| @@ -2192,6 +2195,7 @@ class Field : public Object {
|
| bool is_static,
|
| bool is_final,
|
| bool is_const,
|
| + bool is_synthetic,
|
| const Class& owner,
|
| intptr_t token_pos);
|
|
|
| @@ -2326,7 +2330,8 @@ class Field : public Object {
|
| kStaticBit,
|
| kFinalBit,
|
| kHasInitializerBit,
|
| - kUnboxingCandidateBit
|
| + kUnboxingCandidateBit,
|
| + kSyntheticBit
|
| };
|
| class ConstBit : public BitField<bool, kConstBit, 1> {};
|
| class StaticBit : public BitField<bool, kStaticBit, 1> {};
|
| @@ -2335,6 +2340,7 @@ class Field : public Object {
|
| class UnboxingCandidateBit : public BitField<bool,
|
| kUnboxingCandidateBit, 1> {
|
| };
|
| + class SyntheticBit : public BitField<bool, kSyntheticBit, 1> {};
|
|
|
| // Update guarded cid and guarded length for this field. Returns true, if
|
| // deoptimization of dependent code is required.
|
| @@ -2350,6 +2356,9 @@ class Field : public Object {
|
| void set_is_const(bool value) const {
|
| set_kind_bits(ConstBit::update(value, raw_ptr()->kind_bits_));
|
| }
|
| + void set_is_synthetic(bool value) const {
|
| + set_kind_bits(SyntheticBit::update(value, raw_ptr()->kind_bits_));
|
| + }
|
| void set_owner(const Object& value) const {
|
| StorePointer(&raw_ptr()->owner_, value.raw());
|
| }
|
|
|