# HG changeset patch # User HG Automerge # Date 1482228705 0 # Node ID 47ff06181c219af2ab5291fcde14b5831c9034e4 # Parent 4a42de8e888aa6dfe2841c2990502965cc467188# Parent 0f005adca4d27cf0e1f39b26403bc7b99cbd01d2 Merge diff -r 4a42de8e888a -r 47ff06181c21 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). + ]. ]. ].