| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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_DEBUGGER_H_ | 5 #ifndef VM_DEBUGGER_H_ |
| 6 #define VM_DEBUGGER_H_ | 6 #define VM_DEBUGGER_H_ |
| 7 | 7 |
| 8 #include "include/dart_tools_api.h" | 8 #include "include/dart_tools_api.h" |
| 9 | 9 |
| 10 #include "vm/object.h" | 10 #include "vm/object.h" |
| (...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 347 kIsolateShutdown = 5, | 347 kIsolateShutdown = 5, |
| 348 kIsolateInterrupted = 6, | 348 kIsolateInterrupted = 6, |
| 349 }; | 349 }; |
| 350 | 350 |
| 351 explicit DebuggerEvent(Isolate* isolate, EventType event_type) | 351 explicit DebuggerEvent(Isolate* isolate, EventType event_type) |
| 352 : isolate_(isolate), | 352 : isolate_(isolate), |
| 353 type_(event_type), | 353 type_(event_type), |
| 354 top_frame_(NULL), | 354 top_frame_(NULL), |
| 355 breakpoint_(NULL), | 355 breakpoint_(NULL), |
| 356 exception_(NULL), | 356 exception_(NULL), |
| 357 async_continuation_(NULL) {} | 357 async_continuation_(NULL), |
| 358 at_async_jump_(false) {} |
| 358 | 359 |
| 359 Isolate* isolate() const { return isolate_; } | 360 Isolate* isolate() const { return isolate_; } |
| 360 | 361 |
| 361 EventType type() const { return type_; } | 362 EventType type() const { return type_; } |
| 362 | 363 |
| 363 bool IsPauseEvent() const { | 364 bool IsPauseEvent() const { |
| 364 return (type_ == kBreakpointReached || | 365 return (type_ == kBreakpointReached || |
| 365 type_ == kIsolateInterrupted || | 366 type_ == kIsolateInterrupted || |
| 366 type_ == kExceptionThrown); | 367 type_ == kExceptionThrown); |
| 367 } | 368 } |
| (...skipping 27 matching lines...) Expand all Loading... |
| 395 | 396 |
| 396 const Object* async_continuation() const { | 397 const Object* async_continuation() const { |
| 397 ASSERT(type_ == kBreakpointReached); | 398 ASSERT(type_ == kBreakpointReached); |
| 398 return async_continuation_; | 399 return async_continuation_; |
| 399 } | 400 } |
| 400 void set_async_continuation(const Object* closure) { | 401 void set_async_continuation(const Object* closure) { |
| 401 ASSERT(type_ == kBreakpointReached); | 402 ASSERT(type_ == kBreakpointReached); |
| 402 async_continuation_ = closure; | 403 async_continuation_ = closure; |
| 403 } | 404 } |
| 404 | 405 |
| 406 bool at_async_jump() const { |
| 407 return at_async_jump_; |
| 408 } |
| 409 void set_at_async_jump(bool value) { |
| 410 at_async_jump_ = value; |
| 411 } |
| 412 |
| 405 Dart_Port isolate_id() const { | 413 Dart_Port isolate_id() const { |
| 406 return isolate_->main_port(); | 414 return isolate_->main_port(); |
| 407 } | 415 } |
| 408 | 416 |
| 409 private: | 417 private: |
| 410 Isolate* isolate_; | 418 Isolate* isolate_; |
| 411 EventType type_; | 419 EventType type_; |
| 412 ActivationFrame* top_frame_; | 420 ActivationFrame* top_frame_; |
| 413 Breakpoint* breakpoint_; | 421 Breakpoint* breakpoint_; |
| 414 const Object* exception_; | 422 const Object* exception_; |
| 415 const Object* async_continuation_; | 423 const Object* async_continuation_; |
| 424 bool at_async_jump_; |
| 416 }; | 425 }; |
| 417 | 426 |
| 418 | 427 |
| 419 class Debugger { | 428 class Debugger { |
| 420 public: | 429 public: |
| 421 typedef void EventHandler(DebuggerEvent* event); | 430 typedef void EventHandler(DebuggerEvent* event); |
| 422 | 431 |
| 423 Debugger(); | 432 Debugger(); |
| 424 ~Debugger(); | 433 ~Debugger(); |
| 425 | 434 |
| (...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 650 | 659 |
| 651 friend class Isolate; | 660 friend class Isolate; |
| 652 friend class BreakpointLocation; | 661 friend class BreakpointLocation; |
| 653 DISALLOW_COPY_AND_ASSIGN(Debugger); | 662 DISALLOW_COPY_AND_ASSIGN(Debugger); |
| 654 }; | 663 }; |
| 655 | 664 |
| 656 | 665 |
| 657 } // namespace dart | 666 } // namespace dart |
| 658 | 667 |
| 659 #endif // VM_DEBUGGER_H_ | 668 #endif // VM_DEBUGGER_H_ |
| OLD | NEW |