Support for searching for all implementors using Navigator
authorJan Vrany <jan.vrany@fit.cvut.cz>
Wed, 14 Jan 2015 16:33:53 +0000
changeset 373 1365a78e6e36
parent 372 84d4383f002e
child 375 5e95400de5f8
Support for searching for all implementors using Navigator
SmallSense__MethodPO.st
extensions.st
--- a/SmallSense__MethodPO.st	Wed Jan 14 15:48:59 2015 +0000
+++ b/SmallSense__MethodPO.st	Wed Jan 14 16:33:53 2015 +0000
@@ -153,11 +153,12 @@
      For internal usage only."
 
     classes size ~~ 1 ifTrue:[ 
-        self error: 'Multiple classes'
+        ^ classes collect:[ :cls | cls compiledMethodAt: selector ]
     ].
     ^ classes anElement compiledMethodAt: selector
 
     "Created: / 20-06-2014 / 11:11:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 14-01-2015 / 16:20:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !MethodPO methodsFor:'initialization'!
--- a/extensions.st	Wed Jan 14 15:48:59 2015 +0000
+++ b/extensions.st	Wed Jan 14 16:33:53 2015 +0000
@@ -738,6 +738,15 @@
                         self switchToClass: result mclass selector: result selector.
                         ^ true
                     ].
+                    result isCollection ifTrue:[ 
+                        (result allSatisfy:[:e|e isMethod]) ifTrue:[ 
+                            self  spawnMethodBrowserForSearch:[ result ] 
+                                  sortBy:#class 
+                                  in:#newBuffer 
+                                  label:(resources string: 'Implementors of %1' with: result anElement selector storeString)
+                        ].
+                        ^ true
+                    ].
                     ^ true
                 ].
             ].
@@ -750,7 +759,7 @@
     "
 
     "Created: / 10-01-2015 / 13:37:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 10-01-2015 / 15:23:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 14-01-2015 / 16:30:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !Tools::NewSystemBrowser class methodsFor:'utilities'!