diff -r 1f387878f9c6 -r a57b8a71a061 Tools__VariableList.st --- 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 " + "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 $' ! !