OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef VM_SERVICE_EVENT_H_ | 5 #ifndef VM_SERVICE_EVENT_H_ |
6 #define VM_SERVICE_EVENT_H_ | 6 #define VM_SERVICE_EVENT_H_ |
7 | 7 |
8 #include "vm/globals.h" | 8 #include "vm/globals.h" |
9 #include "vm/heap.h" | 9 #include "vm/heap.h" |
10 | 10 |
11 namespace dart { | 11 namespace dart { |
12 | 12 |
13 class ActivationFrame; | 13 class ActivationFrame; |
14 class Breakpoint; | 14 class Breakpoint; |
15 class Instance; | 15 class Instance; |
16 class Isolate; | 16 class Isolate; |
17 class Object; | 17 class Object; |
18 class StreamInfo; | 18 class StreamInfo; |
19 class String; | 19 class String; |
20 class TimelineEventBlock; | 20 class TimelineEventBlock; |
21 | 21 |
22 class ServiceEvent { | 22 class ServiceEvent { |
23 public: | 23 public: |
24 enum EventKind { | 24 enum EventKind { |
25 kVMUpdate, // VM identity information has changed | 25 kVMUpdate, // VM identity information has changed |
26 | 26 |
27 kIsolateStart, // New isolate has started | 27 kIsolateStart, // New isolate has started |
28 kIsolateRunnable, // Isolate is ready to run | 28 kIsolateRunnable, // Isolate is ready to run |
29 kIsolateExit, // Isolate has exited | 29 kIsolateExit, // Isolate has exited |
30 kIsolateUpdate, // Isolate identity information has changed | 30 kIsolateUpdate, // Isolate identity information has changed |
31 | 31 kIsolateReload, // Result of a reload request |
32 kServiceExtensionAdded, // A service extension was registered | 32 kServiceExtensionAdded, // A service extension was registered |
33 | 33 |
34 kPauseStart, // --pause-isolates-on-start | 34 kPauseStart, // --pause-isolates-on-start |
35 kPauseExit, // --pause-isolates-on-exit | 35 kPauseExit, // --pause-isolates-on-exit |
36 kPauseBreakpoint, | 36 kPauseBreakpoint, |
37 kPauseInterrupted, | 37 kPauseInterrupted, |
38 kPauseException, | 38 kPauseException, |
39 kNone, // isolate has not been made runnable yet. | 39 kNone, // isolate has not been made runnable yet. |
40 kResume, | 40 kResume, |
41 kBreakpointAdded, | 41 kBreakpointAdded, |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
142 } | 142 } |
143 | 143 |
144 const Object* exception() const { | 144 const Object* exception() const { |
145 return exception_; | 145 return exception_; |
146 } | 146 } |
147 void set_exception(const Object* exception) { | 147 void set_exception(const Object* exception) { |
148 ASSERT(kind_ == kPauseException); | 148 ASSERT(kind_ == kPauseException); |
149 exception_ = exception; | 149 exception_ = exception; |
150 } | 150 } |
151 | 151 |
| 152 const Error* reload_error() const { |
| 153 ASSERT(kind_ == kIsolateReload); |
| 154 return reload_error_; |
| 155 } |
| 156 void set_reload_error(const Error* error) { |
| 157 ASSERT(kind_ == kIsolateReload); |
| 158 reload_error_ = error; |
| 159 } |
| 160 |
152 bool at_async_jump() const { | 161 bool at_async_jump() const { |
153 return at_async_jump_; | 162 return at_async_jump_; |
154 } | 163 } |
155 void set_at_async_jump(bool value) { | 164 void set_at_async_jump(bool value) { |
156 at_async_jump_ = value; | 165 at_async_jump_ = value; |
157 } | 166 } |
158 | 167 |
159 const Object* inspectee() const { | 168 const Object* inspectee() const { |
160 return inspectee_; | 169 return inspectee_; |
161 } | 170 } |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
215 private: | 224 private: |
216 Isolate* isolate_; | 225 Isolate* isolate_; |
217 EventKind kind_; | 226 EventKind kind_; |
218 const char* embedder_kind_; | 227 const char* embedder_kind_; |
219 const char* embedder_stream_id_; | 228 const char* embedder_stream_id_; |
220 Breakpoint* breakpoint_; | 229 Breakpoint* breakpoint_; |
221 ActivationFrame* top_frame_; | 230 ActivationFrame* top_frame_; |
222 const TimelineEventBlock* timeline_event_block_; | 231 const TimelineEventBlock* timeline_event_block_; |
223 const String* extension_rpc_; | 232 const String* extension_rpc_; |
224 const Object* exception_; | 233 const Object* exception_; |
| 234 const Error* reload_error_; |
225 bool at_async_jump_; | 235 bool at_async_jump_; |
226 const Object* inspectee_; | 236 const Object* inspectee_; |
227 const Heap::GCStats* gc_stats_; | 237 const Heap::GCStats* gc_stats_; |
228 const uint8_t* bytes_; | 238 const uint8_t* bytes_; |
229 intptr_t bytes_length_; | 239 intptr_t bytes_length_; |
230 LogRecord log_record_; | 240 LogRecord log_record_; |
231 ExtensionEvent extension_event_; | 241 ExtensionEvent extension_event_; |
232 int64_t timestamp_; | 242 int64_t timestamp_; |
233 }; | 243 }; |
234 | 244 |
235 } // namespace dart | 245 } // namespace dart |
236 | 246 |
237 #endif // VM_SERVICE_EVENT_H_ | 247 #endif // VM_SERVICE_EVENT_H_ |
OLD | NEW |