Tools_ClassList.st
changeset 12466 c14bcbda280c
parent 12044 154236f3c686
child 12579 638b1166d05b
--- a/Tools_ClassList.st	Wed Mar 13 23:36:14 2013 +0100
+++ b/Tools_ClassList.st	Thu Mar 14 00:56:35 2013 +0100
@@ -1019,15 +1019,20 @@
 
     ^ Iterator 
         on:[:whatToDo |
-                |allEntry classes cls already anyMethod packages classIsInPackage showChanged changedClasses|
+                |allEntry classes cls already anyMethod packages classIsInPackage 
+                 showChanged changedClasses|
 
                 allEntry := self class nameListEntryForALL.
-                changedClasses := ChangeSet current changedClasses.
 
                 classes := self selectedClasses value ? #().
                 packages := packageFilter value value.
+
                 (packages notNil and:[packages includes:allEntry]) ifTrue:[packages := nil].
+
                 showChanged := packages notNil and:[packages includes:NavigatorModel nameListEntryForChanged].
+                showChanged ifTrue:[
+                    changedClasses := ChangeSet current changedClasses.
+                ].
 
                 classes do:[:cls |
                     (cls notNil and:[cls ~~ allEntry]) ifTrue:[
@@ -1043,7 +1048,9 @@
                                 whatToDo value:cls value:(self class nameListEntryForNonStatic).
                             ]
                         ] ifFalse:[
-                            cls supportsMethodCategories ifTrue:[
+                            cls supportsMethodCategories ifFalse:[
+                                whatToDo value:cls value:(self class nameListEntryForNILCategory).
+                            ] ifTrue:[
                                 already := Set new.
                                 cls methodDictionary keysAndValuesDo:[:sel :mthd |
                                     |cat|
@@ -1051,16 +1058,14 @@
                                     cat := mthd category.
                                     (already includes:cat) ifFalse:[
                                         (classIsInPackage
-                                        or:[packages isNil
-                                        or:[packages includes:mthd package]])
+                                            or:[packages isNil
+                                            or:[(packages includes:mthd package) ]])
                                         ifTrue:[
                                             already add:cat.
                                             whatToDo value:cls value:cat.
                                         ]
                                     ]
                                 ].
-                            ] ifFalse:[
-                                whatToDo value:cls value:(self class nameListEntryForNILCategory).
                             ].
                         ].
 
@@ -1081,20 +1086,25 @@
 
     ^ Iterator 
         on:[:whatToDo |
-                |allEntry classes cls already packages classIsInPackage showChanged cat |
+                |allEntry classes cls already packages classIsInPackage 
+                 showChanged changedClasses cat |
 
                 allEntry := self class nameListEntryForALL.
 
                 classes := self selectedClasses value ? #().
                 packages := packageFilter value value.
                 (packages notNil and:[packages includes:allEntry]) ifTrue:[packages := nil].
+
                 showChanged := packages notNil and:[packages includes:NavigatorModel nameListEntryForChanged].
+                showChanged ifTrue:[
+                    changedClasses := ChangeSet current changedClasses.
+                ].
 
                 classes do:[:cls |
                     (cls notNil and:[cls ~~ allEntry]) ifTrue:[
                         classIsInPackage := packages isNil 
                                             or:[(packages includes:cls package)
-                                            or:[ showChanged and:[ChangeSet current changedClasses includes:cls]] ].
+                                            or:[ showChanged and:[changedClasses includes:cls]] ].
                         cls isMeta ifTrue:[
                             cat := self class nameListEntryForStatic.
                         ] ifFalse:[
@@ -2016,9 +2026,10 @@
 !ClassList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.70 2012-11-07 14:21:22 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.71 2013-03-13 23:56:35 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.70 2012-11-07 14:21:22 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.71 2013-03-13 23:56:35 cg Exp $'
 ! !
+