[squeak-dev] The Trunk: System-cmm.667.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Mar 7 17:06:05 UTC 2014


Chris Muller uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-cmm.667.mcz

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

Name: System-cmm.667
Author: cmm
Time: 7 March 2014, 11:05:02.41 am
UUID: 5687957c-9a9d-4e72-9db9-14480a1a52e2
Ancestors: System-dtl.666

- Added method to get a valid MethodReference from a stale, invalid one.

=============== Diff against System-dtl.666 ===============

Item was added:
+ ----- Method: MethodReference>>asValid (in category 'converting') -----
+ asValid
+ 	"Sometimes persistent MethodReferences may become stale after a refactoring which moved some methods to a superclass.  This method answers the new valid MethodReference if that happened."
+ 	^ self isValid
+ 		ifTrue: [ self ]
+ 		ifFalse:
+ 			[ | cm |
+ 			cm := self actualClass lookupSelector: self selector.
+ 			cm ifNotNil: [ cm methodReference ] ]!

Item was changed:
  ----- Method: SmalltalkImage>>haltOrQuit (in category 'command line') -----
  haltOrQuit
+ 	self isHeadless
- 	Smalltalk isHeadless
  		ifTrue:
  			[ self
  				snapshot: false
  				andQuit: true ]
  		ifFalse: [ self halt ]!

Item was changed:
  ----- Method: SmalltalkImage>>run: (in category 'command line') -----
+ run: aBlock 
- run: aBlock
  	[ [ (aBlock numArgs = 1 and: [ self arguments size > 1 ])
+ 		ifTrue: 
+ 			[ "Allow a large, variable number of arguments to be passed as an Array to aBlock."
+ 			aBlock value: self arguments ]
+ 		ifFalse: [ aBlock valueWithEnoughArguments: self arguments ] ]
-                 ifTrue: [ aBlock value: self arguments ]
-                 ifFalse: [ aBlock valueWithEnoughArguments: self arguments ] ]
  		on: ProgressInitiationException
  		do:
  			[ : pie | "Don't want to log this notification."
  			pie defaultAction ] ]
  		on: Notification , Warning
  		do:
  			[ : noti | FileStream stdout
  				 nextPutAll: DateAndTime now asString ;
  				 space ;
  				 nextPutAll: noti description ;
  				 cr.
  			noti resume ]
  		on: SyntaxErrorNotification
  		do:
  			[ : err | FileStream stdout
  				 nextPutAll: err errorCode ;
  				 cr.
  			self haltOrQuit ]
  		on: Error
  		do:
  			[ : err | err printVerboseOn: FileStream stderr.
  			self haltOrQuit.
  			err isResumable ifTrue: [ err resume ] ]!



More information about the Squeak-dev mailing list