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? 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. So, how the inspector get a lazy visualization of the it? Greetings
_______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
