Hi. I tried to file-in the exported source but everytime I get the exception: "The identifier has no binding". I attached the source where somethig goes wrong. The message #binding is handled by BindingReference. It checks for nil and raises the exception. After the filein I have some classes in the image with no methods and the correct namespace is created too.
If anybody has an idea what could have gone wrong I would be happy. Right now I'm thinking of recreating the whole logic...
Regards Marco
NameSpace>>defineClass: className superclass: superID indexedType: typeName private: isPrivate instanceVariableNames: iVars classInstanceVariableNames: ciVars imports: pools category: category attributes: attributes
| superclass approved class cbr mbr | superID == nil ifTrue: [superclass := nil] ==> ifFalse: [superID binding isForClass ifTrue: [superclass := superID value] ifFalse: [self error: (#SuperclassMustBeAClass << #dialogs >> 'The superclass of a class must also be a class')]]. Behavior checkLegalBehaviorType: typeName. approved := SystemUtils validateClassName: className for: nil. approved == nil ifTrue: [^nil]. cbr := (BehaviorBuilderRecord forName: approved in: self) superclass: superclass; instVarString: iVars; category: category; attributes: attributes; behaviorType: typeName; importString: pools; private: isPrivate. (mbr := MetaclassBuilderRecord new) forInstance: cbr; instVarString: ciVars. class := ClassBuilder new addRecord: cbr; addRecord: mbr; reviseSystem. ^class