From f4d7d0e2465258bd19bcf956be98fbda7a02cfd9 Mon Sep 17 00:00:00 2001 From: Clotilde Toullec <39184695+ClotildeToullec@users.noreply.github.com> Date: Tue, 13 May 2025 18:32:19 +0200 Subject: [PATCH 1/7] Delete src/Famix-Traits/FamixTHasImmediateSource.extension.st Commited after a bug in iceberg. Should be in FamixReplication. --- .../FamixTHasImmediateSource.extension.st | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 src/Famix-Traits/FamixTHasImmediateSource.extension.st diff --git a/src/Famix-Traits/FamixTHasImmediateSource.extension.st b/src/Famix-Traits/FamixTHasImmediateSource.extension.st deleted file mode 100644 index 5d3417269..000000000 --- a/src/Famix-Traits/FamixTHasImmediateSource.extension.st +++ /dev/null @@ -1,11 +0,0 @@ -Extension { #name : #FamixTHasImmediateSource } - -{ #category : #'*FamixReplication' } -FamixTHasImmediateSource >> knowsEnd [ - ^ self source isNotEmpty -] - -{ #category : #'*FamixReplication' } -FamixTHasImmediateSource >> knowsStart [ - ^ self source isNotEmpty -] From a5c8b521f571224b54dbd21f9146c27da4c0828d Mon Sep 17 00:00:00 2001 From: Clotilde Toullec <39184695+ClotildeToullec@users.noreply.github.com> Date: Thu, 15 May 2025 14:55:06 +0200 Subject: [PATCH 2/7] Remove extension methods that should not be here --- src/Famix-Traits/FamixTHasImmediateSource.trait.st | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/src/Famix-Traits/FamixTHasImmediateSource.trait.st b/src/Famix-Traits/FamixTHasImmediateSource.trait.st index 24749774b..1153b4b0c 100644 --- a/src/Famix-Traits/FamixTHasImmediateSource.trait.st +++ b/src/Famix-Traits/FamixTHasImmediateSource.trait.st @@ -63,16 +63,6 @@ FamixTHasImmediateSource >> hasSource [ ^ self source isEmptyOrNil not ] -{ #category : #'*FamixReplication' } -FamixTHasImmediateSource >> knowsEnd [ - ^ self source isNotEmpty -] - -{ #category : #'*FamixReplication' } -FamixTHasImmediateSource >> knowsStart [ - ^ self source isNotEmpty -] - { #category : #accessing } FamixTHasImmediateSource >> source [ From dd71a80936463c08f3be2d541d48a21263781527 Mon Sep 17 00:00:00 2001 From: Clotilde Toullec <39184695+ClotildeToullec@users.noreply.github.com> Date: Thu, 5 Jun 2025 14:06:33 +0200 Subject: [PATCH 3/7] Change Fame version for Moose 12 --- src/BaselineOfFamix/BaselineOfFamix.class.st | 1 + 1 file changed, 1 insertion(+) diff --git a/src/BaselineOfFamix/BaselineOfFamix.class.st b/src/BaselineOfFamix/BaselineOfFamix.class.st index f4ee646e9..2f5ff7815 100644 --- a/src/BaselineOfFamix/BaselineOfFamix.class.st +++ b/src/BaselineOfFamix/BaselineOfFamix.class.st @@ -70,6 +70,7 @@ BaselineOfFamix >> fame: spec [ | version | version := 'development'. + spec for: #( #'pharo11.x' #'pharo10.x' ) do: [ version := 'v1.1.9' ]. spec for: #( #'pharo8.x' #'pharo9.x' ) do: [ version := 'v1.1.6' ]. spec baseline: 'Fame' with: [ From 2d85840bf08627ea23dd36222ed08d2cd24b3710 Mon Sep 17 00:00:00 2001 From: CyrilFerlicot Date: Fri, 27 Jun 2025 14:16:38 +0200 Subject: [PATCH 4/7] Add #isComment Comments is an entity present in most MM. It would be nice to have a testing method for it. --- src/Famix-Java-Entities/FamixJavaEntity.class.st | 7 +++++++ src/Famix-MetamodelGeneration/FamixGenerator.class.st | 1 + src/Famix-PharoSmalltalk-Entities/FamixStEntity.class.st | 7 +++++++ src/Famix-Test1-Entities/FamixTest1Entity.class.st | 7 +++++++ src/Famix-Test2-Entities/FamixTest2Entity.class.st | 7 +++++++ src/Famix-Test3-Entities/FamixTest3Entity.class.st | 7 +++++++ src/Famix-Test3-Entities/FamixTest3TypeGroup.class.st | 7 +++++++ src/Famix-Test6-Entities/FamixTest6Entity.class.st | 7 +++++++ src/Famix-Test7-Entities/FamixTest7Entity.class.st | 7 +++++++ .../FamixTestComposed1Entity.class.st | 7 +++++++ .../FamixTestComposed2Entity.class.st | 7 +++++++ src/Famix-Traits/FamixTComment.trait.st | 7 +++++++ .../MooseMSEImporterTestEntity.class.st | 7 +++++++ 13 files changed, 85 insertions(+) diff --git a/src/Famix-Java-Entities/FamixJavaEntity.class.st b/src/Famix-Java-Entities/FamixJavaEntity.class.st index 7828ed21d..6f080e8f3 100644 --- a/src/Famix-Java-Entities/FamixJavaEntity.class.st +++ b/src/Famix-Java-Entities/FamixJavaEntity.class.st @@ -70,6 +70,13 @@ FamixJavaEntity >> isClass [ ^ false ] +{ #category : #testing } +FamixJavaEntity >> isComment [ + + + ^ false +] + { #category : #testing } FamixJavaEntity >> isEnumValue [ diff --git a/src/Famix-MetamodelGeneration/FamixGenerator.class.st b/src/Famix-MetamodelGeneration/FamixGenerator.class.st index 3ae6e0103..dbfea6a0e 100644 --- a/src/Famix-MetamodelGeneration/FamixGenerator.class.st +++ b/src/Famix-MetamodelGeneration/FamixGenerator.class.st @@ -1675,6 +1675,7 @@ FamixGenerator >> defineTraits [ tCanBeClassSide := builder newTraitNamed: #TCanBeClassSide. tComment := builder newTraitNamed: #TComment comment: self commentForTComment. + tComment withTesting. tCompilationUnit := builder newTraitNamed: #TCompilationUnit comment: self commentForTCompilationUnit. diff --git a/src/Famix-PharoSmalltalk-Entities/FamixStEntity.class.st b/src/Famix-PharoSmalltalk-Entities/FamixStEntity.class.st index 500b30b5e..bce25c55a 100644 --- a/src/Famix-PharoSmalltalk-Entities/FamixStEntity.class.st +++ b/src/Famix-PharoSmalltalk-Entities/FamixStEntity.class.st @@ -63,6 +63,13 @@ FamixStEntity >> isClass [ ^ false ] +{ #category : #testing } +FamixStEntity >> isComment [ + + + ^ false +] + { #category : #testing } FamixStEntity >> isGlobalVariable [ diff --git a/src/Famix-Test1-Entities/FamixTest1Entity.class.st b/src/Famix-Test1-Entities/FamixTest1Entity.class.st index e284715c5..3607a0fcc 100644 --- a/src/Famix-Test1-Entities/FamixTest1Entity.class.st +++ b/src/Famix-Test1-Entities/FamixTest1Entity.class.st @@ -56,6 +56,13 @@ FamixTest1Entity >> isClass [ ^ false ] +{ #category : #testing } +FamixTest1Entity >> isComment [ + + + ^ false +] + { #category : #testing } FamixTest1Entity >> isFileAnchor [ diff --git a/src/Famix-Test2-Entities/FamixTest2Entity.class.st b/src/Famix-Test2-Entities/FamixTest2Entity.class.st index 9897c8489..3541ac438 100644 --- a/src/Famix-Test2-Entities/FamixTest2Entity.class.st +++ b/src/Famix-Test2-Entities/FamixTest2Entity.class.st @@ -42,6 +42,13 @@ FamixTest2Entity >> isClass [ ^ false ] +{ #category : #testing } +FamixTest2Entity >> isComment [ + + + ^ false +] + { #category : #testing } FamixTest2Entity >> isInheritance [ diff --git a/src/Famix-Test3-Entities/FamixTest3Entity.class.st b/src/Famix-Test3-Entities/FamixTest3Entity.class.st index 76fa621e1..02c197fc8 100644 --- a/src/Famix-Test3-Entities/FamixTest3Entity.class.st +++ b/src/Famix-Test3-Entities/FamixTest3Entity.class.st @@ -63,6 +63,13 @@ FamixTest3Entity >> isClass [ ^ false ] +{ #category : #testing } +FamixTest3Entity >> isComment [ + + + ^ false +] + { #category : #testing } FamixTest3Entity >> isInvocation [ diff --git a/src/Famix-Test3-Entities/FamixTest3TypeGroup.class.st b/src/Famix-Test3-Entities/FamixTest3TypeGroup.class.st index 688aad15c..aedf6e6b9 100644 --- a/src/Famix-Test3-Entities/FamixTest3TypeGroup.class.st +++ b/src/Famix-Test3-Entities/FamixTest3TypeGroup.class.st @@ -55,6 +55,13 @@ FamixTest3TypeGroup >> isClass [ ^ false ] +{ #category : #testing } +FamixTest3TypeGroup >> isComment [ + + + ^ false +] + { #category : #testing } FamixTest3TypeGroup >> isInvocation [ diff --git a/src/Famix-Test6-Entities/FamixTest6Entity.class.st b/src/Famix-Test6-Entities/FamixTest6Entity.class.st index 747f2fed0..1e46431a4 100644 --- a/src/Famix-Test6-Entities/FamixTest6Entity.class.st +++ b/src/Famix-Test6-Entities/FamixTest6Entity.class.st @@ -28,6 +28,13 @@ FamixTest6Entity class >> metamodel [ ^ FamixTest6Model metamodel ] +{ #category : #testing } +FamixTest6Entity >> isComment [ + + + ^ false +] + { #category : #testing } FamixTest6Entity >> isNamedEntity [ diff --git a/src/Famix-Test7-Entities/FamixTest7Entity.class.st b/src/Famix-Test7-Entities/FamixTest7Entity.class.st index 71719cbac..6e0c0e3b4 100644 --- a/src/Famix-Test7-Entities/FamixTest7Entity.class.st +++ b/src/Famix-Test7-Entities/FamixTest7Entity.class.st @@ -49,6 +49,13 @@ FamixTest7Entity >> isClass [ ^ false ] +{ #category : #testing } +FamixTest7Entity >> isComment [ + + + ^ false +] + { #category : #testing } FamixTest7Entity >> isInheritance [ diff --git a/src/Famix-TestComposedSubmetamodel1-Entities/FamixTestComposed1Entity.class.st b/src/Famix-TestComposedSubmetamodel1-Entities/FamixTestComposed1Entity.class.st index 7cfe76141..5863cbd7c 100644 --- a/src/Famix-TestComposedSubmetamodel1-Entities/FamixTestComposed1Entity.class.st +++ b/src/Famix-TestComposedSubmetamodel1-Entities/FamixTestComposed1Entity.class.st @@ -42,6 +42,13 @@ FamixTestComposed1Entity >> isClass [ ^ false ] +{ #category : #testing } +FamixTestComposed1Entity >> isComment [ + + + ^ false +] + { #category : #testing } FamixTestComposed1Entity >> isMethod [ diff --git a/src/Famix-TestComposedSubmetamodel2-Entities/FamixTestComposed2Entity.class.st b/src/Famix-TestComposedSubmetamodel2-Entities/FamixTestComposed2Entity.class.st index 47c3b421e..6a66a2932 100644 --- a/src/Famix-TestComposedSubmetamodel2-Entities/FamixTestComposed2Entity.class.st +++ b/src/Famix-TestComposedSubmetamodel2-Entities/FamixTestComposed2Entity.class.st @@ -42,6 +42,13 @@ FamixTestComposed2Entity >> isClass [ ^ false ] +{ #category : #testing } +FamixTestComposed2Entity >> isComment [ + + + ^ false +] + { #category : #testing } FamixTestComposed2Entity >> isMethod [ diff --git a/src/Famix-Traits/FamixTComment.trait.st b/src/Famix-Traits/FamixTComment.trait.st index ab5e908ed..3c0ef967d 100644 --- a/src/Famix-Traits/FamixTComment.trait.st +++ b/src/Famix-Traits/FamixTComment.trait.st @@ -100,6 +100,13 @@ FamixTComment >> displayStringOn: aStream [ self commentedEntity displayStringOn: aStream ] +{ #category : #testing } +FamixTComment >> isComment [ + + + ^ true +] + { #category : #printing } FamixTComment >> printOn: aStream [ diff --git a/src/Moose-Core-Tests-Entities/MooseMSEImporterTestEntity.class.st b/src/Moose-Core-Tests-Entities/MooseMSEImporterTestEntity.class.st index 02bd40349..5fcc70325 100644 --- a/src/Moose-Core-Tests-Entities/MooseMSEImporterTestEntity.class.st +++ b/src/Moose-Core-Tests-Entities/MooseMSEImporterTestEntity.class.st @@ -56,6 +56,13 @@ MooseMSEImporterTestEntity >> isClass [ ^ false ] +{ #category : #testing } +MooseMSEImporterTestEntity >> isComment [ + + + ^ false +] + { #category : #testing } MooseMSEImporterTestEntity >> isInheritance [ From 4e7e44ddc38223c1ba5f63ca4a9693e446c62d11 Mon Sep 17 00:00:00 2001 From: ClotildeToullec Date: Mon, 1 Dec 2025 15:31:18 +0100 Subject: [PATCH 5/7] Famix master should use Fame v1.1.9 --- src/BaselineOfFamix/BaselineOfFamix.class.st | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/BaselineOfFamix/BaselineOfFamix.class.st b/src/BaselineOfFamix/BaselineOfFamix.class.st index 2f5ff7815..e10f4d19e 100644 --- a/src/BaselineOfFamix/BaselineOfFamix.class.st +++ b/src/BaselineOfFamix/BaselineOfFamix.class.st @@ -70,7 +70,7 @@ BaselineOfFamix >> fame: spec [ | version | version := 'development'. - spec for: #( #'pharo11.x' #'pharo10.x' ) do: [ version := 'v1.1.9' ]. + spec for: #( #'pharo13.x' #'pharo12.x' #'pharo11.x' #'pharo10.x' ) do: [ version := 'v1.1.9' ]. spec for: #( #'pharo8.x' #'pharo9.x' ) do: [ version := 'v1.1.6' ]. spec baseline: 'Fame' with: [ From 5c7d4f0f4a23fad6383c5c4b45c6e6eaf5436ecf Mon Sep 17 00:00:00 2001 From: Clotilde Toullec <39184695+ClotildeToullec@users.noreply.github.com> Date: Mon, 1 Dec 2025 15:39:25 +0100 Subject: [PATCH 6/7] Update pull-request.yml --- .github/workflows/pull-request.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 490200820..def98636a 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -15,7 +15,7 @@ jobs: fail-fast: false matrix: smalltalk-config: [ .github/workflows/famix-config.ston, .github/workflows/famixCpp-config.ston, .github/workflows/criticBrowser-config.ston, .github/workflows/famixFortran-config.ston ] - smalltalk-image: [ Pharo64-11 ] + smalltalk-image: [ Pharo64-12, Pharo64-13 ] include: - smalltalk-config: .github/workflows/famix-config.ston name: Famix tests From c890c170d102c9d6b82262df2cb08943444cb8b7 Mon Sep 17 00:00:00 2001 From: Bart Debersaques Date: Wed, 28 Jan 2026 12:52:04 +0100 Subject: [PATCH 7/7] fix: proposal to solve "FamixUMLRoassalBackend does not show all relevant associations when displaying CoastersCollector example" as illustrated in https://github.com/moosetechnology/Famix/issues/1070 --- .../FamixUMLRoassalDescriptor.class.st | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/Famix-UMLDocumentor/FamixUMLRoassalDescriptor.class.st b/src/Famix-UMLDocumentor/FamixUMLRoassalDescriptor.class.st index 0a6fa60c7..f248f0b44 100644 --- a/src/Famix-UMLDocumentor/FamixUMLRoassalDescriptor.class.st +++ b/src/Famix-UMLDocumentor/FamixUMLRoassalDescriptor.class.st @@ -36,6 +36,16 @@ FamixUMLRoassalDescriptor >> aggregations [ (self umlClassNamed: aggreg source) -> (self umlClassNamed: aggreg target) ]) ] +{ #category : #accessing } +FamixUMLRoassalDescriptor >> associations [ + + ^(umlModel + select: [ :umlEntity | umlEntity class = FamixUMLAssociation and: [ umlEntity aggregation = #off ]] + thenCollect: [ :use | + (self umlClassNamed: use target) -> (self umlClassNamed: use source) ]) + +] + { #category : #accessing } FamixUMLRoassalDescriptor >> compositions [