[Pkg] Monticello Public: Monticello.impl-mtf.578.mcz
squeak-dev-noreply at lists.squeakfoundation.org
squeak-dev-noreply at lists.squeakfoundation.org
Tue Oct 7 23:35:18 UTC 2008
A new version of Monticello.impl was added to project Monticello Public:
http://www.squeaksource.com/mc/Monticello.impl-mtf.578.mcz
==================== Summary ====================
Name: Monticello.impl-mtf.578
Author: mtf
Time: 7 October 2008, 1:20:20 pm
UUID: 8fb1b304-95dd-4e84-9c6b-142c90a9ff0a
Ancestors: Monticello.impl-mtf.577
implemented MCPackage>>patchSnapshot, which will make diffs that fix bug 7208
=============== Diff against Monticello.impl-mtf.577 ===============
Item was added:
+ ----- Method: MCPackage>>patchSnapshot (in category 'patching') -----
+ patchSnapshot
+ ^ MCImageBackedSnapshot fromDefinitions: (self snapshot definitions)!
Item was changed:
----- Method: MCPatch>>initializeWithBase:target: (in category 'intializing') -----
+ initializeWithBase: base target: target
+ "Generates operation from the given MCDefinitionIndexes"
+
- initializeWithBase: baseSnapshot target: targetSnapshot
- | base target |
operations := OrderedCollection new.
- base := MCDefinitionIndex definitions: baseSnapshot definitions.
- target := MCDefinitionIndex definitions: targetSnapshot definitions.
target definitions do:
[:t |
base
definitionLike: t
ifPresent: [:b | (b isSameRevisionAs: t) ifFalse: [operations add: (MCModification of: b to: t)]]
ifAbsent: [operations add: (MCAddition of: t)]]
displayingProgress: 'Diffing...'.
base definitions do:
[:b |
target
definitionLike: b
ifPresent: [:t]
ifAbsent: [operations add: (MCRemoval of: b)]] !
Item was changed:
----- Method: MCPatch class>>fromBase:target: (in category 'as yet unclassified') -----
fromBase: baseSnapshot target: targetSnapshot
+ ^ self new initializeWithBase: baseSnapshot definitionIndex
+ target: targetSnapshot definitionIndex!
- ^ self new initializeWithBase: baseSnapshot target: targetSnapshot!
Item was added:
+ ----- Method: MCDefinition>>fromImage (in category 'converting') -----
+ fromImage
+ "Answer a copy of myself, but at the version that exists in the image. Answers nil if no such version exists"
+
+ ^ nil!
Item was added:
+ ----- Method: MCImageBackedDefinitionIndex>>definitionLike:ifPresent:ifAbsent: (in category 'as yet unclassified') -----
+ definitionLike: aDefinition ifPresent: foundBlock ifAbsent: errorBlock
+ ^ super definitionLike: aDefinition ifPresent: foundBlock
+ ifAbsent: [aDefinition fromImage ifNil: [errorBlock value]]!
Item was added:
+ ----- Method: MCClassDefinition>>fromImage (in category 'converting') -----
+ fromImage
+ ^ self actualClass ifNotNil: [self actualClass asClassDefinition]!
Item was added:
+ ----- Method: MCImageBackedSnapshot>>definitionIndex (in category 'as yet unclassified') -----
+ definitionIndex
+ ^ MCImageBackedDefinitionIndex definitions: definitions!
Item was added:
+ ----- Method: MCMethodDefinition>>fromImage (in category 'converting') -----
+ fromImage
+ | class |
+ class := self actualClass ifNil: [^ nil].
+ (class includesLocalSelector: selector) ifFalse: [^ nil].
+ ^(MethodReference new setStandardClass: class methodSymbol: selector) asMethodDefinition!
Item was added:
+ MCDefinitionIndex subclass: #MCImageBackedDefinitionIndex
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: 'Monticello-Patching'!
+
+ !MCImageBackedDefinitionIndex commentStamp: '<historical>' prior: 0!
+ When using definitionLike: ... I go to the image before giving up!
Item was added:
+ MCSnapshot subclass: #MCImageBackedSnapshot
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: 'Monticello-Patching'!
Item was changed:
----- Method: MCMethodDefinition>>actualClassIn: (in category 'accessing') -----
actualClassIn: anEnvironment
+ ^ (theClass := anEnvironment classNamed: className)
+ ifNotNilDo: [:class | classIsMeta ifTrue: [class classSide] ifFalse: [class]]!
- ^ theClass := anEnvironment at: className
- ifPresent: [:class | classIsMeta ifTrue: [class classSide] ifFalse: [class]]!
Item was added:
+ ----- Method: MCSnapshot>>definitionIndex (in category 'patching') -----
+ definitionIndex
+ ^ MCDefinitionIndex definitions: definitions!
More information about the Packages
mailing list