BrowserView.st
changeset 1169 3d0ca3b8270a
parent 1164 efc737c75d9f
child 1171 319f4ed8c590
--- a/BrowserView.st	Mon Apr 28 22:32:07 1997 +0200
+++ b/BrowserView.st	Tue Apr 29 14:12:51 1997 +0200
@@ -6777,6 +6777,39 @@
     "Modified: 4.6.1996 / 22:47:27 / cg"
 !
 
+methodInvoke
+    "invoke the current method"
+
+    |w cls sel|
+
+    self checkMethodSelected ifFalse:[^ self].
+
+    w := currentMethod who.
+    w notNil ifTrue:[
+        cls := w methodClass.
+        cls notNil ifTrue:[
+            cls ~~ actualClass ifTrue:[
+                ^ self warn:'oops - obsolete class; please reselect class ...'
+            ].
+            cls isMeta ifTrue:[
+                cls := cls soleInstance
+            ] ifFalse:[
+                cls := nil
+            ].
+            cls notNil ifTrue:[
+                sel := w methodSelector.
+                sel notNil ifTrue:[
+                    actualClass perform:sel.
+                    ^ self
+                ]
+            ]
+        ].
+    ]. 
+    self warn:'cannot invoke method (no class)'
+
+    "Modified: 29.4.1997 / 11:24:30 / dq"
+!
+
 methodLocalSuperSends
     "launch a browser showing super sends in current class & subclasses"
 
@@ -6951,6 +6984,18 @@
                           )
         ].
 
+        actualClass isMeta ifTrue:[
+            labels := #(
+                          'invoke method'
+                          '-'
+                      )
+                      , labels.
+            selectors := #(
+                          methodInvoke
+                         )
+                      , selectors.
+        ].
+
         labels := labels , brkLabels.
         selectors := selectors , brkSelectors.
 
@@ -7163,6 +7208,7 @@
     "Created: 23.11.1995 / 12:02:29 / cg"
     "Modified: 18.12.1995 / 16:20:07 / stefan"
     "Modified: 15.4.1997 / 10:19:00 / cg"
+    "Modified: 29.4.1997 / 11:20:59 / dq"
 !
 
 methodMove
@@ -10056,6 +10102,6 @@
 !BrowserView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/BrowserView.st,v 1.297 1997-04-24 16:24:21 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/BrowserView.st,v 1.298 1997-04-29 12:12:51 cg Exp $'
 ! !
 BrowserView initialize!