> I do not understand why classVariables cannot shadow globals and take > precedence over them. > When I define a classVariable the resolution should take classVariable over > global.
Any kind of shadowing is disallowed in Smalltalk. I think this is part of the language design is quite broken and a rather static approach that is very strange in a dynamic language like Smalltalk. Not even Java has these kind of static restrictions. > Now what will happen if I define classVariable with a name that is ok in my > current image but will be present > in the future in the image I will load my code! Yes, this is the current semantics. The possibility to shadow globals would be very useful to replace globals in the context of a class hierarchy. I suggested already many years ago to replace all shadowing errors on all levels (temps, arguments, inst vars, class vars, pool vars, globals) with compiler warnings. Lukas -- Lukas Renggli www.lukas-renggli.ch
