diff -r c42314432692 -r 41ac4792b598 Class.st --- a/Class.st Fri Nov 06 00:15:35 2009 +0100 +++ b/Class.st Fri Nov 06 00:19:10 2009 +0100 @@ -382,6 +382,24 @@ "Modified: 22.1.1997 / 18:39:36 / cg" ! +flushSubclassInfoFor:aClass + "throw away (forget) the cached subclass information for aClass, as created + by #subclassInfo. + This is private protocol" + + aClass notNil ifTrue:[ + SubclassInfo notNil ifTrue:[ + SubclassInfo removeKey:aClass ifAbsent:[] + ] + ]. + + " + Class flushSubclassInfo + " + + "Modified: 22.1.1997 / 18:39:36 / cg" +! + subclassInfo "build & return a dictionary, containing the set of subclass for each class. This information is kept until explicitely flushed @@ -1981,8 +1999,8 @@ coll := SubclassInfo at:self ifAbsent:nil. coll notNil ifTrue:[ coll do:aBlock. + ^ self ]. - ^ self ]. coll := OrderedCollection new. @@ -5003,9 +5021,9 @@ !Class class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libbasic/Class.st,v 1.559 2009-10-31 12:27:34 cg Exp $' + ^ '$Header: /cvs/stx/stx/libbasic/Class.st,v 1.560 2009-11-05 23:19:10 cg Exp $' ! version_CVS - ^ '$Header: /cvs/stx/stx/libbasic/Class.st,v 1.559 2009-10-31 12:27:34 cg Exp $' + ^ '$Header: /cvs/stx/stx/libbasic/Class.st,v 1.560 2009-11-05 23:19:10 cg Exp $' ! !