Skip to content

Commit c945a66

Browse files
authored
Merge pull request #16498 from jecisc/announcer/remove-users-of-singleton
Remove some users of SystemAnnoucer class>>#uniqueInstance
2 parents b2b94cc + f4367c1 commit c945a66

14 files changed

+49
-52
lines changed

src/Kernel-CodeModel-Tests/PackageAnnouncementsTest.class.st

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ PackageAnnouncementsTest >> setUp [
1919
{ #category : 'running' }
2020
PackageAnnouncementsTest >> tearDown [
2121

22-
SystemAnnouncer uniqueInstance unsubscribe: self.
22+
self class codeChangeAnnouncer unsubscribe: self.
2323
super tearDown
2424
]
2525

@@ -61,6 +61,23 @@ PackageAnnouncementsTest >> testAddExtensionMethodHasTheRightPackage [
6161
self assert: numberOfAnnouncements equals: 1
6262
]
6363

64+
{ #category : 'tests - classes' }
65+
PackageAnnouncementsTest >> testAnnouncementClassRemovedIsRaisedOnRemoveFromSystem [
66+
67+
| xPackage class |
68+
xPackage := self ensureXPackage.
69+
70+
class := self newClassNamed: #NewClass in: xPackage.
71+
72+
self when: ClassRemoved do: [ :ann |
73+
self assert: ann classRemoved originalName equals: #NewClass.
74+
self assert: ann packageAffected identicalTo: xPackage ].
75+
76+
class removeFromSystem.
77+
78+
self assert: numberOfAnnouncements equals: 1
79+
]
80+
6481
{ #category : 'tests - classes' }
6582
PackageAnnouncementsTest >> testClassRepackagedNotFiredAtAClassAddition [
6683

@@ -215,7 +232,7 @@ PackageAnnouncementsTest >> testSetPackageOfClassAnnounceClassRepackaged [
215232
{ #category : 'running' }
216233
PackageAnnouncementsTest >> when: anAnnouncement do: aBlock [
217234

218-
SystemAnnouncer uniqueInstance
235+
self class codeChangeAnnouncer
219236
when: anAnnouncement
220237
do: [ :ann |
221238
numberOfAnnouncements := numberOfAnnouncements + 1.

src/Kernel-CodeModel-Tests/PackageObsoleteTest.class.st

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,32 +4,11 @@ SUnit tests for Package
44
Class {
55
#name : 'PackageObsoleteTest',
66
#superclass : 'PackageTestCase',
7-
#instVars : [
8-
'notRun'
9-
],
107
#category : 'Kernel-CodeModel-Tests-Packages',
118
#package : 'Kernel-CodeModel-Tests',
129
#tag : 'Packages'
1310
}
1411

15-
{ #category : 'accessing' }
16-
PackageObsoleteTest >> setNotRun [
17-
notRun := true
18-
]
19-
20-
{ #category : 'tests' }
21-
PackageObsoleteTest >> testAnnouncementClassRemovedIsRaisedOnRemoveFromSystem [
22-
23-
| foo |
24-
[
25-
notRun := false.
26-
SystemAnnouncer uniqueInstance weak when: ClassRemoved send: #setNotRun to: self.
27-
foo := self newClassNamed: #FooForTest2 in: self xPackageName.
28-
self deny: notRun.
29-
foo removeFromSystem.
30-
self assert: notRun ] ensure: [ SystemAnnouncer uniqueInstance unsubscribe: self ]
31-
]
32-
3312
{ #category : 'tests' }
3413
PackageObsoleteTest >> testMethodPackageFromObsoleteClass [
3514

src/Kernel-Tests/AbstractClassDescriptionAnnouncementTest.class.st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ AbstractClassDescriptionAnnouncementTest >> tearDown [
2626
{ #category : 'running' }
2727
AbstractClassDescriptionAnnouncementTest >> when: anAnnouncement do: aBlock [
2828

29-
SystemAnnouncer uniqueInstance
29+
self class codeChangeAnnouncer
3030
when: anAnnouncement
3131
do: [ :ann |
3232
numberOfAnnouncements := numberOfAnnouncements + 1.

src/Keymapping-Pragmas/KMPragmaKeymapBuilder.class.st

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,19 +39,16 @@ KMPragmaKeymapBuilder class >> pragmas [
3939

4040
{ #category : 'system-events' }
4141
KMPragmaKeymapBuilder class >> registerInterestToSystemAnnouncement [
42+
4243
<systemEventRegistration>
43-
SystemAnnouncer uniqueInstance
44-
unsubscribe: self.
45-
SystemAnnouncer uniqueInstance weak
46-
when: MethodAdded, MethodModified, MethodRemoved
47-
send: #methodAnnouncementReceived:
48-
to: self
44+
self release.
45+
self codeChangeAnnouncer weak when: MethodAdded , MethodModified , MethodRemoved send: #methodAnnouncementReceived: to: self
4946
]
5047

5148
{ #category : 'instance creation' }
5249
KMPragmaKeymapBuilder class >> release [
5350

54-
SystemAnnouncer uniqueInstance unsubscribe: self
51+
self codeChangeAnnouncer unsubscribe: self
5552
]
5653

5754
{ #category : 'instance creation' }

src/Monticello-Tests/MCPackageTest.class.st

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,11 @@ MCPackageTest >> testUnload [
3838
MCPackageTest >> testUnloadWithAdditionalTracking [
3939
"This is to test against another entity removing the extension protocol as well."
4040

41-
SystemAnnouncer uniqueInstance when: MethodRemoved send: #aMethodRemoved: to: self.
42-
self assert: (SystemAnnouncer uniqueInstance hasSubscriber: self).
41+
| announcer |
42+
announcer := self class codeChangeAnnouncer.
43+
44+
announcer when: MethodRemoved send: #aMethodRemoved: to: self.
45+
self assert: (announcer hasSubscriber: self).
4346
self mockPackage unload.
4447
self deny: (testingEnvironment hasClassNamed: #MCMockClassA).
4548
self deny: (MCSnapshotTest includesSelector: #mockClassExtension).
@@ -48,6 +51,6 @@ MCPackageTest >> testUnloadWithAdditionalTracking [
4851
self assert: (Object subclasses
4952
detect: [ :c | c name = #MCMockClassA ]
5053
ifNone: [ ]) isNil.
51-
SystemAnnouncer uniqueInstance unsubscribe: self.
52-
self deny: (SystemAnnouncer uniqueInstance hasSubscriber: self)
54+
announcer unsubscribe: self.
55+
self deny: (announcer hasSubscriber: self)
5356
]

src/Monticello/MCPackageLoader.class.st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ MCPackageLoader >> basicLoadDefinitions [
7676
self loadClassDefinitions.
7777

7878
"We want to announce the addition of the methods only once all methods are loaded because the system might react to the annoucements and execute code requirement other methods from the classes we are loading."
79-
SystemAnnouncer uniqueInstance delayAnnouncementsAfter: [ additions select: [ :aDefinition | aDefinition isMethodDefinition ] thenDo: [ :definition | definition load ] ].
79+
self class codeChangeAnnouncer delayAnnouncementsAfter: [ additions select: [ :aDefinition | aDefinition isMethodDefinition ] thenDo: [ :definition | definition load ] ].
8080

8181
removals do: [ :each | each unload ] displayingProgress: 'Cleaning up...'.
8282

src/Monticello/MCWorkingCopy.class.st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ MCWorkingCopy class >> registry [
200200
{ #category : 'event registration' }
201201
MCWorkingCopy class >> unregisterForNotifications [
202202

203-
SystemAnnouncer uniqueInstance unsubscribe: self
203+
self codeChangeAnnouncer unsubscribe: self
204204
]
205205

206206
{ #category : 'operations' }

src/Shift-ClassBuilder-Tests/ShClassInstallerAnnouncementsTest.class.st

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ ShClassInstallerAnnouncementsTest >> setUp [
2020
{ #category : 'running' }
2121
ShClassInstallerAnnouncementsTest >> tearDown [
2222

23-
SystemAnnouncer uniqueInstance unsubscribe: self.
23+
self class codeChangeAnnouncer unsubscribe: self.
2424
super tearDown
2525
]
2626

@@ -70,7 +70,7 @@ ShClassInstallerAnnouncementsTest >> testRecompilingClassUsingTraitsDoesNotAnnou
7070
{ #category : 'protocol' }
7171
ShClassInstallerAnnouncementsTest >> when: anAnnouncement do: aBlock [
7272

73-
SystemAnnouncer uniqueInstance
73+
self class codeChangeAnnouncer
7474
when: anAnnouncement
7575
do: [ :ann |
7676
numberOfAnnouncements := numberOfAnnouncements + 1.

src/Shift-ClassBuilder/ShClassChanged.class.st

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@ Class {
1212

1313
{ #category : 'announcing' }
1414
ShClassChanged >> announceChanges [
15-
SystemAnnouncer uniqueInstance classDefinitionChangedFrom: oldClass to: builder newClass.
16-
SystemAnnouncer uniqueInstance classModificationAppliedTo: builder newClass
15+
16+
self class codeChangeAnnouncer
17+
classDefinitionChangedFrom: oldClass to: builder newClass;
18+
classModificationAppliedTo: builder newClass
1719
]
1820

1921
{ #category : 'announcing' }

src/Shift-ClassBuilder/ShMetaclassChanged.class.st

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@ Class {
1212

1313
{ #category : 'announcing' }
1414
ShMetaclassChanged >> announceChanges [
15-
SystemAnnouncer uniqueInstance classDefinitionChangedFrom: oldClass class to: builder newMetaclass.
16-
SystemAnnouncer uniqueInstance classModificationAppliedTo: builder newMetaclass
15+
16+
self class codeChangeAnnouncer
17+
classDefinitionChangedFrom: oldClass class to: builder newMetaclass;
18+
classModificationAppliedTo: builder newMetaclass
1719
]
1820

1921
{ #category : 'accessing' }

0 commit comments

Comments
 (0)