[Pharo-project] 1.2: class var #Instance not allowed
siguctua at gmail.com
Wed Feb 2 14:32:19 CET 2011
2011/2/2 Janko Mivšek <janko.mivsek at eranova.si>:
> Hi guys,
> One more problem: if some class have a class variable named #Instance,
> it is not loadable anymore.
> It seems that problem is in Class>>bindingOf: method, where check is
> done in a "declared environment", which happens to be a global
> SystemDictionary, where a class Instance actually exists.
> This means that no class var with a name which collides with a name of
> class is allowed?
The bug is not in the #bindingOf:
it just answers (correctly) that for given name there are already a
binding exists in system.
So, it should be allowed to declare the class variable with same name.
But there are some nuances:
- what to do if supeclass also defining binding for this name?
- what if pool dicitonary in (super)class defines binding for given name?
should we allow shadowing of these cases as well, or just for globals?
> "Next look in declared environment."
> binding := self environment bindingOf: aSymbol.
> binding ifNotNil:[^binding].
> Strack trace follows in next mail
> Janko Mivšek
> Smalltalk Web Application Server
Igor Stasenko AKA sig.
More information about the Pharo-project