# HG changeset patch # User Claus Gittinger # Date 1557569793 -7200 # Node ID 7b0551a880c2ba29698a0518d0f0af09d6ebe7ba # Parent 41e03469a04fdb4365a7e56b812b9b4097c76533 #FEATURE by cg class: Tools::MethodList +messages sent filter changed: #isNameFilterMatchingSelector:method: class: Tools::MethodList class changed: #windowSpec diff -r 41e03469a04f -r 7b0551a880c2 Tools__MethodList.st --- a/Tools__MethodList.st Sat May 11 12:16:13 2019 +0200 +++ b/Tools__MethodList.st Sat May 11 12:16:33 2019 +0200 @@ -1,3 +1,5 @@ +"{ Encoding: utf8 }" + " COPYRIGHT (c) 2000 by eXept Software AG All Rights Reserved @@ -212,9 +214,10 @@ model: nameFilterTypeHolder comboList: (Array - 'Ss' 'Tt' '-Ss' '-Tt' '-' + 'Ss' 'Tt' 'Mm' '-Ss' '-Tt' '-' 'S' '-S' 'T' '-T' + 'M' ) useIndex: false extent: (Point 45 26) @@ -260,6 +263,8 @@ ) ) + + "Modified: / 11-05-2019 / 11:22:02 / Claus Gittinger" ! ! !MethodList class methodsFor:'plugIn spec'! @@ -1218,7 +1223,13 @@ ! isNameFilterMatchingSelector:sel method:mthd - "true if the method matches the current nameFilter" + "true if the method matches the current nameFilter. + The namefilter is one of: + S/Ss - show methods where the selector matches / matches case ignoring + T/Tt - show methods containing a string with case / case ignoring + M/Mm - show methods sending a message with case / case ignoring + -xx - negation; which do not match + " |source filterType doesMatch caseSensitive positiveMatch| @@ -1233,7 +1244,7 @@ caseSensitive := true. positiveMatch := true. - (#('Ss' '-Ss' 'Tt' '-Tt') includes:filterType) ifTrue:[ + (#('Ss' '-Ss' 'Tt' '-Tt' 'Mm' '-Mm') includes:filterType) ifTrue:[ caseSensitive := false. filterType := filterType copyButLast. ]. @@ -1253,6 +1264,21 @@ ^ doesMatch ]. + (filterType = 'M') ifTrue:[ + "/ messages-sent filter + nameFilter includesMatchCharacters ifTrue:[ + doesMatch := mthd messagesSent contains:[:sel | + nameFilter match:sel caseSensitive:caseSensitive. + ] + ] ifFalse:[ + doesMatch := mthd messagesSent contains:[:sel | + sel includesString:nameFilter caseSensitive:caseSensitive + ] + ]. + positiveMatch ifFalse:[^ doesMatch not ]. + ^ doesMatch + ]. + source := mthd source. (filterType = 'T') ifTrue:[ @@ -1272,6 +1298,7 @@ "Created: / 25-11-2017 / 12:04:21 / cg" "Modified: / 04-12-2017 / 23:42:12 / cg" + "Modified: / 11-05-2019 / 12:10:44 / Claus Gittinger" ! listOfMethodNames