--- 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).
+ ].
].
].