2011/2/2 Janko Mivšek <janko.miv...@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? > Class>>bindingOf: > > ... > "Next look in declared environment." > binding := self environment bindingOf: aSymbol. > binding ifNotNil:[^binding]. > ... > > Strack trace follows in next mail > > > > > -- > Janko Mivšek > AIDA/Web > Smalltalk Web Application Server > http://www.aidaweb.si > > -- Best regards, Igor Stasenko AKA sig.