Confirmed users
497
edits
m (Minor: use StudlyCaps, not hyphenated-names. 32d4b7d) |
(8630d68 Let 'pop' specify an arbitrary completion value, not just a return value. Clarify 'forceCompletion'.) |
||
| Line 645: | Line 645: | ||
{ "to":<i>thread</i>, "type":"resume", "forceCompletion":<i>completion</i> } | { "to":<i>thread</i>, "type":"resume", "forceCompletion":<i>completion</i> } | ||
where <i>completion</i> is a [[#Completion_Values|completion value]] indicating whether the frame should return a value, throw an exception, or be terminated. | where <i>completion</i> is a [[#Completion_Values|completion value]] indicating whether the frame should return a value, throw an exception, or be terminated. Execution resumes in the current frame's caller, in the manner appropriate for <i>completion</i>. | ||
A <tt>"resume"</tt> packet may not include both a <tt>"resumeLimit"</tt> property and a <tt>"forceCompletion"</tt> property. | A <tt>"resume"</tt> packet may not include both a <tt>"resumeLimit"</tt> property and a <tt>"forceCompletion"</tt> property. | ||
| Line 800: | Line 800: | ||
The client can remove frames from the stack by sending a request of the form: | The client can remove frames from the stack by sending a request of the form: | ||
{ "to":<i>frameActor</i>, "type":"pop", " | { "to":<i>frameActor</i>, "type":"pop", "completionValue":<i>completion</i> } | ||
where <i>frameActor</i> is the actor representing the stack frame to pop, and <i> | where <i>frameActor</i> is the actor representing the stack frame to pop, and <i>completion</i> is a [[#Completion_Values|completion value]] describing how the frame should appear to have finished execution. All younger stack frames are also popped. The thread remains paused. The frame actor will reply: | ||
{ "from":<i>frameActor</i>, "watches":[<i>watchActor</i> ...] } | { "from":<i>frameActor</i>, "watches":[<i>watchActor</i> ...] } | ||