Nicolas Cellier uploaded a new version of ReleaseBuilder to project The Trunk:
http://source.squeak.org/trunk/ReleaseBuilder-nice.44.mcz==================== Summary ====================
Name: ReleaseBuilder-nice.44
Author: nice
Time: 3 January 2010, 3:52:03 am
UUID: cb1e5399-087e-460b-9d6f-681b93b5edc0
Ancestors: ReleaseBuilder-ar.43
remove some #or:or: #and:and: sends
=============== Diff against ReleaseBuilder-ar.43 ===============
Item was changed:
----- Method: ReleaseBuilder>>fixObsoleteReferences (in category 'utilities') -----
fixObsoleteReferences
"ReleaseBuilder new fixObsoleteReferences"
Preference allInstances do: [:each | | informee |
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]]].
- 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 inspect]!