Marcel Taeumel uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-mt.1089.mcz==================== Summary ====================
Name: System-mt.1089
Author: mt
Time: 2 September 2019, 4:27:00.273994 pm
UUID: c9c311b5-5625-ba44-90eb-ecfdc1216633
Ancestors: System-mt.1088
Adds some support for the empty symbol because some tests rely on it. Hmpf.
=============== Diff against System-mt.1088 ===============
Item was changed:
----- Method: SystemNavigation>>allSentMessagesWithout: (in category 'query') -----
allSentMessagesWithout: classesAndMessagesPair
"Answer the set of selectors which are sent somewhere in the system,
computed in the absence of the supplied classes and messages."
| sent absentClasses absentSelectors |
sent := IdentitySet new: CompiledMethod instanceCount.
absentClasses := classesAndMessagesPair first.
absentSelectors := classesAndMessagesPair second.
"sd 29/04/03"
Cursor execute showWhile: [
self environment allClassesAndTraitsDo: [:cls |
((absentClasses includes: cls)
ifTrue: [{}]
ifFalse: [{cls. cls classSide}])
do: [:each | (absentSelectors isEmpty
ifTrue: [each selectors]
ifFalse: [each selectors copyWithoutAll: absentSelectors])
do: [:sel | "Include all sels, but not if sent by self"
(each compiledMethodAt: sel) allLiteralsDo: [:m |
self flag: #dicuss. "mt: How to distinguish a symbol from a selector?"
+ (m isSymbol and: [m size > 0 and: [m first isLowercase]])
- (m isSymbol and: [m first isLowercase])
ifTrue: ["might be sent"
m == sel ifFalse: [sent add: m]].
]]]]].
"The following may be sent without being in any literal frame"
Smalltalk specialSelectorNames do: [:sel | sent add: sel].
Smalltalk presumedSentMessages do: [:sel | sent add: sel].
^ sent.!