Status: FixProposed
Owner: [email protected]
Labels: Milestone-1.3
New issue 3836 by [email protected]: superfluous packageInfo
respondsTo: #overriddenMethods
http://code.google.com/p/pharo/issues/detail?id=3836
MCPackage>>snapshot
| packageInfo definitions categories |
packageInfo := self packageInfo.
definitions := OrderedCollection new.
categories := packageInfo systemCategories.
categories isEmpty ifFalse: [ definitions add: (MCOrganizationDefinition
categories: categories) ].
packageInfo methods do: [:ea | definitions add: ea asMethodDefinition]
displayingProgress: 'Snapshotting methods...'.
(packageInfo respondsTo: #overriddenMethods) ifTrue:
[packageInfo overriddenMethods
do: [:ea | definitions add:
(packageInfo
changeRecordForOverriddenMethod: ea) asMethodDefinition]
displayingProgress: 'Searching for overrides...'].
packageInfo classes do: [:ea | definitions addAll: ea classDefinitions]
displayingProgress: 'Snapshotting classes...'.
(packageInfo respondsTo: #hasPreamble) ifTrue: [
packageInfo hasPreamble ifTrue: [definitions add: (MCPreambleDefinition
from: packageInfo)].
packageInfo hasPostscript ifTrue: [definitions add:
(MCPostscriptDefinition from: packageInfo)].
packageInfo hasPreambleOfRemoval ifTrue: [definitions add:
(MCRemovalPreambleDefinition from: packageInfo)].
packageInfo hasPostscriptOfRemoval ifTrue: [definitions add:
(MCRemovalPostscriptDefinition from: packageInfo)]].
^ MCSnapshot fromDefinitions: definitions
MCPackage>>snapshot
| packageInfo definitions categories |
packageInfo := self packageInfo.
definitions := OrderedCollection new.
categories := packageInfo systemCategories.
categories isEmpty ifFalse: [ definitions add: (MCOrganizationDefinition
categories: categories) ].
packageInfo methods do: [:ea | definitions add: ea asMethodDefinition]
displayingProgress: 'Snapshotting methods...'.
packageInfo overriddenMethods
do: [:ea | definitions add:
(packageInfo
changeRecordForOverriddenMethod: ea) asMethodDefinition]
displayingProgress: 'Searching for overrides...'.
packageInfo classes do: [:ea | definitions addAll: ea classDefinitions]
displayingProgress: 'Snapshotting classes...'.
(packageInfo respondsTo: #hasPreamble) ifTrue: [
packageInfo hasPreamble ifTrue: [definitions add: (MCPreambleDefinition
from: packageInfo)].
packageInfo hasPostscript ifTrue: [definitions add:
(MCPostscriptDefinition from: packageInfo)].
packageInfo hasPreambleOfRemoval ifTrue: [definitions add:
(MCRemovalPreambleDefinition from: packageInfo)].
packageInfo hasPostscriptOfRemoval ifTrue: [definitions add:
(MCRemovalPostscriptDefinition from: packageInfo)]].
^ MCSnapshot fromDefinitions: definitions