Flutter Engine
The Flutter Engine
Public Member Functions | List of all members
dart::InvalidationCollector Class Reference
Inheritance diagram for dart::InvalidationCollector:
dart::ObjectVisitor

Public Member Functions

 InvalidationCollector (Zone *zone, GrowableArray< const Function * > *functions, GrowableArray< const KernelProgramInfo * > *kernel_infos, GrowableArray< const Field * > *fields, GrowableArray< const SuspendState * > *suspend_states, GrowableArray< const Instance * > *instances)
 
virtual ~InvalidationCollector ()
 
void VisitObject (ObjectPtr obj) override
 
- Public Member Functions inherited from dart::ObjectVisitor
 ObjectVisitor ()
 
virtual ~ObjectVisitor ()
 
virtual void VisitObject (ObjectPtr obj)=0
 

Detailed Description

Definition at line 1941 of file isolate_reload.cc.

Constructor & Destructor Documentation

◆ InvalidationCollector()

dart::InvalidationCollector::InvalidationCollector ( Zone zone,
GrowableArray< const Function * > *  functions,
GrowableArray< const KernelProgramInfo * > *  kernel_infos,
GrowableArray< const Field * > *  fields,
GrowableArray< const SuspendState * > *  suspend_states,
GrowableArray< const Instance * > *  instances 
)
inline

Definition at line 1943 of file isolate_reload.cc.

1949 : zone_(zone),
1950 functions_(functions),
1951 kernel_infos_(kernel_infos),
1952 fields_(fields),
1953 suspend_states_(suspend_states),
1954 instances_(instances) {}

◆ ~InvalidationCollector()

virtual dart::InvalidationCollector::~InvalidationCollector ( )
inlinevirtual

Definition at line 1955 of file isolate_reload.cc.

1955{}

Member Function Documentation

◆ VisitObject()

void dart::InvalidationCollector::VisitObject ( ObjectPtr  obj)
inlineoverridevirtual

Implements dart::ObjectVisitor.

Definition at line 1957 of file isolate_reload.cc.

1957 {
1958 intptr_t cid = obj->GetClassId();
1959 if (cid == kFunctionCid) {
1960 const Function& func =
1961 Function::Handle(zone_, static_cast<FunctionPtr>(obj));
1962 functions_->Add(&func);
1963 } else if (cid == kKernelProgramInfoCid) {
1964 kernel_infos_->Add(&KernelProgramInfo::Handle(
1965 zone_, static_cast<KernelProgramInfoPtr>(obj)));
1966 } else if (cid == kFieldCid) {
1967 fields_->Add(&Field::Handle(zone_, static_cast<FieldPtr>(obj)));
1968 } else if (cid == kSuspendStateCid) {
1969 const auto& suspend_state =
1970 SuspendState::Handle(zone_, static_cast<SuspendStatePtr>(obj));
1971 if (suspend_state.pc() != 0) {
1972 suspend_states_->Add(&suspend_state);
1973 }
1974 } else if (cid > kNumPredefinedCids) {
1975 instances_->Add(&Instance::Handle(zone_, static_cast<InstancePtr>(obj)));
1976 }
1977 }
static Object & Handle()
Definition: object.h:407
@ kNumPredefinedCids
Definition: class_id.h:257
const intptr_t cid

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