pharo
pharo copied to clipboard
OldClassDefinitionBuilder does not manage import of classes with nil as superclass
Because it is filed out as two statements and not one.
For example:
ProtoObject subclass: #C4
instanceVariableNames: ''
classVariableNames: ''
package: 'Generated-Trait-Test-Package'.
C4 superclass: nil
Originally, in ST80 this was:
nil subclass: #C4
instanceVariableNames: ''
classVariableNames: ''
package: 'Generated-Trait-Test-Package'.
This means that UndefinedObject would have to implement all the many, many methods... if we want to support nil subclasses for all possibilities.
ST80 just implemented the one needed for Object (later ProptoObject), there was no way to create e.g. a variable subclass of nil.
Setting the nil in a second expression means one can do all kinds of subclasses of nil and remove the API.
But it makes actually dealing with this class def very complex, as it is now completely not uniform anymore.
Do we care of old definition?