Merge jv
authorHG Automerge
Tue, 20 Dec 2016 10:11:45 +0000
branchjv
changeset 17216 47ff06181c21
parent 17215 4a42de8e888a (current diff)
parent 17172 0f005adca4d2 (diff)
child 17217 fdcba4359aff
Merge
ChangesBrowser.st
--- a/ChangesBrowser.st	Sun Dec 18 11:24:54 2016 +0000
+++ b/ChangesBrowser.st	Tue Dec 20 10:11:45 2016 +0000
@@ -6162,9 +6162,11 @@
 updateInfoAfterChangedSelection
     "update the info label"
 
-    |selection lineNr className nonMetaClassName metaClassName
+    |selection lineNr selectorOrNil className nonMetaClassName metaClassName
      nClassChanges nMethodChanges uniqueSelectors
-     lastLineNr firstLineNr countBeforeCurrent countAfterLast moreInfo|
+     lastLineNr firstLineNr 
+     countForClassBeforeCurrent countForClassAfterLast countForClassAndSelectorAfterLast 
+     moreInfo|
 
     selection := lineNr := changeListView selection.
     selection isNumber ifFalse:[
@@ -6188,6 +6190,7 @@
         infoHolder value:nil.
         ^ self
     ].
+    selectorOrNil := self selectorOfMethodChange:lineNr.
     
     nonMetaClassName := (className endsWith:' class')
                             ifTrue:[ className copyButLast:' class' size ]
@@ -6197,8 +6200,9 @@
     nClassChanges := nMethodChanges := 0.
     uniqueSelectors := Set new.
     lastLineNr := firstLineNr := nil.
-    countAfterLast := 0.
-    countBeforeCurrent := 0.
+    countForClassAfterLast := 0.
+    countForClassBeforeCurrent := 0.
+    countForClassAndSelectorAfterLast := 0.
     
     "/ count them all
     1 to:changeInfoList size do:[:i |
@@ -6206,17 +6210,24 @@
         
         nameOfChange := self realClassNameOfChange:i.
         ((nameOfChange = nonMetaClassName) or:[nameOfChange = metaClassName]) ifTrue:[
+            sel := self selectorOfMethodChange:i.
+            
             lastLineNr := i.
             firstLineNr := firstLineNr ? i.
-            i > lineNr 
-                ifTrue:[ countAfterLast := countAfterLast + 1 ]
-                ifFalse:[
-                    i < lineNr ifTrue:[
-                        countBeforeCurrent := countBeforeCurrent + 1
-                    ]
+            i > lineNr ifTrue:[ 
+                countForClassAfterLast := countForClassAfterLast + 1.
+                (nameOfChange = className 
+                  and:[ selectorOrNil notNil 
+                  and:[sel == selectorOrNil]]) ifTrue:[
+                    countForClassAndSelectorAfterLast := countForClassAndSelectorAfterLast + 1.
                 ].    
+            ] ifFalse:[
+                i < lineNr ifTrue:[
+                    countForClassBeforeCurrent := countForClassBeforeCurrent + 1
+                ]
+            ].    
             nClassChanges := nClassChanges + 1.
-            (sel := self selectorOfMethodChange:i) notNil ifTrue:[
+            sel notNil ifTrue:[
                 uniqueSelectors add:sel.
                 nMethodChanges := nMethodChanges + 1.
             ].
@@ -6232,8 +6243,11 @@
         firstLineNr == lineNr ifTrue:[
             moreInfo := resources string:'. This is the first for this class'.
         ].    
-        countAfterLast > 0 ifTrue:[
-            moreInfo := (moreInfo ? ''),(resources string:'. %1 more for this class ' with:countAfterLast).
+        countForClassAfterLast > 0 ifTrue:[
+            moreInfo := (moreInfo ? ''),(resources string:'. %1 more for this class' with:countForClassAfterLast).
+            countForClassAndSelectorAfterLast > 0 ifTrue:[
+                moreInfo := moreInfo,(resources string:'. %1 more for method' with:countForClassAndSelectorAfterLast).
+            ].    
         ].    
     ].