The Trunk: Tools-eem.628.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Tools-eem.628.mcz

commits-2
Eliot Miranda uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-eem.628.mcz

==================== Summary ====================

Name: Tools-eem.628
Author: eem
Time: 1 July 2015, 4:40:15.806 pm
UUID: 9f27ada3-52e9-4acb-83fe-2c117840e385
Ancestors: Tools-eem.627

Debugger: Extract the exception notification handler into its own method and use it for Through support also.

=============== Diff against Tools-eem.627 ===============

Item was changed:
  ----- Method: Debugger>>doStep (in category 'context stack menu') -----
  doStep
  "Send the selected message in the accessed method, and regain control
  after the invoked method returns."
 
  | currentContext newContext |
  self okToChange ifFalse: [^ self].
  self checkContextSelection.
  currentContext := self selectedContext.
+ newContext := self handleLabelUpdatesIn: [interruptedProcess completeStep: currentContext]
+ whenExecuting: currentContext.
- newContext := [interruptedProcess completeStep: currentContext]
- on: Notification
- do: [:ex|
- (ex tag isArray
- and: [ex tag size = 2
- and: [(ex tag first == currentContext or: [ex tag first hasSender: currentContext])]])
- ifTrue:
- [self labelString: ex tag second description.
- ex resume]
- ifFalse:
- [ex pass]].
  newContext == currentContext ifTrue:
  [newContext := interruptedProcess stepToSendOrReturn].
  self contextStackIndex > 1
  ifTrue: [self resetContext: newContext]
  ifFalse:
  [newContext == currentContext
  ifTrue: [self changed: #contentsSelection.
  self updateInspectors]
  ifFalse: [self resetContext: newContext]].
  !

Item was added:
+ ----- Method: Debugger>>handleLabelUpdatesIn:whenExecuting: (in category 'context stack menu') -----
+ handleLabelUpdatesIn: aBlock whenExecuting: aContext
+ "Send the selected message in the accessed method, and regain control
+ after the invoked method returns."
+
+ ^aBlock
+ on: Notification
+ do: [:ex|
+ (ex tag isArray
+ and: [ex tag size = 2
+ and: [(ex tag first == aContext or: [ex tag first hasSender: aContext])]])
+ ifTrue:
+ [self labelString: ex tag second description.
+ ex resume]
+ ifFalse:
+ [ex pass]]!

Item was changed:
  ----- Method: Debugger>>stepIntoBlock (in category 'context stack menu') -----
  stepIntoBlock
  "Send messages until you return to the present method context.
  Used to step into a block in the method."
 
+ self handleLabelUpdatesIn:
+ [interruptedProcess stepToHome: self selectedContext]
+ whenExecuting: self selectedContext.
+ self resetContext: interruptedProcess stepToSendOrReturn!
- interruptedProcess stepToHome: self selectedContext.
- self resetContext: interruptedProcess stepToSendOrReturn.!