Flutter Engine
The Flutter Engine
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Member Functions | List of all members
dart::FieldGuardUpdater Class Reference

Public Member Functions

 FieldGuardUpdater (const Field *field, const Object &value)
 
bool IsUpdateNeeded ()
 
void DoUpdate ()
 

Detailed Description

Definition at line 12554 of file object.cc.

Constructor & Destructor Documentation

◆ FieldGuardUpdater()

dart::FieldGuardUpdater::FieldGuardUpdater ( const Field field,
const Object value 
)

Definition at line 12997 of file object.cc.

12998 : field_(field),
12999 value_(value),
13000 guarded_cid_(field->guarded_cid()),
13001 is_nullable_(field->is_nullable()),
13002 list_length_(field->guarded_list_length()),
13003 list_length_in_object_offset_(
13004 field->guarded_list_length_in_object_offset()),
13005 static_type_exactness_state_(field->static_type_exactness_state()) {
13006 ReviewGuards();
13007 ReviewExactnessState();
13008}
uint8_t value

Member Function Documentation

◆ DoUpdate()

void dart::FieldGuardUpdater::DoUpdate ( )

Definition at line 13010 of file object.cc.

13010 {
13011 if (does_guarded_cid_need_update_) {
13012 field_->set_guarded_cid(guarded_cid_);
13013 }
13014 if (does_is_nullable_need_update_) {
13015 field_->set_is_nullable(is_nullable_);
13016 }
13017 if (does_list_length_and_offset_need_update_) {
13018 field_->set_guarded_list_length(list_length_);
13020 list_length_in_object_offset_);
13021 }
13022 if (does_static_type_exactness_state_need_update_) {
13023 field_->set_static_type_exactness_state(static_type_exactness_state_);
13024 }
13025}
void set_static_type_exactness_state(StaticTypeExactnessState state) const
Definition: object.h:4639
void set_guarded_cid(intptr_t cid) const
Definition: object.h:4660
void set_guarded_list_length_in_object_offset(intptr_t offset) const
Definition: object.h:4688
void set_is_nullable(bool val) const
Definition: object.h:4753
void set_guarded_list_length(intptr_t list_length) const
Definition: object.h:4678

◆ IsUpdateNeeded()

bool dart::FieldGuardUpdater::IsUpdateNeeded ( )
inline

Definition at line 12558 of file object.cc.

12558 {
12559 return does_guarded_cid_need_update_ || does_is_nullable_need_update_ ||
12560 does_list_length_and_offset_need_update_ ||
12561 does_static_type_exactness_state_need_update_;
12562 }

The documentation for this class was generated from the following file: