2016-07-26 15:08 GMT+02:00 Denis Kudriashov <[email protected]>:

> Hi.
>
> Look at UndefinedObject instance side methods. You will see class
> hierarchy protocol. For example nil understands #subclasses message:
>
> nil subclasses "==> {ProtoObject}"
>
>
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"



>
> It implemented like this:
>
> UndefinedObject >>subclassesDo: aBlock
> "Evaluate aBlock with all subclasses of nil.  Others are not direct
> subclasses of Class."
>
> ^ Class subclassesDo: [:cl |
> cl isMeta ifTrue: [aBlock value: cl soleInstance]].
>
>
>
> 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.
>

Reply via email to