Need help: obsolete class with no superclass

Ross Boylan RossBoylan at stanfordalumni.org
Mon Jun 24 20:39:12 UTC 2002


I am unable to get through the class hierarchy cleanup in update 4855 for 
3.2 gamma because I have a class with a nil superclass.  The cleanup code 
can not deal with this.

This is the remnant of a class I created; I'm not sure why it's still 
around at all.

In particular in ClassBuilder>>cleanupClassHierarchy: informer
	"Makes the class hierarchy consistent and removes obsolete classes from 
the SystemDictionary."
	| classes |
	Transcript cr; show: 'Start fixing the class hierarchy and cleaning up...'.
	Smalltalk garbageCollect.
	classes := Metaclass allInstances.
	classes keysAndValuesDo: [:index :meta |
		informer value:'Fixing  class hierarchy ', (index * 100 // classes size) 
printString,'%'.
		"Check classes before metaclasses (because Metaclass>>isObsolete
		checks whether the related class is obsolete)"
		meta allInstances do: [:each | self cleanupClassHierarchyFor: each].
		self cleanupClassHierarchyFor: meta.
	].
	Transcript show: 'DONE'.

It's the single instance of meta (which I think means the regular class) 
called AnObsoleteTaskTable that is generating the failure within 
cleanupClassHierarchyFor:.

Can anyone suggest a way to proceed?

Thanks.




More information about the Squeak-dev mailing list