SBrowser.st
changeset 204 6f4460d5a09d
parent 203 de8d39d459fd
child 215 244f3a9b2a60
--- a/SBrowser.st	Thu Nov 23 18:53:39 1995 +0100
+++ b/SBrowser.st	Fri Nov 24 11:31:36 1995 +0100
@@ -12,8 +12,8 @@
 
 ApplicationModel subclass:#SystemBrowser
 	 instanceVariableNames:'currentClass currentMethodCategory currentMethod currentSelector
-                showInstance actualClasslastMethodCategory aspect lockUpdates
-                autoSearch myLabel acceptClass'
+		showInstance actualClasslastMethodCategory aspect lockUpdates
+		autoSearch myLabel acceptClass'
 	 classVariableNames:'CheckForInstancesWhenRemovingClasses'
 	 poolDictionaries:''
 	 category:'Interface-Browsers'
@@ -251,6 +251,43 @@
 
 !
 
+browseSuperCallsIn:aCollectionOfClasses title:title
+    "launch a browser for all super sends in aCollectionOfClasses"
+
+    |sel browser searchBlock|
+
+    searchBlock := [:class :method :s | 
+	|parser|
+
+	parser := Parser parseMethod:method source in:class warnings:false.
+	parser notNil and:[parser usesSuper]
+    ].
+
+    browser := self browseMethodsIn:aCollectionOfClasses
+			      where:searchBlock
+			      title:title.
+
+    browser notNil ifTrue:[
+	browser autoSearch:'super' 
+    ].
+    ^ browser
+
+    "Created: 23.11.1995 / 14:08:55 / cg"
+!
+
+browseSuperCallsUnder:aClass
+    "launch a browser for all supersends in aClass and subclasses"
+
+    ^ self browseSuperCallsIn:(aClass withAllSubclasses)
+			title:('supersends (in or below ' , aClass name , ')')
+
+    "
+     SystemBrowser browseSuperCallsUnder:Number
+    "
+
+    "Created: 23.11.1995 / 12:06:06 / cg"
+!
+
 browseAllCallsOn:aSelectorString
     "launch a browser for all senders of aSelector"
 
@@ -1125,6 +1162,6 @@
 !SystemBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Attic/SBrowser.st,v 1.43 1995-11-23 17:53:39 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Attic/SBrowser.st,v 1.44 1995-11-24 10:31:36 cg Exp $'
 ! !
 SystemBrowser initialize!