diff --git a/Iceberg-Tests/RG2PackageDefinition.extension.st b/Iceberg-Tests/RG2PackageDefinition.extension.st index 85dc06e54f..93d826948c 100644 --- a/Iceberg-Tests/RG2PackageDefinition.extension.st +++ b/Iceberg-Tests/RG2PackageDefinition.extension.st @@ -3,16 +3,18 @@ Extension { #name : #RG2PackageDefinition } { #category : #'*Iceberg-Tests' } RG2PackageDefinition >> asMCSnapshot [ - | definitions | - - definitions := ((((self definedBehaviors reject: #isMeta) sorted: [:a :b | a name < b name ]) collect: #asMCDefinition), (self extensionMethods collect: #asMCDefinition)) asOrderedCollection. - definitions addAll: ((self definedBehaviors select: [:each | each isTrait and: [each classSide hasTraitComposition]]) - collect: [:aTrait | aTrait classSide asMCDefinition]). - - definitions addAll: ((self definedBehaviors, (self definedBehaviors collect: #classSide)) flatCollect: [ :behavior | - (behavior localMethods reject: [:each | (each parent instanceSide package = each package) not]) - collect: [ :method | method asMCDefinition] ]). - definitions add: (MCOrganizationDefinition categories: {name}). + | definitions | + definitions := ((((self definedBehaviors reject: #isMeta) sorted: [ :a :b | a name < b name ]) collect: #asMCDefinition) + , (self extensionMethods collect: #asMCDefinition)) asOrderedCollection. + definitions addAll: (self definedBehaviors + select: [ :each | each isTrait and: [ each classSide hasTraitComposition ] ] + thenCollect: [ :aTrait | aTrait classSide asMCDefinition ]). - ^ MCSnapshot fromDefinitions: definitions. + definitions addAll: (self definedBehaviors , (self definedBehaviors collect: #classSide) flatCollect: [ :behavior | + behavior localMethods + select: [ :each | each parent instanceSide package = each package ] + thenCollect: [ :method | method asMCDefinition ] ]). + definitions add: (MCOrganizationDefinition packageName: name). + + ^ MCSnapshot fromDefinitions: definitions ] diff --git a/Iceberg/IceMCPackageImporter.class.st b/Iceberg/IceMCPackageImporter.class.st index 80e7617eb9..6440392218 100644 --- a/Iceberg/IceMCPackageImporter.class.st +++ b/Iceberg/IceMCPackageImporter.class.st @@ -13,22 +13,21 @@ Class { { #category : #importing } IceMCPackageImporter >> importOn: aNode [ - + | packageNode snapshot definition | "If the version does not include the package, we do not calculate a snapshot nor import it" - (version includesPackageNamed: self packageName) - ifFalse: [ ^ self ]. - + (version includesPackageNamed: self packageName) ifFalse: [ ^ self ]. + definition := IcePackageDefinition named: self packageName. packageNode := aNode addChild: definition. definition path: packageNode path. - + snapshot := self snapshot. - snapshot definitions do: [ :e | + snapshot definitions do: [ :e | e accept: (IceMCDefinitionImporter new - packageNode: packageNode; - snapshot: snapshot; - yourself) ]. + packageNode: packageNode; + snapshot: snapshot; + yourself) ]. ^ packageNode ]