[squeak-dev] The Trunk: Tools-eem.628.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Jul 1 23:40:49 UTC 2015


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.!



More information about the Squeak-dev mailing list