Smalltalk.st
changeset 6217 e0f4f3959c49
parent 6188 38ebb7cd179b
child 6231 274fc37dab07
--- a/Smalltalk.st	Sat Nov 17 12:32:49 2001 +0100
+++ b/Smalltalk.st	Sat Nov 17 12:37:10 2001 +0100
@@ -1412,6 +1412,27 @@
     "
 !
 
+allClassCategories
+    "return a set of all class categories in the system"
+
+    |allCategories|
+
+    allCategories := Set new.
+    Smalltalk allClassesDo:[:cls |
+        allCategories add:cls category.
+    ].
+
+    allCategories := allCategories asOrderedCollection.
+    allCategories sort.
+    ^ allCategories
+
+    "
+     Smalltalk allClassCategories
+    "
+
+    "Created: / 17.11.2001 / 12:13:09 / cg"
+!
+
 allClassesAndMetaclassesDo:aBlock
     "evaluate the argument, aBlock for all classes and metaclasses in the system."
 
@@ -1488,12 +1509,8 @@
 
     aCategory notNil ifTrue:[
         classes := OrderedCollection new.
-        self allClassesDo:[:aClass |
-            aClass isMeta ifFalse:[
-                (aClass category = aCategory) ifTrue:[
-                    classes add:aClass
-                ]
-            ]
+        self allClassesInCategory:aCategory do:[:aClass |
+            classes add:aClass
         ].
         classes topologicalSort:[:a :b | b isSubclassOf:a].
         classes do:aBlock
@@ -1502,6 +1519,8 @@
     "
      Smalltalk allClassesInCategory:'Views-Basic' inOrderDo:[:aClass | aClass name printCR]
     "
+
+    "Modified: / 17.11.2001 / 12:18:15 / cg"
 !
 
 allClassesInOrderDo:aBlock
@@ -6084,5 +6103,5 @@
 !Smalltalk class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.514 2001-11-15 14:05:36 penk Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.515 2001-11-17 11:37:10 cg Exp $'
 ! !