Marcel Taeumel uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-mt.843.mcz==================== Summary ====================
Name: Collections-mt.843
Author: mt
Time: 12 July 2019, 10:01:59.574568 am
UUID: 7eec09f6-7031-2b40-af5a-8468dba01848
Ancestors: Collections-mt.842
Refactoring of #literalsDo: - Step 3 of 3.
For more information, see
http://forum.world.st/Please-Review-Refactoring-for-literalsDo-etc-tp5099756p5100896.html.
=============== Diff against Collections-mt.842 ===============
Item was changed:
----- Method: Dictionary>>unreferencedKeys (in category 'removing') -----
unreferencedKeys
"| uk | (Time millisecondsToRun: [uk := TextConstants unreferencedKeys]) -> uk"
^'Scanning for references . . .'
displayProgressFrom: 0
to: Smalltalk classNames size * 2
during: [ :bar |
| currentClass n associations referencedAssociations |
currentClass := nil.
n := 0.
associations := self associations asIdentitySet.
referencedAssociations := IdentitySet new: associations size.
self systemNavigation allSelectorsAndMethodsDo: [ :behavior :selector :method |
behavior == currentClass ifFalse: [
currentClass := behavior.
bar value: (n := n + 1) ].
+ method allLiteralsDo: [ :literal |
- method literalsDo: [ :literal |
(literal isVariableBinding and: [ associations includes: literal ]) ifTrue: [
referencedAssociations add: literal ] ] ].
(associations reject: [ :assoc | referencedAssociations includes: assoc ]) collect: [ :assoc| assoc key ] ]!