A new version of SystemEditor was added to project SystemEditor: http://www.squeaksource.com/SystemEditor/SystemEditor-mtf.143.mcz
==================== Summary ====================
Name: SystemEditor-mtf.143 Author: mtf Time: 25 October 2008, 10:02:56 pm UUID: c6fe8815-84e4-4c81-a55c-6f5a70aa8253 Ancestors: SystemEditor-mtf.142
an experimental InstanceMigrator refactor that should be able to find all instances of any number of classes in constant, rather than linear, time, hopefully resulting in a nice speedup in the average case. It is not yet used, so this change is harmless
=============== Diff against SystemEditor-mtf.142 ===============
Item was added: + ----- Method: MigrationTransaction>>collectInstancesOldInto:newInto: (in category 'instance refactor') ----- + collectInstancesOldInto: oStream newInto: dStream + "collect instances of all migrating objects using one memory scan rather than n. SystemNavigation>>allObjectsDo: is inlined here for portability to a KernelImage" + | object | + instanceMigrators ifNil: [^ self]. + object := self someObject. + [0 == object] + whileFalse: [ + instanceMigrators at: object class ifPresent: [:migrator | + oStream nextPut: object. + dStream nextPut: (migrator migrate: object)]. + object := object nextObject]!
Item was added: + ----- Method: MigrationTransaction>>migrateInstancesOf:to: (in category 'instance refactor') ----- + migrateInstancesOf: oldClass to: newClass + instanceMigrators ifNil: [instanceMigrators := IdentityDictionary new]. + instanceMigrators at: oldClass + put: (InstanceMigrator from: oldClass to: newClass)!
Item was changed: Object subclass: #MigrationTransaction + instanceVariableNames: 'migrators instanceMigrators' - instanceVariableNames: 'migrators' classVariableNames: '' poolDictionaries: '' category: 'SystemEditor-Editors'!
packages@lists.squeakfoundation.org