Eliot Miranda uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-eem.750.mcz==================== Summary ====================
Name: Tools-eem.750
Author: eem
Time: 30 March 2017, 1:31:36.530145 pm
UUID: 2188b2e3-1681-43f0-aa6c-2df827745939
Ancestors: Tools-eem.749
Eliminate an explicit reference to MethodContext in the PointerFInder and make its access to the class of the context's receiver robust in the face of forwarders.
=============== Diff against Tools-eem.749 ===============
Item was changed:
----- Method: PointerExplorerWrapper>>contents (in category 'accessing') -----
contents
"Return the wrappers with the objects holding references to item. Eldest objects come first, weak only referencers are at the end and have parentheses around their identity hash."
| objects weakOnlyReferences |
objects := self object inboundPointersExcluding: { self. self item. model }.
weakOnlyReferences := OrderedCollection new.
objects removeAllSuchThat: [ :each |
each class == self class
or: [ each class == PointerExplorer
+ or: [ (each isContext
+ and: [ (each objectClass: each receiver) == PointerExplorer ] )
- or: [ (each class == MethodContext
- and: [ each receiver class == PointerExplorer ] )
or: [ (each pointsOnlyWeaklyTo: self object)
ifTrue: [ weakOnlyReferences add: each. true ]
ifFalse: [ false ] ] ] ] ].
^(objects replace: [ :each |
self class with: each name: each identityHash asString model: self object ])
addAll: (weakOnlyReferences replace: [ :each |
(self class with: each name: '(', each identityHash asString, ')' model: self object)
weakOnly: true;
yourself ]);
yourself!