Class.st
changeset 12507 41ac4792b598
parent 12415 4fc8895fb7aa
child 12509 0a69e1d87ba3
--- 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 $'
 ! !