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


Reply via email to