[squeak-dev] The Trunk: ScriptLoader-nice.328.mcz

commits at source.squeak.org commits at source.squeak.org
Sun Dec 27 02:57:15 UTC 2009

Nicolas Cellier uploaded a new version of ScriptLoader to project The Trunk:

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

Name: ScriptLoader-nice.328
Author: nice
Time: 27 December 2009, 3:57:07 am
UUID: 5d32857b-2500-4da5-8486-52b2030609a6
Ancestors: ScriptLoader-nice.327

Cosmetic: move or remove a few temps inside closures

=============== Diff against ScriptLoader-nice.327 ===============

Item was changed:
  ----- Method: ScriptLoader>>fixObsoleteReferences (in category 'cleaning') -----
  	"self new fixObsoleteReferences"
+ 	Preference allInstances do: [:each | | informee | 
- 	| informee obsoleteBindings obsName realName realClass |
- 	Preference allInstances do: [:each | 
  		informee := each instVarNamed: #changeInformee.
  		((informee isKindOf: Behavior)
  			and: [informee isObsolete])
  			ifTrue: [
  				Transcript show: each name; cr.
  				each instVarNamed: #changeInformee put: (Smalltalk at: (informee name copyReplaceAll: 'AnObsolete' with: '') asSymbol)]].
  	CompiledMethod allInstances do: [:method |
+ 		| obsoleteBindings |
  		obsoleteBindings := method literals select: [:literal |
  			literal isVariableBinding
  				and: [literal value isBehavior]
  				and: [literal value isObsolete]].
  		obsoleteBindings do: [:binding |
+ 			| obsName realName realClass |
  			obsName := binding value name.
  			Transcript show: obsName; cr.
  			realName := obsName copyReplaceAll: 'AnObsolete' with: ''.
  			realClass := Smalltalk at: realName asSymbol ifAbsent: [UndefinedObject].
  			binding isSpecialWriteBinding
  				ifTrue: [binding privateSetKey: binding key value: realClass]
  				ifFalse: [binding key: binding key value: realClass]]].
  	Behavior flushObsoleteSubclasses.
  	Smalltalk garbageCollect; garbageCollect.
  	SystemNavigation default obsoleteBehaviors size > 0
  		ifTrue: [SystemNavigation default obsoleteBehaviors inspect]!

Item was changed:
  ----- Method: ScriptLoader>>loadOneAfterTheOther:merge: (in category 'private helpers') -----
  loadOneAfterTheOther: aCollection merge: aBoolean
- 	| loader |
  	(self newerVersionsIn: aCollection)
+ 		do: [:fn | | loader |
- 		do: [:fn |
  			loader := aBoolean
  				ifTrue: [ MCVersionMerger new ]
  				ifFalse: [ MCVersionLoader new].
  			loader addVersion: (self repository loadVersionFromFileNamed: fn).
  				ifTrue: [[loader merge] on: MCMergeResolutionRequest do: [:request |
  							request merger conflicts isEmpty
  								ifTrue: [request resume: true]
  								ifFalse: [request pass]]]
  				ifFalse: [loader load]]
    	  	displayingProgress: 'Loading versions...'.

More information about the Squeak-dev mailing list