Thanks Mariano. Now I understand :-)

Cheers

Óscar E A Callau

On 18 Oct 2010, at 16:52, Mariano Martinez Peck <[email protected]> wrote:

> 
> 
> 2010/10/18 Oscar E A Callau <[email protected]>
> 
> On Oct 18, 2010, at 14:44 , Mariano Martinez Peck wrote:
> 
>> On Mon, Oct 18, 2010 at 4:40 AM, Oscar E A Callau <[email protected]> 
>> wrote:
>> Hello all,
>> 
>> I was wondering what actually the inspector does in the following case:
>> 
>> When you explore (or inspect) the expression: Class environment
>> you get all classes in the system dictionary. If you navigate inside a 
>> class, for example AColorSelectorMorph, you can see all its properties and 
>> one of them is environment, if you go inside it, you get again all classes 
>> in the system dictionary. So, you can repeat this infinitely (or until you 
>> get run out of memory, I guess)
>> 
>> Is it the behavior of a lazy inspector? If true, why I cannot inspect a 
>> mutually-recursive class definition, like this:
>> 
>> Object subclass: #Foo
>>        instanceVariableNames: 'bar'
>>        classVariableNames: ''
>>        poolDictionaries: ''
>>        category: ''
>> 
>> Foo>>initialize
>>        bar:= Bar new
>> 
>> Object subclass: #Bar
>>        instanceVariableNames: 'foo'
>>        classVariableNames: ''
>>        poolDictionaries: ''
>>        category: ''
>> 
>> Foo>>initialize
>>        bar:= Foo new
>> 
>> here should be foo := Foo new.
>> 
>> Anyway, you should be able to browse these classes without problems.
>> The problems is in instance creation. For example, if you evaluate: Foo new.
> 
> Thanks Mariano. May be my question was not well explained. Of course if I 
> evaluate: Foo new, I get into a infinite loop. 1st question, when I'm 
> inspecting, I'm evaluating?
> 
> hehehehe yes :)  
> Just open a Transcript and inspect:   Transcript show: 'welooo' 
> and you will see 'welooo' in the transcript ;) 
> 
> What you actually inspect, is the result of the expression.
> 
> 
> 
> In the case that I mention above (Class enviroment) I got all classes in the 
> system and each of them has an environment, that is all classes, and so on. 
> Here, we have a infinite recursion.
> 
> I understand now. 
>  
> So, how the inspector get a lazy visualization of the it?
> 
> 
> I have no idea. But in this case, #environment  is a method, not an instVar 
> as your case.
> Maybe in the case of the methods, they are only displayed when clicking on it 
> (they just execute the compiledMethod). But this is just a guess.
> You should check the class Inspector and NewInspector.
> 
> Cheers
> 
> Mariano
>  
> Greetings 
> 
> 
> 
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> 
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to