'From Squeak3.2gamma of 15 January 2002 [latest update: #4743] on 2 December 2002 at 6:04:02 pm'! "Change Set: finderHack Date: 2 December 2002 Author: Bob Arning A rude hack to let the pointerFinder chase references through CompiledMethods."! !PointerFinder methodsFor: 'application' stamp: 'RAA 12/2/2002 18:03'! follow: anObject from: parentObject anObject == goal ifTrue: [parents at: anObject put: parentObject. ^ true]. anObject isLiteral ifTrue: [^ false]. anObject class isPointers ifFalse: [anObject class == CompiledMethod ifFalse: [^ false]]. anObject class isWeak ifTrue: [^ false]. (parents includesKey: anObject) ifTrue: [^ false]. parents at: anObject put: parentObject. toDoNext add: anObject. ^ false! ! !PointerFinder methodsFor: 'application' stamp: 'RAA 12/2/2002 18:03'! followObject: anObject (self follow: anObject class from: anObject) ifTrue: [^ true]. anObject class == CompiledMethod ifTrue: [ anObject literals do: [ :each | (self follow: each from: anObject) ifTrue: [^ true] ]. ^false. ]. 1 to: anObject class instSize do: [:i | (self follow: (anObject instVarAt: i) from: anObject) ifTrue: [^ true]]. 1 to: anObject basicSize do: [:i | (self follow: (anObject basicAt: i) from: anObject) ifTrue: [^ true]]. ^ false! !