--- 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 $'
! !