[squeak-dev] The Trunk: Tools-nice.448.mcz

commits at source.squeak.org commits at source.squeak.org
Sun Feb 24 20:21:06 UTC 2013


Nicolas Cellier uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-nice.448.mcz

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

Name: Tools-nice.448
Author: nice
Time: 24 February 2013, 9:20:11.082 pm
UUID: 6d5eb1d5-ae18-44eb-95a8-4fbdf02a2e66
Ancestors: Tools-nice.447

FakeClassPool is obsolete in Squeak, remove recent reference to it.
Note: we should deprecate this class

=============== Diff against Tools-nice.447 ===============

Item was changed:
  ----- Method: Debugger>>runUntil (in category 'code pane menu') -----
  runUntil
  	"Step until an expression evaluates to other than false, reporting an erroer if it doesn't evaluate to true.
  	 Remember the expression in an inst var.  If shift is pressed when the expression is supplied, don't update the UI.
  	 If shift is pressed while stepping, stop stepping.  Using a user interrupt to break out would be more natural
  	 but Squeak currently doesn't provide a UserInterrupt expection.  It should do."
  	| expression receiver context method value lastUpdate updateUI breakOnShift |
  	expression := UIManager default 
  					request: 'run until expression is true (shift to disable ui update; shift to break).'
  					initialAnswer: (untilExpression ifNil: 'boolean expression').
  	(expression isNil or: [expression isEmpty]) ifTrue:
  		[^self].
  	updateUI := breakOnShift := Sensor shiftPressed not.
  	untilExpression := expression.
  	context := self selectedContext.
  	receiver := context receiver.
- 	FakeClassPool adopt: receiver class.
  	method := receiver class evaluatorClass new 
  				compiledMethodFor: untilExpression
  				in: context
  				to: receiver
  				notifying: nil
+ 				ifFail: [^ #failedDoit]
- 				ifFail: [FakeClassPool adopt: nil. ^ #failedDoit]
  				logged: false.
  
  	lastUpdate := Time millisecondClockValue.
- 	FakeClassPool adopt: nil.
  	[self selectedContext == context
  	 and: [(value := receiver with: context executeMethod: method) == false]] whileTrue:
  		[self doStep.
  		 Time millisecondClockValue - lastUpdate > 50 ifTrue:
  			[updateUI ifTrue: [World displayWorldSafely].
  			 breakOnShift
  				ifTrue: [Sensor shiftPressed ifTrue: [^self]]
  				ifFalse: [Sensor shiftPressed ifFalse: [breakOnShift := true]].
  			 lastUpdate := Time millisecondClockValue]].
  	(value ~~ false and: [value ~~ true]) ifTrue:
  		[UIManager default inform: 'expression ', (untilExpression contractTo: 40), ' answered ', (value printString contractTo: 20), '!!!!']!



More information about the Squeak-dev mailing list