--- a/Tools__VariableList.st Mon Aug 08 18:27:33 2011 +0200
+++ b/Tools__VariableList.st Mon Aug 08 18:28:30 2011 +0200
@@ -494,7 +494,7 @@
listOfVariables
|nameList numClasses classes class commonSubclass showingClassVars
- sortByName|
+ sortByName classesAlreadyProcessed|
classHolder isNil ifTrue:[
"/ testing
@@ -521,21 +521,30 @@
"/ multiple classes - sort alphabetically ...
"/ unless there is a common subclass ...
nameList := Set new.
+ classesAlreadyProcessed := IdentitySet new.
classes do:[:class |
- showingClassVars ifTrue:[
- self showingInheritedClassVars ifTrue:[
- class theNonMetaclass withAllSuperclassesDo:[:cls|
+ (classesAlreadyProcessed includes:class) ifFalse:[
+ showingClassVars ifTrue:[
+ self showingInheritedClassVars ifTrue:[
+ class theNonMetaclass withAllSuperclassesDo:[:cls|
+ (classesAlreadyProcessed includes:cls) ifFalse:[
+ nameList addAll:
+ (cls classVarNames collect:[:nm|self listEntryForClass: cls name: nm]).
+ classesAlreadyProcessed add:cls.
+ ]
+ ]
+ ] ifFalse:[
nameList addAll:
- (cls classVarNames collect:[:nm|self listEntryForClass: cls name: nm])
+ (class classVarNames collect:[:nm|self listEntryForClass: class name: nm])
]
] ifFalse:[
- nameList addAll:
- (class classVarNames collect:[:nm|self listEntryForClass: class name: nm])
- ]
- ] ifFalse:[
- class withAllSuperclassesDo:[:cls|
- nameList addAll:
- (cls classVarNames collect:[:nm|self listEntryForClass: cls name: nm])
+ class withAllSuperclassesDo:[:cls|
+ (classesAlreadyProcessed includes:cls) ifFalse:[
+ nameList addAll:
+ (cls classVarNames collect:[:nm|self listEntryForClass: cls name: nm]).
+ classesAlreadyProcessed add:cls.
+ ]
+ ]
]
]
].
@@ -569,8 +578,8 @@
^ nameList
"Created: / 05-02-2000 / 13:42:11 / cg"
- "Modified: / 26-02-2000 / 01:05:36 / cg"
"Modified: / 28-04-2011 / 13:18:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 08-08-2011 / 16:20:58 / cg"
!
postBuildWith:aBuilder
@@ -720,5 +729,5 @@
!VariableList class methodsFor:'documentation'!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools__VariableList.st,v 1.11 2011-08-05 11:35:48 vrany Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__VariableList.st,v 1.12 2011-08-08 16:28:30 cg Exp $'
! !