The Trunk: System-mt.1089.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: System-mt.1089.mcz

commits-2
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.!