Hi.
Look at UndefinedObject instance side methods. You will see class hierarchy protocol. For example nil understands #subclasses message:
It implemented like this:
So my question is: why it needs to be like that? And does it really needed? I removed all this methods and not saw any problem. |
2016-07-26 15:08 GMT+02:00 Denis Kudriashov <[hidden email]>:
ProtoObjects superclass is nil, so maybe it just should behave the same way for all other objects. ByteString superclass subclasses includes: ByteString. "true" ProtoObject superclass subclasses includes: ProtoObject. "true"
|
Hi Nicolai,
It is (as Denis points out) a bug, showing some confusion, to try and program around this one case by adding class protocol to the undefined object. A horrible hack. Denis, you're right; that behaviour should be deleted.
|
Well the class definition of ProtoObject is ProtoObject subclass: #ProtoObject slots: { } classVariables: { } category: 'Kernel-Objects'. ProtoObject superclass: nil So I guess by setting the superclass to nil, it was added as a child, since UndefinedObject is still just an object :) On Tue, Jul 26, 2016 at 4:09 PM, Eliot Miranda <[hidden email]> wrote:
|
In reply to this post by Nicolai Hess-3-2
2016-07-26 15:33 GMT+02:00 Nicolai Hess <[hidden email]>:
It is true only for ProtoObject. If you will create another class with nil superclass, you will not see it here |
In reply to this post by Eliot Miranda-2
2016-07-26 16:09 GMT+02:00 Eliot Miranda <[hidden email]>:
I think so too :) |
In reply to this post by Denis Kudriashov
Bullseye.
|
Done 18820 2016-07-26 18:22 GMT+02:00 Eliot Miranda <[hidden email]>:
|
Free forum by Nabble | Edit this page |