SystemBrowser.st
changeset 2811 85f8454fbd26
parent 2770 da09dbcf45f8
child 2813 ebef400fdd3b
--- a/SystemBrowser.st	Fri Sep 29 19:31:38 2000 +0200
+++ b/SystemBrowser.st	Fri Oct 06 22:13:11 2000 +0200
@@ -2383,6 +2383,21 @@
 
 !
 
+findImplementorsOfAny:aCollectionOfSelectors in:aCollectionOfClasses ignoreCase:ignoreCase
+    "search for all implementors of any in aCollectionOfSelectors in
+     the classes contained in aCollectionOfClasses and its metaclasses.
+     Return a collection of methods.
+     CAVEAT: searches multiple times (could be tuned alot if heavily used)"
+
+    |implementors|
+
+    implementors := IdentitySet new.
+    aCollectionOfSelectors do:[:eachSelector |
+        implementors addAll:(self findImplementorsOf:eachSelector in:aCollectionOfClasses ignoreCase:ignoreCase).
+    ].
+    ^ implementors
+!
+
 findInstRefsTo:aString in:aCollectionOfClasses access:accessType
     "return all methods in aCollectionOfClasses where the instVar named
      aString is referenced; 
@@ -2513,6 +2528,29 @@
 
 !
 
+findSendersOfAny:aCollectionOfSelectors in:aCollectionOfClasses ignoreCase:ignoreCase
+    "search for all senders of any selector in aCollectionOfSelectors in
+     the classes contained in aCollectionOfClasses and its metaclasses.
+     Return a collection of methods.
+     CAVEAT: searches multiple times (could be tuned alot if heavily used)"
+
+    |allSenders|
+
+    allSenders := IdentitySet new.
+    aCollectionOfSelectors do:[:eachSelector |
+        allSenders addAll:(self allCallsOn:eachSelector in:aCollectionOfClasses ignoreCase:ignoreCase)
+    ].
+    ^ allSenders
+
+    "
+     SystemBrowser findSendersOfAny:#(#'+' #'-')
+                   in:(Array with:Number
+                             with:Float
+                             with:SmallInteger)
+                   ignoreCase:false  
+    "
+!
+
 findString:aString in:aCollectionOfClasses ignoreCase:ignoreCase
     "return a colelction of all methods in aCollectionOfClasses  
      containing a string in their source.
@@ -3036,6 +3074,6 @@
 !SystemBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/SystemBrowser.st,v 1.115 2000-09-10 11:36:25 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/SystemBrowser.st,v 1.116 2000-10-06 20:13:11 cg Exp $'
 ! !
 SystemBrowser initialize!