Searching the image for text

Jimmie Houchin j.squeak at cyberhaus.us
Sat Sep 22 16:12:34 UTC 2007


Thank you, thank you, thank you.

Very informative and enlightening.

I will most definitely begin using this knowledge. :)

This is tremendous. Very, very sweet. :)

Thanks.

Jimmie

Bert Freudenberg wrote:
> On Sep 22, 2007, at 15:52 , Jimmie Houchin wrote:
> 
>> What if I wanted to find an instance which had a variable which 
>> contained a certain literal string? Can I do that?
> 
> Sure thing. All objects in the image are accessible and can be 
> enumerated, and references traced. This is what inspectors and their 
> friends are for. You need to get a reference to your String first:
> 
>     String allSubInstances select: [:s | s = 'Kernel']
> 
> Press Cmd-i to get an inspector on these strings, it's 11 in my image. 
> Or use this to match substrings:
> 
>     String allSubInstances select: [:s | s includesSubString: 'Kernel']
> 
> Select one string, and in the menu select "objects pointing to this 
> value". This will get you all objects referencing that string. From 
> there you can continue to follow these references "backwards". A cool 
> tool to do this is the pointer explorer from the same menu which lets 
> you explore where objects are referenced from.
> 
> Btw, I once closed a valuable workspace with some long series of 
> expressions in it. I used the #allSubInstances "trick" to get it back 
> before the garbage collector could free it :)
> 
>> While I am at it.
>>
>> Can you find or browse the source code for things not created in a 
>> browser?
>>
>> eg: Say someone more experienced than I wrote a small Class in a 
>> Workspace. Possibly closed the workspace, possibly after creating an 
>> instance of said Class. Would it show up in a browser? If not how 
>> would you access such again?
>>
>> Or access anything created in a Workspace and the particular text was 
>> deleted or the workspace closed?
> 
> There is no difference between classes created in a browser and those in 
> a workspace. You have to understand that neither classes nor the browser 
> is special - Everything Is An Object. The browser happens to be an 
> object that manipulates class objects, just as you would do in a workspace.
> 
> - Bert -
> 
> 
> 




More information about the Squeak-dev mailing list