The Trunk: Tools-eem.750.mcz

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

The Trunk: Tools-eem.750.mcz

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