[squeak-dev] The Trunk: Kernel-nice.278.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Oct 20 22:28:18 UTC 2009


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

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

Name: Kernel-nice.278
Author: nice
Time: 21 October 2009, 12:26:28 am
UUID: 86933c27-4f26-4bf0-a9b9-a2a5afbbbaac
Ancestors: Kernel-nice.277

Use #keys rather than #fasterKeys
Note that pattern (x keys asArray sort) could as well be written (x keys sort) now that keys returns an Array...
This #asArray is here solely for cross-dialect/fork compatibility.

=============== Diff against Kernel-nice.277 ===============

Item was changed:
  ----- Method: ClassBuilder class>>cleanupClassHierarchyFor: (in category 'cleanup obsolete classes') -----
  cleanupClassHierarchyFor: aClassDescription
  	
  	| myName mySuperclass |
  	mySuperclass := aClassDescription superclass.
  	(self isReallyObsolete: aClassDescription) ifTrue: [
  		
  		"Remove class >>>from SystemDictionary if it is obsolete"
  		myName := aClassDescription name asString.
+ 		Smalltalk keys do: [:each | 
- 		Smalltalk fasterKeys do: [:each | 
  			(each asString = myName and: [(Smalltalk at: each) == aClassDescription])
  				ifTrue: [Smalltalk removeKey: each]].
  
  		"Make class officially obsolete if it is not"
  		(aClassDescription name asString beginsWith: 'AnObsolete')
  			ifFalse: [aClassDescription obsolete].
  
  		aClassDescription isObsolete 
  			ifFalse: [self error: 'Something wrong!!'].
  
  		"Add class to obsoleteSubclasses of its superclass"
  		mySuperclass
  			ifNil: [self error: 'Obsolete subclasses of nil cannot be stored'].
  		(mySuperclass obsoleteSubclasses includes: aClassDescription)
  			ifFalse: [mySuperclass addObsoleteSubclass: aClassDescription].
  	] ifFalse:[
  		"check if superclass has aClassDescription in its obsolete subclasses"
  		mySuperclass ifNil:[mySuperclass := Class]. "nil subclasses"
  		mySuperclass removeObsoleteSubclass: aClassDescription.
  	].
  	"And remove its obsolete subclasses if not actual superclass"
  	aClassDescription obsoleteSubclasses do:[:obs|
  		obs superclass == aClassDescription ifFalse:[
  			aClassDescription removeObsoleteSubclass: obs]].
  !

Item was changed:
  ----- Method: Object>>removeActionsSatisfying: (in category 'events-removing') -----
  removeActionsSatisfying: aBlock
  
+ 	self actionMap keys do:
- 	self actionMap fasterKeys do:
  		[:eachEventSelector |
  			self
     				removeActionsSatisfying: aBlock
  				forEvent: eachEventSelector
  		]!

Item was changed:
  ----- Method: Class>>fileOutPool:onFileStream: (in category 'fileIn/Out') -----
  fileOutPool: aPool onFileStream: aFileStream 
  	| aPoolName aValue |
  	(aPool  isKindOf: SharedPool class) ifTrue:[^self notify: 'we do not fileout SharedPool type shared pools for now'].
  	aPoolName := self environment keyAtIdentityValue: aPool.
  	Transcript cr; show: aPoolName.
  	aFileStream nextPutAll: 'Transcript show: ''' , aPoolName , '''; cr!!'; cr.
  	aFileStream nextPutAll: 'Smalltalk at: #' , aPoolName , ' put: Dictionary new!!'; cr.
+ 	aPool keys asArray sort do: [ :aKey |
- 	aPool fasterKeys sort do: [ :aKey |
  		aValue := aPool at: aKey.
  		aFileStream nextPutAll: aPoolName , ' at: #''' , aKey asString , '''', ' put:  '.
  		(aValue isKindOf: Number)
  			ifTrue: [aValue printOn: aFileStream]
  			ifFalse: [aFileStream nextPutAll: '('.
  					aValue printOn: aFileStream.
  					aFileStream nextPutAll: ')'].
  		aFileStream nextPutAll: '!!'; cr].
  	aFileStream cr!

Item was changed:
  ----- Method: Class>>declare: (in category 'initialize-release') -----
  declare: varString 
  	"Declare class variables common to all instances. Answer whether 
  	recompilation is advisable."
  
  	| newVars conflicts |
  	newVars := 
  		(Scanner new scanFieldNames: varString)
  			collect: [:x | x asSymbol].
  	newVars do:
  		[:var | var first canBeGlobalVarInitial
  			ifFalse: [self error: var, ' class variable name should be capitalized; proceed to include anyway.']].
  	conflicts := false.
  	classPool == nil 
+ 		ifFalse: [(classPool keys reject: [:x | newVars includes: x]) do: 
- 		ifFalse: [(classPool fasterKeys reject: [:x | newVars includes: x]) do: 
  					[:var | self removeClassVarName: var]].
  	(newVars reject: [:var | self classPool includesKey: var])
  		do: [:var | "adding"
  			"check if new vars defined elsewhere"
  			(self bindingOf: var) notNil
  				ifTrue: 
  					[self error: var , ' is defined elsewhere'.
  					conflicts := true]].
  	newVars size > 0
  		ifTrue: 
  			[classPool := self classPool.
  			"in case it was nil"
  			newVars do: [:var | classPool declare: var from: Undeclared]].
  	^conflicts!

Item was changed:
  ----- Method: ClassDescription>>classVariablesString (in category 'printing') -----
  classVariablesString
  	"Answer a string of my class variable names separated by spaces."
  
  	^String streamContents: [ :stream | 
+ 		self classPool keys asArray sort 
- 		self classPool fasterKeys sort 
  			do: [ :each | stream nextPutAll: each ]
  			separatedBy: [ stream space ] ]!




More information about the Squeak-dev mailing list