[squeak-dev] Squeak 4.6: Tools-eem.628.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Jul 2 01:27:40 UTC 2015


Chris Muller uploaded a new version of Tools to project Squeak 4.6:
http://source.squeak.org/squeak46/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.626 ===============

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 == currentContext ifTrue:
+ 		[newContext := interruptedProcess stepToSendOrReturn].
- 	newContext := interruptedProcess completeStep: currentContext.
- 	newContext == currentContext ifTrue: [
- 		newContext := interruptedProcess stepToSendOrReturn].
  	self contextStackIndex > 1
  		ifTrue: [self resetContext: newContext]
+ 		ifFalse:
+ 			[newContext == currentContext
- 		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