Jelajahi Sumber

format the methods better

Dale Henrichs 12 tahun lalu
induk
melakukan
848069872f
6 mengubah file dengan 79 tambahan dan 79 penghapusan
  1. 5 5
      js/Compiler.js
  2. 1 1
      js/IDE.js
  3. 2 2
      js/Kernel-Objects.js
  4. 49 49
      st/Compiler.st
  5. 4 4
      st/IDE.st
  6. 18 18
      st/Kernel-Objects.st

+ 5 - 5
js/Compiler.js

@@ -172,7 +172,7 @@ smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_methodDict
 smalltalk.send(aStream, "_lf", []);
 return self;},
 args: ["aClass", "aStream"],
-source: unescape('exportMethodsOf%3A%20aClass%20on%3A%20aStream%0A%20%20%20%20%22Issue%20%23143%3A%20sort%20methods%20alphabetically%22%0A%0A%20%20%20%20%28%28aClass%20methodDictionary%20values%29%20sorted%3A%20%5B%3Aa%20%3Ab%20%7C%20a%20selector%20%3C%3D%20b%20selector%5D%29%20do%3A%20%5B%3Aeach%20%7C%0A%20%20%20%20%20%20%20%20%28each%20category%20match%3A%20%27%5E%5C*%27%29%20ifFalse%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20self%20exportMethod%3A%20each%20of%3A%20aClass%20on%3A%20aStream%5D%5D.%0A%20%20%20%20aStream%20lf'),
+source: unescape('exportMethodsOf%3A%20aClass%20on%3A%20aStream%0A%09%22Issue%20%23143%3A%20sort%20methods%20alphabetically%22%0A%0A%09%28%28aClass%20methodDictionary%20values%29%20sorted%3A%20%5B%3Aa%20%3Ab%20%7C%20a%20selector%20%3C%3D%20b%20selector%5D%29%20do%3A%20%5B%3Aeach%20%7C%0A%09%09%28each%20category%20match%3A%20%27%5E%5C*%27%29%20ifFalse%3A%20%5B%0A%09%09%09self%20exportMethod%3A%20each%20of%3A%20aClass%20on%3A%20aStream%5D%5D.%0A%09aStream%20lf'),
 messageSends: ["do:", "sorted:", "values", "methodDictionary", unescape("%3C%3D"), "selector", "ifFalse:", "match:", "category", "exportMethod:of:on:", "lf"],
 referencedClasses: []
 }),
@@ -224,7 +224,7 @@ var name=nil;
 smalltalk.send(smalltalk.send((smalltalk.Package || Package), "_sortedClasses_", [smalltalk.send(smalltalk.send((smalltalk.Smalltalk || Smalltalk), "_current", []), "_classes", [])]), "_do_", [(function(each){return smalltalk.send([each,smalltalk.send(each, "_class", [])], "_do_", [(function(aClass){return smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_methodDictionary", []), "_values", []), "_sorted_", [(function(a, b){return ((($receiver = smalltalk.send(a, "_selector", [])).klass === smalltalk.Number) ? $receiver <=smalltalk.send(b, "_selector", []) : smalltalk.send($receiver, "__lt_eq", [smalltalk.send(b, "_selector", [])]));})]), "_do_", [(function(method){return ((($receiver = smalltalk.send(smalltalk.send(method, "_category", []), "_match_", [smalltalk.send(unescape("%5E%5C*"), "__comma", [name])])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self, "_exportMethod_of_on_", [method, each, aStream]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return smalltalk.send(self, "_exportMethod_of_on_", [method, each, aStream]);})]));})]);})]);})]);
 return self;},
 args: ["package", "aStream"],
-source: unescape('exportPackageExtensionsOf%3A%20package%20on%3A%20aStream%0A%20%20%20%20%22Issue%20%23143%3A%20sort%20classes%20and%20methods%20alphabetically%22%0A%0A%20%20%20%20%7C%20name%20%7C%0A%20%20%20%20name%20%3A%3D%20package%20name.%0A%20%20%20%20%28Package%20sortedClasses%3A%20Smalltalk%20current%20classes%29%20do%3A%20%5B%3Aeach%20%7C%0A%20%20%20%20%20%20%20%20%7Beach.%20each%20class%7D%20do%3A%20%5B%3AaClass%20%7C%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%28%28aClass%20methodDictionary%20values%29%20sorted%3A%20%5B%3Aa%20%3Ab%20%7C%20a%20selector%20%3C%3D%20b%20selector%5D%29%20do%3A%20%5B%3Amethod%20%7C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%28method%20category%20match%3A%20%27%5E%5C*%27%2C%20name%29%20ifTrue%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20self%20exportMethod%3A%20method%20of%3A%20each%20on%3A%20aStream%20%5D%5D%5D%5D'),
+source: unescape('exportPackageExtensionsOf%3A%20package%20on%3A%20aStream%0A%09%22Issue%20%23143%3A%20sort%20classes%20and%20methods%20alphabetically%22%0A%0A%09%7C%20name%20%7C%0A%09name%20%3A%3D%20package%20name.%0A%09%28Package%20sortedClasses%3A%20Smalltalk%20current%20classes%29%20do%3A%20%5B%3Aeach%20%7C%0A%09%09%7Beach.%20each%20class%7D%20do%3A%20%5B%3AaClass%20%7C%20%0A%09%09%09%28%28aClass%20methodDictionary%20values%29%20sorted%3A%20%5B%3Aa%20%3Ab%20%7C%20a%20selector%20%3C%3D%20b%20selector%5D%29%20do%3A%20%5B%3Amethod%20%7C%0A%09%09%09%09%28method%20category%20match%3A%20%27%5E%5C*%27%2C%20name%29%20ifTrue%3A%20%5B%0A%09%09%09%09%09self%20exportMethod%3A%20method%20of%3A%20each%20on%3A%20aStream%20%5D%5D%5D%5D%0A'),
 messageSends: ["name", "do:", "sortedClasses:", "classes", "current", "class", "sorted:", "values", "methodDictionary", unescape("%3C%3D"), "selector", "ifTrue:", "match:", "category", unescape("%2C"), "exportMethod:of:on:"],
 referencedClasses: ["Package", "Smalltalk"]
 }),
@@ -329,7 +329,7 @@ smalltalk.send(smalltalk.send(methods, "_sorted_", [(function(a, b){return ((($r
 (function($rec){smalltalk.send($rec, "_nextPutAll_", [unescape("%20%21")]);smalltalk.send($rec, "_lf", []);return smalltalk.send($rec, "_lf", []);})(aStream);
 return self;},
 args: ["methods", "category", "aClass", "aStream"],
-source: unescape('exportMethods%3A%20methods%20category%3A%20category%20of%3A%20aClass%20on%3A%20aStream%0A%20%20%20%20%22Issue%20%23143%3A%20sort%20methods%20alphabetically%22%0A%0A%20%20%20%20aStream%0A%20%20%20%20%20%20%20%20nextPutAll%3A%20%27%21%27%2C%20%28self%20classNameFor%3A%20aClass%29%3B%0A%20%20%20%20%20%20%20%20nextPutAll%3A%20%27%20methodsFor%3A%20%27%27%27%2C%20category%2C%20%27%27%27%21%27.%0A%20%20%20%20%20%20%20%20%28methods%20sorted%3A%20%5B%3Aa%20%3Ab%20%7C%20a%20selector%20%3C%3D%20b%20selector%5D%29%20do%3A%20%5B%3Aeach%20%7C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20self%20exportMethod%3A%20each%20of%3A%20aClass%20on%3A%20aStream%5D.%0A%20%20%20%20aStream%20nextPutAll%3A%20%27%20%21%27%3B%20lf%3B%20lf'),
+source: unescape('exportMethods%3A%20methods%20category%3A%20category%20of%3A%20aClass%20on%3A%20aStream%0A%09%22Issue%20%23143%3A%20sort%20methods%20alphabetically%22%0A%0A%09aStream%0A%09%09nextPutAll%3A%20%27%21%27%2C%20%28self%20classNameFor%3A%20aClass%29%3B%0A%09%09nextPutAll%3A%20%27%20methodsFor%3A%20%27%27%27%2C%20category%2C%20%27%27%27%21%27.%0A%09%09%28methods%20sorted%3A%20%5B%3Aa%20%3Ab%20%7C%20a%20selector%20%3C%3D%20b%20selector%5D%29%20do%3A%20%5B%3Aeach%20%7C%0A%09%09%09%09self%20exportMethod%3A%20each%20of%3A%20aClass%20on%3A%20aStream%5D.%0A%09aStream%20nextPutAll%3A%20%27%20%21%27%3B%20lf%3B%20lf'),
 messageSends: ["nextPutAll:", unescape("%2C"), "classNameFor:", "do:", "sorted:", unescape("%3C%3D"), "selector", "exportMethod:of:on:", "lf"],
 referencedClasses: []
 }),
@@ -349,7 +349,7 @@ smalltalk.send(smalltalk.send(smalltalk.send(map, "_keys", []), "_sorted_", [(fu
 (methods=smalltalk.send(map, "_at_", [category]));return smalltalk.send(self, "_exportMethods_category_of_on_", [methods, category, aClass, aStream]);})]);
 return self;},
 args: ["aClass", "aStream"],
-source: unescape('exportMethodsOf%3A%20aClass%20on%3A%20aStream%0A%20%20%20%20%22Issue%20%23143%3A%20sort%20protocol%20alphabetically%22%0A%0A%20%20%20%20%7C%20map%20%7C%0A%20%20%20%20map%20%3A%3D%20Dictionary%20new.%0A%20%20%20%20aClass%20protocolsDo%3A%20%5B%3Acategory%20%3Amethods%20%7C%20%0A%20%20%20%20%20%20%20%20%28category%20match%3A%20%27%5E%5C*%27%29%20ifFalse%3A%20%5B%20map%20at%3A%20category%20put%3A%20methods%20%5D%5D.%0A%20%20%20%20%28map%20keys%20sorted%3A%20%5B%3Aa%20%3Ab%20%7C%20a%20%3C%3D%20b%20%5D%29%20do%3A%20%5B%3Acategory%20%7C%20%7C%20methods%20%7C%0A%20%20%20%20%20%20%20%20methods%20%3A%3D%20map%20at%3A%20category.%0A%20%20%20%20%20%20%20%20self%0A%20%20%20%20%20%20%20%20%20%20%20%20exportMethods%3A%20methods%0A%20%20%20%20%20%20%20%20%20%20%20%20category%3A%20category%0A%20%20%20%20%20%20%20%20%20%20%20%20of%3A%20aClass%0A%20%20%20%20%20%20%20%20%20%20%20%20on%3A%20aStream%20%5D%0A'),
+source: unescape('exportMethodsOf%3A%20aClass%20on%3A%20aStream%0A%09%22Issue%20%23143%3A%20sort%20protocol%20alphabetically%22%0A%0A%09%7C%20map%20%7C%0A%09map%20%3A%3D%20Dictionary%20new.%0A%09aClass%20protocolsDo%3A%20%5B%3Acategory%20%3Amethods%20%7C%20%0A%09%09%28category%20match%3A%20%27%5E%5C*%27%29%20ifFalse%3A%20%5B%20map%20at%3A%20category%20put%3A%20methods%20%5D%5D.%0A%09%28map%20keys%20sorted%3A%20%5B%3Aa%20%3Ab%20%7C%20a%20%3C%3D%20b%20%5D%29%20do%3A%20%5B%3Acategory%20%7C%20%7C%20methods%20%7C%0A%09%09methods%20%3A%3D%20map%20at%3A%20category.%0A%09%09self%0A%09%09%09exportMethods%3A%20methods%0A%09%09%09category%3A%20category%0A%09%09%09of%3A%20aClass%0A%09%09%09on%3A%20aStream%20%5D'),
 messageSends: ["new", "protocolsDo:", "ifFalse:", "match:", "at:put:", "do:", "sorted:", "keys", unescape("%3C%3D"), "at:", "exportMethods:category:of:on:"],
 referencedClasses: ["Dictionary"]
 }),
@@ -385,7 +385,7 @@ smalltalk.send(smalltalk.send((smalltalk.Package || Package), "_sortedClasses_",
 (methods=smalltalk.send(map, "_at_", [category]));return smalltalk.send(self, "_exportMethods_category_of_on_", [methods, category, each, aStream]);})]);})]);})]);
 return self;},
 args: ["package", "aStream"],
-source: unescape('exportPackageExtensionsOf%3A%20package%20on%3A%20aStream%0A%20%20%20%20%22We%20need%20to%20override%20this%20one%20too%20since%20we%20need%20to%20group%0A%20%20%20%20all%20methods%20in%20a%20given%20protocol%20under%20a%20leading%20methodsFor%3A%20chunk%0A%20%20%20%20for%20that%20class.%22%0A%0A%20%20%20%20%22Issue%20%23143%3A%20sort%20protocol%20alphabetically%22%0A%0A%20%20%20%20%7C%20name%20map%20%7C%0A%20%20%20%20name%20%3A%3D%20package%20name.%0A%20%20%20%20%28Package%20sortedClasses%3A%20Smalltalk%20current%20classes%29%20do%3A%20%5B%3Aeach%20%7C%0A%20%20%20%20%20%20%20%20%7Beach.%20each%20class%7D%20do%3A%20%5B%3AaClass%20%7C%0A%20%20%20%20%20%20%20%20%20%20%20%20map%20%3A%3D%20Dictionary%20new.%0A%20%20%20%20%20%20%20%20%20%20%20%20aClass%20protocolsDo%3A%20%5B%3Acategory%20%3Amethods%20%7C%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%28category%20match%3A%20%27%5E%5C*%27%2C%20name%29%20ifTrue%3A%20%5B%20map%20at%3A%20category%20put%3A%20methods%20%5D%5D.%0A%20%20%20%20%20%20%20%20%20%20%20%20%28map%20keys%20sorted%3A%20%5B%3Aa%20%3Ab%20%7C%20a%20%3C%3D%20b%20%5D%29%20do%3A%20%5B%3Acategory%20%7C%20%7C%20methods%20%7C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20methods%20%3A%3D%20map%20at%3A%20category.%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20self%20exportMethods%3A%20methods%20category%3A%20category%20of%3A%20each%20on%3A%20aStream%20%5D%5D%5D'),
+source: unescape('exportPackageExtensionsOf%3A%20package%20on%3A%20aStream%0A%09%22We%20need%20to%20override%20this%20one%20too%20since%20we%20need%20to%20group%0A%09all%20methods%20in%20a%20given%20protocol%20under%20a%20leading%20methodsFor%3A%20chunk%0A%09for%20that%20class.%22%0A%0A%09%22Issue%20%23143%3A%20sort%20protocol%20alphabetically%22%0A%0A%09%7C%20name%20map%20%7C%0A%09name%20%3A%3D%20package%20name.%0A%09%28Package%20sortedClasses%3A%20Smalltalk%20current%20classes%29%20do%3A%20%5B%3Aeach%20%7C%0A%09%09%7Beach.%20each%20class%7D%20do%3A%20%5B%3AaClass%20%7C%0A%09%09%09map%20%3A%3D%20Dictionary%20new.%0A%09%09%09aClass%20protocolsDo%3A%20%5B%3Acategory%20%3Amethods%20%7C%20%0A%09%09%09%09%28category%20match%3A%20%27%5E%5C*%27%2C%20name%29%20ifTrue%3A%20%5B%20map%20at%3A%20category%20put%3A%20methods%20%5D%5D.%0A%09%09%09%28map%20keys%20sorted%3A%20%5B%3Aa%20%3Ab%20%7C%20a%20%3C%3D%20b%20%5D%29%20do%3A%20%5B%3Acategory%20%7C%20%7C%20methods%20%7C%0A%09%09%09%09methods%20%3A%3D%20map%20at%3A%20category.%09%0A%09%09%09%09self%20exportMethods%3A%20methods%20category%3A%20category%20of%3A%20each%20on%3A%20aStream%20%5D%5D%5D'),
 messageSends: ["name", "do:", "sortedClasses:", "classes", "current", "class", "new", "protocolsDo:", "ifTrue:", "match:", unescape("%2C"), "at:put:", "sorted:", "keys", unescape("%3C%3D"), "at:", "exportMethods:category:of:on:"],
 referencedClasses: ["Package", "Smalltalk", "Dictionary"]
 }),

+ 1 - 1
js/IDE.js

@@ -344,7 +344,7 @@ smalltalk.send(aCollection, "_add_", [smalltalk.send(self, "_theClass", [])]);
 smalltalk.send(smalltalk.send(smalltalk.send(self, "_nodes", []), "_sorted_", [(function(a, b){return ((($receiver = smalltalk.send(smalltalk.send(a, "_theClass", []), "_name", [])).klass === smalltalk.Number) ? $receiver <=smalltalk.send(smalltalk.send(b, "_theClass", []), "_name", []) : smalltalk.send($receiver, "__lt_eq", [smalltalk.send(smalltalk.send(b, "_theClass", []), "_name", [])]));})]), "_do_", [(function(aNode){return smalltalk.send(aNode, "_traverseClassesWith_", [aCollection]);})]);
 return self;},
 args: ["aCollection"],
-source: unescape('traverseClassesWith%3A%20aCollection%0A%20%20%20%20%22sort%20classes%20alphabetically%20Issue%20%23143%22%0A%0A%20%20%20%20aCollection%20add%3A%20self%20theClass.%0A%20%20%20%20%28self%20nodes%20sorted%3A%20%5B%3Aa%20%3Ab%20%7C%20a%20theClass%20name%20%3C%3D%20b%20theClass%20name%20%5D%29%20do%3A%20%5B%3AaNode%20%7C%0A%20%20%20%20%20%20%20%20aNode%20traverseClassesWith%3A%20aCollection%20%5D.'),
+source: unescape('traverseClassesWith%3A%20aCollection%0A%09%22sort%20classes%20alphabetically%20Issue%20%23143%22%0A%0A%09aCollection%20add%3A%20self%20theClass.%0A%09%28self%20nodes%20sorted%3A%20%5B%3Aa%20%3Ab%20%7C%20a%20theClass%20name%20%3C%3D%20b%20theClass%20name%20%5D%29%20do%3A%20%5B%3AaNode%20%7C%0A%09%09aNode%20traverseClassesWith%3A%20aCollection%20%5D.'),
 messageSends: ["add:", "theClass", "do:", "sorted:", "nodes", unescape("%3C%3D"), "name", "traverseClassesWith:"],
 referencedClasses: []
 }),

+ 2 - 2
js/Kernel-Objects.js

@@ -3817,7 +3817,7 @@ var self=this;
 return smalltalk.send(smalltalk.send(self, "_class", []), "_sortedClasses_", [smalltalk.send(self, "_classes", [])]);
 return self;},
 args: [],
-source: unescape('sortedClasses%0A%20%20%20%20%22Answer%20all%20classes%20in%20the%20receiver%2C%20sorted%20by%20superclass/subclasses%20and%20by%20class%20name%20for%20common%20subclasses%20%28Issue%20%23143%29%22%0A%0A%20%20%20%20%5Eself%20class%20sortedClasses%3A%20self%20classes'),
+source: unescape('sortedClasses%0A%09%22Answer%20all%20classes%20in%20the%20receiver%2C%20sorted%20by%20superclass/subclasses%20and%20by%20class%20name%20for%20common%20subclasses%20%28Issue%20%23143%29%22%0A%0A%09%5Eself%20class%20sortedClasses%3A%20self%20classes'),
 messageSends: ["sortedClasses:", "class", "classes"],
 referencedClasses: []
 }),
@@ -4040,7 +4040,7 @@ smalltalk.send(nodes, "_do_", [(function(aNode){return smalltalk.send(aNode, "_t
 return expandedClasses;
 return self;},
 args: ["classes"],
-source: unescape('sortedClasses%3A%20classes%0A%20%20%20%20%22Answer%20classes%2C%20sorted%20by%20superclass/subclasses%20and%20by%20class%20name%20for%20common%20subclasses%20%28Issue%20%23143%29%22%0A%0A%20%20%20%20%7C%20children%20others%20nodes%20expandedClasses%20%7C%0A%20%20%20%20children%20%3A%3D%20%23%28%29.%0A%20%20%20%20others%20%3A%3D%20%23%28%29.%0A%20%20%20%20classes%20do%3A%20%5B%3Aeach%20%7C%0A%20%20%20%20%20%20%20%20%28classes%20includes%3A%20each%20superclass%29%0A%20%20%20%20%20%20%20%20%20%20%20%20ifFalse%3A%20%5Bchildren%20add%3A%20each%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20ifTrue%3A%20%5Bothers%20add%3A%20each%5D%5D.%0A%20%20%20%20nodes%20%3A%3D%20children%20collect%3A%20%5B%3Aeach%20%7C%0A%20%20%20%20%20%20%20%20ClassesListNode%20on%3A%20each%20browser%3A%20nil%20classes%3A%20others%20level%3A%200%5D.%0A%20%20%20%20nodes%20%3A%3D%20nodes%20sorted%3A%20%5B%3Aa%20%3Ab%20%7C%20a%20theClass%20name%20%3C%3D%20b%20theClass%20name%20%5D.%0A%20%20%20%20expandedClasses%20%3A%3D%20Array%20new.%0A%20%20%20%20nodes%20do%3A%20%5B%3AaNode%20%7C%0A%20%20%20%20%20%20%20%20aNode%20traverseClassesWith%3A%20expandedClasses%5D.%0A%20%20%20%20%5EexpandedClasses'),
+source: unescape('sortedClasses%3A%20classes%0A%09%22Answer%20classes%2C%20sorted%20by%20superclass/subclasses%20and%20by%20class%20name%20for%20common%20subclasses%20%28Issue%20%23143%29%22%0A%0A%09%7C%20children%20others%20nodes%20expandedClasses%20%7C%0A%09children%20%3A%3D%20%23%28%29.%0A%09others%20%3A%3D%20%23%28%29.%0A%09classes%20do%3A%20%5B%3Aeach%20%7C%0A%09%09%28classes%20includes%3A%20each%20superclass%29%0A%09%09%09ifFalse%3A%20%5Bchildren%20add%3A%20each%5D%0A%09%09%09ifTrue%3A%20%5Bothers%20add%3A%20each%5D%5D.%0A%09nodes%20%3A%3D%20children%20collect%3A%20%5B%3Aeach%20%7C%0A%09%09ClassesListNode%20on%3A%20each%20browser%3A%20nil%20classes%3A%20others%20level%3A%200%5D.%0A%09nodes%20%3A%3D%20nodes%20sorted%3A%20%5B%3Aa%20%3Ab%20%7C%20a%20theClass%20name%20%3C%3D%20b%20theClass%20name%20%5D.%0A%09expandedClasses%20%3A%3D%20Array%20new.%0A%09nodes%20do%3A%20%5B%3AaNode%20%7C%0A%09%09aNode%20traverseClassesWith%3A%20expandedClasses%5D.%0A%09%5EexpandedClasses'),
 messageSends: ["do:", "ifFalse:ifTrue:", "includes:", "superclass", "add:", "collect:", "on:browser:classes:level:", "sorted:", unescape("%3C%3D"), "name", "theClass", "new", "traverseClassesWith:"],
 referencedClasses: ["ClassesListNode", "Array"]
 }),

+ 49 - 49
st/Compiler.st

@@ -146,12 +146,12 @@ exportMethod: aMethod of: aClass on: aStream
 !
 
 exportMethodsOf: aClass on: aStream
-    "Issue #143: sort methods alphabetically"
+	"Issue #143: sort methods alphabetically"
 
-    ((aClass methodDictionary values) sorted: [:a :b | a selector <= b selector]) do: [:each |
-        (each category match: '^\*') ifFalse: [
-            self exportMethod: each of: aClass on: aStream]].
-    aStream lf
+	((aClass methodDictionary values) sorted: [:a :b | a selector <= b selector]) do: [:each |
+		(each category match: '^\*') ifFalse: [
+			self exportMethod: each of: aClass on: aStream]].
+	aStream lf
 !
 
 exportPackageDefinitionOf: package on: aStream
@@ -162,15 +162,15 @@ exportPackageDefinitionOf: package on: aStream
 !
 
 exportPackageExtensionsOf: package on: aStream
-    "Issue #143: sort classes and methods alphabetically"
-
-    | name |
-    name := package name.
-    (Package sortedClasses: Smalltalk current classes) do: [:each |
-        {each. each class} do: [:aClass | 
-            ((aClass methodDictionary values) sorted: [:a :b | a selector <= b selector]) do: [:method |
-                (method category match: '^\*', name) ifTrue: [
-                    self exportMethod: method of: each on: aStream ]]]]
+	"Issue #143: sort classes and methods alphabetically"
+
+	| name |
+	name := package name.
+	(Package sortedClasses: Smalltalk current classes) do: [:each |
+		{each. each class} do: [:aClass | 
+			((aClass methodDictionary values) sorted: [:a :b | a selector <= b selector]) do: [:method |
+				(method category match: '^\*', name) ifTrue: [
+					self exportMethod: method of: each on: aStream ]]]]
 ! !
 
 Exporter subclass: #ChunkExporter
@@ -234,30 +234,30 @@ exportMethod: aMethod of: aClass on: aStream
 !
 
 exportMethods: methods category: category of: aClass on: aStream
-    "Issue #143: sort methods alphabetically"
+	"Issue #143: sort methods alphabetically"
 
-    aStream
-        nextPutAll: '!!', (self classNameFor: aClass);
-        nextPutAll: ' methodsFor: ''', category, '''!!'.
-        (methods sorted: [:a :b | a selector <= b selector]) do: [:each |
-                self exportMethod: each of: aClass on: aStream].
-    aStream nextPutAll: ' !!'; lf; lf
+	aStream
+		nextPutAll: '!!', (self classNameFor: aClass);
+		nextPutAll: ' methodsFor: ''', category, '''!!'.
+		(methods sorted: [:a :b | a selector <= b selector]) do: [:each |
+				self exportMethod: each of: aClass on: aStream].
+	aStream nextPutAll: ' !!'; lf; lf
 !
 
 exportMethodsOf: aClass on: aStream
-    "Issue #143: sort protocol alphabetically"
+	"Issue #143: sort protocol alphabetically"
 
-    | map |
-    map := Dictionary new.
-    aClass protocolsDo: [:category :methods | 
-        (category match: '^\*') ifFalse: [ map at: category put: methods ]].
-    (map keys sorted: [:a :b | a <= b ]) do: [:category | | methods |
-        methods := map at: category.
-        self
-            exportMethods: methods
-            category: category
-            of: aClass
-            on: aStream ]
+	| map |
+	map := Dictionary new.
+	aClass protocolsDo: [:category :methods | 
+		(category match: '^\*') ifFalse: [ map at: category put: methods ]].
+	(map keys sorted: [:a :b | a <= b ]) do: [:category | | methods |
+		methods := map at: category.
+		self
+			exportMethods: methods
+			category: category
+			of: aClass
+			on: aStream ]
 !
 
 exportPackageDefinitionOf: package on: aStream
@@ -269,22 +269,22 @@ exportPackageDefinitionOf: package on: aStream
 !
 
 exportPackageExtensionsOf: package on: aStream
-    "We need to override this one too since we need to group
-    all methods in a given protocol under a leading methodsFor: chunk
-    for that class."
-
-    "Issue #143: sort protocol alphabetically"
-
-    | name map |
-    name := package name.
-    (Package sortedClasses: Smalltalk current classes) do: [:each |
-        {each. each class} do: [:aClass |
-            map := Dictionary new.
-            aClass protocolsDo: [:category :methods | 
-                (category match: '^\*', name) ifTrue: [ map at: category put: methods ]].
-            (map keys sorted: [:a :b | a <= b ]) do: [:category | | methods |
-                methods := map at: category.    
-                self exportMethods: methods category: category of: each on: aStream ]]]
+	"We need to override this one too since we need to group
+	all methods in a given protocol under a leading methodsFor: chunk
+	for that class."
+
+	"Issue #143: sort protocol alphabetically"
+
+	| name map |
+	name := package name.
+	(Package sortedClasses: Smalltalk current classes) do: [:each |
+		{each. each class} do: [:aClass |
+			map := Dictionary new.
+			aClass protocolsDo: [:category :methods | 
+				(category match: '^\*', name) ifTrue: [ map at: category put: methods ]].
+			(map keys sorted: [:a :b | a <= b ]) do: [:category | | methods |
+				methods := map at: category.	
+				self exportMethods: methods category: category of: each on: aStream ]]]
 ! !
 
 Exporter subclass: #StrippedExporter

+ 4 - 4
st/IDE.st

@@ -141,11 +141,11 @@ theClass: aClass
 !ClassesListNode methodsFor: 'visiting'!
 
 traverseClassesWith: aCollection
-    "sort classes alphabetically Issue #143"
+	"sort classes alphabetically Issue #143"
 
-    aCollection add: self theClass.
-    (self nodes sorted: [:a :b | a theClass name <= b theClass name ]) do: [:aNode |
-        aNode traverseClassesWith: aCollection ].
+	aCollection add: self theClass.
+	(self nodes sorted: [:a :b | a theClass name <= b theClass name ]) do: [:aNode |
+		aNode traverseClassesWith: aCollection ].
 ! !
 
 !ClassesListNode class methodsFor: 'instance creation'!

+ 18 - 18
st/Kernel-Objects.st

@@ -1219,9 +1219,9 @@ classes
 !
 
 sortedClasses
-    "Answer all classes in the receiver, sorted by superclass/subclasses and by class name for common subclasses (Issue #143)"
+	"Answer all classes in the receiver, sorted by superclass/subclasses and by class name for common subclasses (Issue #143)"
 
-    ^self class sortedClasses: self classes
+	^self class sortedClasses: self classes
 ! !
 
 !Package methodsFor: 'printing'!
@@ -1324,22 +1324,22 @@ named: aPackageName ifAbsent: aBlock
 !Package class methodsFor: 'sorting'!
 
 sortedClasses: classes
-    "Answer classes, sorted by superclass/subclasses and by class name for common subclasses (Issue #143)"
-
-    | children others nodes expandedClasses |
-    children := #().
-    others := #().
-    classes do: [:each |
-        (classes includes: each superclass)
-            ifFalse: [children add: each]
-            ifTrue: [others add: each]].
-    nodes := children collect: [:each |
-        ClassesListNode on: each browser: nil classes: others level: 0].
-    nodes := nodes sorted: [:a :b | a theClass name <= b theClass name ].
-    expandedClasses := Array new.
-    nodes do: [:aNode |
-        aNode traverseClassesWith: expandedClasses].
-    ^expandedClasses
+	"Answer classes, sorted by superclass/subclasses and by class name for common subclasses (Issue #143)"
+
+	| children others nodes expandedClasses |
+	children := #().
+	others := #().
+	classes do: [:each |
+		(classes includes: each superclass)
+			ifFalse: [children add: each]
+			ifTrue: [others add: each]].
+	nodes := children collect: [:each |
+		ClassesListNode on: each browser: nil classes: others level: 0].
+	nodes := nodes sorted: [:a :b | a theClass name <= b theClass name ].
+	expandedClasses := Array new.
+	nodes do: [:aNode |
+		aNode traverseClassesWith: expandedClasses].
+	^expandedClasses
 ! !
 
 Object subclass: #Point