| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 part of models; | 5 part of models; |
| 6 | 6 |
| 7 abstract class Event { | 7 abstract class Event { |
| 8 /// The timestamp (in milliseconds since the epoch) associated with this | 8 /// The timestamp (in milliseconds since the epoch) associated with this |
| 9 /// event. For some isolate pause events, the timestamp is from when the | 9 /// event. For some isolate pause events, the timestamp is from when the |
| 10 /// isolate was paused. For other events, the timestamp is from when the | 10 /// isolate was paused. For other events, the timestamp is from when the |
| 11 /// event was created. | 11 /// event was created. |
| 12 DateTime get timestamp; | 12 DateTime get timestamp; |
| 13 static bool isPauseEvent(Event event) { | 13 static bool isPauseEvent(Event event) { |
| 14 return event is PauseStartEvent || event is PauseExitEvent || | 14 return event is PauseStartEvent || |
| 15 event is PauseBreakpointEvent || event is PauseInterruptedEvent || | 15 event is PauseExitEvent || |
| 16 event is PauseExceptionEvent || event is NoneEvent; | 16 event is PauseBreakpointEvent || |
| 17 event is PauseInterruptedEvent || |
| 18 event is PauseExceptionEvent || |
| 19 event is NoneEvent; |
| 17 } | 20 } |
| 18 } | 21 } |
| 19 | 22 |
| 20 abstract class VMEvent extends Event { | 23 abstract class VMEvent extends Event { |
| 21 /// The vm with which this event is associated. | 24 /// The vm with which this event is associated. |
| 22 VMRef get vm; | 25 VMRef get vm; |
| 23 } | 26 } |
| 24 | 27 |
| 25 abstract class VMUpdateEvent extends VMEvent {} | 28 abstract class VMUpdateEvent extends VMEvent {} |
| 26 | 29 |
| (...skipping 26 matching lines...) Expand all Loading... |
| 53 | 56 |
| 54 abstract class DebuggerSettingsUpdateEvent extends DebugEvent {} | 57 abstract class DebuggerSettingsUpdateEvent extends DebugEvent {} |
| 55 | 58 |
| 56 abstract class PauseStartEvent extends DebugEvent {} | 59 abstract class PauseStartEvent extends DebugEvent {} |
| 57 | 60 |
| 58 abstract class PauseExitEvent extends DebugEvent {} | 61 abstract class PauseExitEvent extends DebugEvent {} |
| 59 | 62 |
| 60 abstract class PauseBreakpointEvent extends DebugEvent { | 63 abstract class PauseBreakpointEvent extends DebugEvent { |
| 61 /// [optional] The breakpoint at which we are currently paused. | 64 /// [optional] The breakpoint at which we are currently paused. |
| 62 Breakpoint get breakpoint; | 65 Breakpoint get breakpoint; |
| 66 |
| 63 /// The list of breakpoints at which we are currently paused | 67 /// The list of breakpoints at which we are currently paused |
| 64 /// for a PauseBreakpoint event. | 68 /// for a PauseBreakpoint event. |
| 65 /// | 69 /// |
| 66 /// This list may be empty. For example, while single-stepping, the | 70 /// This list may be empty. For example, while single-stepping, the |
| 67 /// VM sends a PauseBreakpoint event with no breakpoints. | 71 /// VM sends a PauseBreakpoint event with no breakpoints. |
| 68 /// | 72 /// |
| 69 /// If there is more than one breakpoint set at the program position, | 73 /// If there is more than one breakpoint set at the program position, |
| 70 /// then all of them will be provided. | 74 /// then all of them will be provided. |
| 71 Iterable<Breakpoint> get pauseBreakpoints; | 75 Iterable<Breakpoint> get pauseBreakpoints; |
| 76 |
| 72 /// The top stack frame associated with this event. | 77 /// The top stack frame associated with this event. |
| 73 Frame get topFrame; | 78 Frame get topFrame; |
| 74 bool get atAsyncSuspension; | 79 bool get atAsyncSuspension; |
| 75 } | 80 } |
| 76 | 81 |
| 77 abstract class PauseInterruptedEvent extends DebugEvent { | 82 abstract class PauseInterruptedEvent extends DebugEvent { |
| 78 /// [optional] The top stack frame associated with this event. There will be | 83 /// [optional] The top stack frame associated with this event. There will be |
| 79 /// no top frame if the isolate is idle (waiting in the message loop). | 84 /// no top frame if the isolate is idle (waiting in the message loop). |
| 80 Frame get topFrame; | 85 Frame get topFrame; |
| 86 |
| 81 /// Is the isolate paused at an await, yield, or yield* statement? | 87 /// Is the isolate paused at an await, yield, or yield* statement? |
| 82 bool get atAsyncSuspension; | 88 bool get atAsyncSuspension; |
| 83 } | 89 } |
| 84 | 90 |
| 85 abstract class PauseExceptionEvent extends DebugEvent { | 91 abstract class PauseExceptionEvent extends DebugEvent { |
| 86 /// The top stack frame associated with this event. | 92 /// The top stack frame associated with this event. |
| 87 Frame get topFrame; | 93 Frame get topFrame; |
| 94 |
| 88 /// The exception associated with this event | 95 /// The exception associated with this event |
| 89 InstanceRef get exception; | 96 InstanceRef get exception; |
| 90 } | 97 } |
| 91 | 98 |
| 92 abstract class ResumeEvent extends DebugEvent { | 99 abstract class ResumeEvent extends DebugEvent { |
| 93 /// [optional] The top stack frame associated with this event. It is provided | 100 /// [optional] The top stack frame associated with this event. It is provided |
| 94 /// at all times except for the initial resume event that is delivered when an | 101 /// at all times except for the initial resume event that is delivered when an |
| 95 /// isolate begins execution. | 102 /// isolate begins execution. |
| 96 Frame get topFrame; | 103 Frame get topFrame; |
| 97 } | 104 } |
| (...skipping 21 matching lines...) Expand all Loading... |
| 119 abstract class NoneEvent extends DebugEvent {} | 126 abstract class NoneEvent extends DebugEvent {} |
| 120 | 127 |
| 121 abstract class GCEvent extends Event { | 128 abstract class GCEvent extends Event { |
| 122 /// The isolate with which this event is associated. | 129 /// The isolate with which this event is associated. |
| 123 IsolateRef get isolate; | 130 IsolateRef get isolate; |
| 124 } | 131 } |
| 125 | 132 |
| 126 abstract class ExtensionEvent extends Event { | 133 abstract class ExtensionEvent extends Event { |
| 127 /// The isolate with which this event is associated. | 134 /// The isolate with which this event is associated. |
| 128 IsolateRef get isolate; | 135 IsolateRef get isolate; |
| 136 |
| 129 /// The extension event kind. | 137 /// The extension event kind. |
| 130 String get extensionKind; | 138 String get extensionKind; |
| 139 |
| 131 /// The extension event data. | 140 /// The extension event data. |
| 132 ExtensionData get extensionData; | 141 ExtensionData get extensionData; |
| 133 } | 142 } |
| 134 | 143 |
| 135 abstract class LoggingEvent extends Event { | 144 abstract class LoggingEvent extends Event { |
| 136 /// The isolate with which this event is associated. | 145 /// The isolate with which this event is associated. |
| 137 IsolateRef get isolate; | 146 IsolateRef get isolate; |
| 138 | 147 |
| 139 // TODO(cbernaschina) objectify | 148 // TODO(cbernaschina) objectify |
| 140 Map get logRecord; | 149 Map get logRecord; |
| 141 } | 150 } |
| 142 | 151 |
| 143 abstract class TimelineEventsEvent extends Event { | 152 abstract class TimelineEventsEvent extends Event { |
| 144 /// The isolate with which this event is associated. | 153 /// The isolate with which this event is associated. |
| 145 IsolateRef get isolate; | 154 IsolateRef get isolate; |
| 155 |
| 146 /// An array of TimelineEvents | 156 /// An array of TimelineEvents |
| 147 Iterable<TimelineEvent> get timelineEvents; | 157 Iterable<TimelineEvent> get timelineEvents; |
| 148 } | 158 } |
| 149 | 159 |
| 150 abstract class ConnectionClosedEvent extends Event { | 160 abstract class ConnectionClosedEvent extends Event { |
| 151 /// The reason of the closed connection | 161 /// The reason of the closed connection |
| 152 String get reason; | 162 String get reason; |
| 153 } | 163 } |
| 154 | 164 |
| 155 Frame topFrame(DebugEvent event) { | 165 Frame topFrame(DebugEvent event) { |
| (...skipping 14 matching lines...) Expand all Loading... |
| 170 | 180 |
| 171 bool isAtAsyncSuspension(DebugEvent event) { | 181 bool isAtAsyncSuspension(DebugEvent event) { |
| 172 if (event is PauseBreakpointEvent) { | 182 if (event is PauseBreakpointEvent) { |
| 173 return event.atAsyncSuspension; | 183 return event.atAsyncSuspension; |
| 174 } | 184 } |
| 175 if (event is PauseInterruptedEvent) { | 185 if (event is PauseInterruptedEvent) { |
| 176 return event.atAsyncSuspension; | 186 return event.atAsyncSuspension; |
| 177 } | 187 } |
| 178 return false; | 188 return false; |
| 179 } | 189 } |
| OLD | NEW |