[squeak-dev] The Trunk: Monticello-bf.540.mcz

commits at source.squeak.org commits at source.squeak.org
Sat May 4 18:13:54 UTC 2013


Bert Freudenberg uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-bf.540.mcz

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

Name: Monticello-bf.540
Author: bf
Time: 4 May 2013, 8:13:11.165 pm
UUID: b8904753-a5e5-4061-a912-49480229e91a
Ancestors: Monticello-fbs.539

Add MCReorganizationPreloader which can resolve moves between arbitrary packages.

=============== Diff against Monticello-fbs.539 ===============

Item was added:
+ Object subclass: #MCReorganizationPreloader
+ 	instanceVariableNames: 'preloads previousRemovals currentRemovals'
+ 	classVariableNames: ''
+ 	poolDictionaries: ''
+ 	category: 'Monticello-Loading'!

Item was added:
+ ----- Method: MCReorganizationPreloader class>>preloadMovesBetween: (in category 'loading') -----
+ preloadMovesBetween: versions
+ 	| loader |
+ 	loader := self new.
+ 	versions do: [ :version |
+ 		loader addVersion: version].
+ 	^ loader preload!

Item was added:
+ ----- Method: MCReorganizationPreloader>>addDefinition: (in category 'patch ops') -----
+ addDefinition: new
+ 	previousRemovals definitionLike: new
+ 		ifPresent: [ :old | preloads add: (MCModification of: old to: new) ]
+ 		ifAbsent: [ "ignore" ].
+ !

Item was added:
+ ----- Method: MCReorganizationPreloader>>addVersion: (in category 'accessing') -----
+ addVersion: aVersion
+ 	| patch |
+ 	previousRemovals addAll: currentRemovals definitions.
+ 	currentRemovals := MCDefinitionIndex new.
+ 	patch := aVersion canOptimizeLoading
+ 		ifTrue: [aVersion patch]
+ 		ifFalse: [aVersion snapshot patchRelativeToBase: aVersion package snapshot].
+ 	patch applyTo: self.
+ 
+ 
+ !

Item was added:
+ ----- Method: MCReorganizationPreloader>>initialize (in category 'initialize-release') -----
+ initialize
+ 	preloads := Set new.
+ 	previousRemovals := MCDefinitionIndex new.
+ 	currentRemovals := MCDefinitionIndex new.
+ !

Item was added:
+ ----- Method: MCReorganizationPreloader>>modifyDefinition:to: (in category 'patch ops') -----
+ modifyDefinition: old to: new
+ 	"ignore"!

Item was added:
+ ----- Method: MCReorganizationPreloader>>preload (in category 'loading') -----
+ preload
+ 	| loader |
+ 	loader := MCPackageLoader new.
+ 	(MCPatch operations: preloads) applyTo: loader.
+ 	loader loadWithNameLike: 'mcPreload'.
+ !

Item was added:
+ ----- Method: MCReorganizationPreloader>>removeDefinition: (in category 'patch ops') -----
+ removeDefinition: old
+ 	currentRemovals add: old.
+ !



More information about the Squeak-dev mailing list