--- a/ClassOrganizer.st Mon Jun 15 16:30:05 1998 +0200
+++ b/ClassOrganizer.st Sat Jun 20 13:21:55 1998 +0200
@@ -95,17 +95,20 @@
|set|
- set := IdentitySet new.
- class methodDictionary keysAndValuesDo:[:sel :m |
- set add:m category
+ categoryArray isNil ifTrue:[
+ set := IdentitySet new.
+ class methodDictionary keysAndValuesDo:[:sel :m |
+ set add:m category
+ ].
+ categoryArray := set asArray
].
- ^ set asArray
+ ^ categoryArray
"
SmallInteger organization categories
"
- "Modified: 19.6.1997 / 17:59:22 / cg"
+ "Modified: / 20.6.1998 / 12:26:49 / cg"
!
categoryOfElement:aSelectorSymbol
@@ -139,17 +142,20 @@
|set|
- set := IdentitySet new.
- class methodDictionary keysAndValuesDo:[:sel :m |
- set add:sel
+ elementArray isNil ifTrue:[
+ set := IdentitySet new.
+ class methodDictionary keysAndValuesDo:[:sel :m |
+ set add:sel
+ ].
+ elementArray := set asArray
].
- ^ set asArray
+ ^ elementArray
"
SmallInteger organization elements
"
- "Modified: / 1.11.1997 / 14:09:55 / cg"
+ "Modified: / 20.6.1998 / 12:27:23 / cg"
!
listAtCategoryNamed:aCategorySymbol
@@ -169,6 +175,19 @@
"
! !
+!ClassOrganizer methodsFor:'change & update'!
+
+update:something with:parameter from:changedObject
+ changedObject == class ifTrue:[
+ something == #methodTrap ifFalse:[
+ categoryArray := elementArray := categories := nil
+ ]
+ ].
+
+ "Created: / 20.6.1998 / 12:28:37 / cg"
+ "Modified: / 20.6.1998 / 12:30:14 / cg"
+! !
+
!ClassOrganizer methodsFor:'changing'!
changeFromString:organizationString
@@ -281,11 +300,18 @@
class:aClass
"set the class"
- class := aClass
+ class := aClass.
+ aClass addDependent:self.
+
+ "
+ ClassOrganizer organization
+ "
+
+ "Modified: / 20.6.1998 / 12:29:16 / cg"
! !
!ClassOrganizer class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic3/ClassOrganizer.st,v 1.13 1998-04-17 14:33:24 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic3/ClassOrganizer.st,v 1.14 1998-06-20 11:21:55 cg Exp $'
! !