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

Public Member Functions

 UserTagIsolatesVisitor (Thread *thread, const GrowableObjectArray *user_tags, bool set_streamable)
 
virtual void VisitIsolate (Isolate *isolate)
 
- Public Member Functions inherited from dart::IsolateVisitor
 IsolateVisitor ()
 
virtual ~IsolateVisitor ()
 
virtual void VisitIsolate (Isolate *isolate)=0
 

Additional Inherited Members

- Protected Member Functions inherited from dart::IsolateVisitor
bool IsSystemIsolate (Isolate *isolate) const
 

Detailed Description

Definition at line 384 of file vmservice.cc.

Constructor & Destructor Documentation

◆ UserTagIsolatesVisitor()

dart::UserTagIsolatesVisitor::UserTagIsolatesVisitor ( Thread thread,
const GrowableObjectArray user_tags,
bool  set_streamable 
)
inline

Definition at line 386 of file vmservice.cc.

389 : IsolateVisitor(),
390 thread_(thread),
391 user_tags_(user_tags),
392 set_streamable_(set_streamable) {}

Member Function Documentation

◆ VisitIsolate()

virtual void dart::UserTagIsolatesVisitor::VisitIsolate ( Isolate isolate)
inlinevirtual

Implements dart::IsolateVisitor.

Definition at line 394 of file vmservice.cc.

394 {
395 if (Isolate::IsVMInternalIsolate(isolate)) {
396 return;
397 }
398 Zone* zone = thread_->zone();
399 UserTag& tag = UserTag::Handle(zone);
400 String& label = String::Handle(zone);
401 for (intptr_t i = 0; i < user_tags_->Length(); ++i) {
402 label ^= user_tags_->At(i);
403 tag ^= UserTag::FindTagInIsolate(isolate, thread_, label);
404 if (!tag.IsNull()) {
405 tag.set_streamable(set_streamable_);
406 }
407 }
408 }
intptr_t Length() const
Definition: object.h:11072
ObjectPtr At(intptr_t index) const
Definition: object.h:11085
static bool IsVMInternalIsolate(const Isolate *isolate)
Definition: isolate.cc:3609
static Object & Handle()
Definition: object.h:407
Zone * zone() const
Definition: thread_state.h:37
static UserTagPtr FindTagInIsolate(Isolate *isolate, Thread *thread, const String &label)
Definition: object.cc:26991

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