Hi.

Look at UndefinedObject instance side methods. You will see class hierarchy
protocol. For example nil understands #subclasses message:

nil subclasses "==> {ProtoObject}"


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