--- a/Tools__ClassSorter.st Wed Jul 26 17:35:18 2017 +0200
+++ b/Tools__ClassSorter.st Thu Jul 27 09:38:48 2017 +0200
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
"
COPYRIGHT (c) 2006 by eXept Software AG
All Rights Reserved
@@ -48,19 +50,20 @@
!ClassSorter methodsFor:'filtering'!
sort: classes
- "Sort nodes according to their position in the class hierarchy"
+ "Sort nodes according to their position in the class hierarchy"
+
+ | supersChain |
- | supersChain |
- self initializeResults.
- classes do:
- [:class |
- supersChain := class withAllSuperclasses reversed.
- supersChain removeAllSuchThat: [:cl | (classes includes: cl) not].
- order add: supersChain "contents" -> class].
- self buildIndentIndex.
- ^self collectSortedClasses
+ self initializeResults.
+ classes do:[:eachClass |
+ supersChain := eachClass withAllSuperclasses intersect:classes.
+ order add: supersChain reverse "contents" -> eachClass
+ ].
+ self buildIndentIndex.
+ ^ self collectSortedClasses
"Modified: / 21-01-2008 / 19:43:24 / janfrog"
+ "Modified: / 27-07-2017 / 09:38:20 / stefan"
! !
!ClassSorter methodsFor:'private'!
@@ -71,9 +74,10 @@
!
collectSortedClasses
- ^order asArray collect: [:assoc | assoc value]
+ ^ order collect:[:assoc | assoc value] as:Array
"Created: / 21-01-2008 / 19:41:54 / janfrog"
+ "Modified (format): / 25-07-2017 / 18:05:14 / stefan"
!
initializeResults
@@ -95,9 +99,10 @@
!ClassSorter class methodsFor:'documentation'!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools__ClassSorter.st,v 1.1 2011-07-01 13:28:45 cg Exp $'
+ ^ '$Header$'
!
version_SVN
- ^ '§Id: Tools__ClassSorter.st 7486 2009-10-26 22:06:24Z vranyj1 §'
+ ^ '$Id$'
! !
+