add doIt to #initialize for private classes
authorClaus Gittinger <cg@exept.de>
Tue, 17 Sep 2002 12:27:06 +0200
changeset 6759 ef9508cda247
parent 6758 bc933037a1dc
child 6760 e62624827ffe
add doIt to #initialize for private classes
Class.st
--- a/Class.st	Tue Sep 17 11:10:06 2002 +0200
+++ b/Class.st	Tue Sep 17 12:27:06 2002 +0200
@@ -2569,7 +2569,7 @@
      Thus, if the version string is expanded (by CVS), the characterPositions of methods should not move"
 
     |collectionOfCategories copyrightMethod copyrightText comment versionMethod skippedMethods
-     meta|
+     meta classesImplementingInitialize|
 
     self isLoaded ifFalse:[
         ^ FileOutErrorSignal 
@@ -2714,11 +2714,25 @@
         "/
         "/ optionally an initialize message
         "/
+        classesImplementingInitialize := OrderedCollection new.
+
         (meta includesSelector:#initialize) ifTrue:[
-            self printClassNameOn:aStream. aStream nextPutAll:' initialize'.
-            aStream nextPutChunkSeparator.
-            aStream cr
-        ]
+            classesImplementingInitialize add:self
+        ].
+        self privateClassesSorted do:[:aPrivateClass |
+            (aPrivateClass theMetaclass includesSelector:#initialize) ifTrue:[
+                classesImplementingInitialize add:aPrivateClass
+            ]
+        ].
+        classesImplementingInitialize size ~~ 0 ifTrue:[
+            classesImplementingInitialize topologicalSort:[:a :b | b isSubclassOf:a].
+            aStream cr.
+            classesImplementingInitialize do:[:eachClass |
+                eachClass printClassNameOn:aStream. aStream nextPutAll:' initialize'.
+                aStream nextPutChunkSeparator.
+                aStream cr.
+            ].
+        ].
     ]
 
     "Created: / 15.11.1995 / 12:53:06 / cg"
@@ -4713,5 +4727,5 @@
 !Class class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Class.st,v 1.417 2002-09-04 10:32:53 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Class.st,v 1.418 2002-09-17 10:27:06 cg Exp $'
 ! !