Hi all,
I have an Image model and it can fileIn code...
Simple steps:
[snip] Hmm, interesting. I've been able to build an Environment and persuaded ClassBuilder to create classes 'within' it.
[*] Note that in a child image the ProtoObject class inherits from a normal class in Squeak (e.g. Object);
Using an environment we can actually make subclasses of nil quite easily and having aanother class 'Object' is wierd seeming but feasible.
We make [child]ProtoObject class inherit from [Squeak]Object because we must send it messages while building the image.
The problem with defining this classes using ClassBuilder is that it refuses to build a class that redefine the classVariableNames: 'DependentsFields EventsFields ' already defined by [Squeak]Object :-)
Aside from getting sidtracked by the compiler bug stopping me installing a top environment (I'll be able to spell that without having to stop and think by the end of this thread!) I was getting a bit puzzled by the prospect of making the metaclasses be correct; I think I'm right in thinking that the metaclasses created for my new classes were actually subclasses of the Metaclass in the top environment. Eventually of course we would want to make our own class 'Metaclass' within our environment and then recompile all previous classes to correct the problem. Somewhere in there is a recursion that hurts my brain. Maybe your approach of having some special bootstrap code is better!
The connection between classes and metaclasses are realized while building the image (tracing).
I really want to see your code!
I want to share, but part of the tools are used for a private project and canĀ“t be made public as is. (hope you understand the point, I really want to share)
best, Ale.