checkin from browser
authorjames
Tue, 06 Nov 2001 16:42:01 +0100
changeset 1525 c91fbd9f8338
parent 1524 4efbd088b787
child 1526 8e62e3f56402
checkin from browser
MethodFinderWindow.st
--- a/MethodFinderWindow.st	Mon Nov 05 18:28:16 2001 +0100
+++ b/MethodFinderWindow.st	Tue Nov 06 16:42:01 2001 +0100
@@ -8,7 +8,7 @@
 		lookAtResultEditor'
 	classVariableNames:''
 	poolDictionaries:''
-	category:'MethodFinder-James'
+	category:'MethodFinder'
 !
 
 
@@ -36,38 +36,18 @@
        #(#WindowSpec
           #label: 'MethodFinder'
           #name: 'MethodFinder'
-          #min: #(#Point 10 10)
-          #max: #(#Point 1280 1024)
-          #bounds: #(#Rectangle 16 47 818 718)
+          #min: #(#Point nil nil)
+          #max: #(#Point nil nil)
+          #bounds: #(#Rectangle 16 47 566 447)
+          #menu: #menu
+          #forceRecursiveBackground: false
         )
         #component: 
        #(#SpecCollection
           #collection: #(
-           #(#ComboListSpec
-              #name: 'allowedArgments'
-              #layout: #(#LayoutFrame 0 0.201912 4 0 0 0.364397 22 0)
-              #model: #argCountHolder
-              #comboList: #argCountList
-              #useIndex: true
-            )
-           #(#ActionButtonSpec
-              #label: 'Search'
-              #name: 'Button1'
-              #layout: #(#LayoutFrame 0 0.426523 132 0 0 0.575866 154 0)
-              #translateLabel: true
-              #tabable: true
-              #model: #search
-            )
-           #(#ActionButtonSpec
-              #label: 'Clear'
-              #name: 'Button2'
-              #layout: #(#LayoutFrame 0 0.258065 132 0 0 0.407407 154 0)
-              #translateLabel: true
-              #model: #clear
-            )
            #(#SequenceViewSpec
               #name: 'List1'
-              #layout: #(#LayoutFrame 0 0 161 0 0 0.6 0 0.5)
+              #layout: #(#LayoutFrame 0 0 0 0.5 0 0.7 0 1)
               #hasHorizontalScrollBar: true
               #hasVerticalScrollBar: true
               #autoHideScrollBars: true
@@ -77,7 +57,7 @@
             )
            #(#SequenceViewSpec
               #name: 'List2'
-              #layout: #(#LayoutFrame 0 0.6 0 0 0 1 0 0.5)
+              #layout: #(#LayoutFrame 0 0.65 0 0 0 1 0 1)
               #hasHorizontalScrollBar: true
               #hasVerticalScrollBar: true
               #autoHideScrollBars: true
@@ -85,27 +65,36 @@
               #useIndex: false
               #sequenceList: #classOfResultHolder
             )
-           #(#HorizontalPanelViewSpec
-              #name: 'HorizontalPanel1'
-              #layout: #(#LayoutFrame 6 0 26 0 0 0.6 129 0)
-              #horizontalLayout: #fit
-              #verticalLayout: #fit
-              #horizontalSpace: 3
-              #verticalSpace: 3
+           #(#ViewSpec
+              #name: 'Box4'
+              #layout: #(#LayoutFrame 0 0 0 0 0 0.65 0 0.43)
               #component: 
              #(#SpecCollection
                 #collection: #(
-                 #(#WorkspaceSpec
-                    #name: 'ReceiverEditor'
-                    #tabable: true
-                    #hasHorizontalScrollBar: false
-                    #hasVerticalScrollBar: false
-                    #autoHideScrollBars: true
-                    #extent: #(#Point 156 103)
-                    #postBuildCallback: #receiverWidgetCreated:
+                 #(#LabelSpec
+                    #label: 'Reciever'
+                    #name: 'RecieverLabel'
+                    #layout: #(#LayoutFrame -4 0.0162791 7 0 -4 0.293023 18 0)
+                    #translateLabel: true
+                    #adjust: #left
                   )
-                 #(#VerticalPanelViewSpec
-                    #name: 'VerticalPanel1'
+                 #(#ComboListSpec
+                    #name: 'allowedArgments'
+                    #layout: #(#LayoutFrame 0 0.339535 2 0 0 0.653488 19 0)
+                    #model: #argCountHolder
+                    #comboList: #argCountList
+                    #useIndex: true
+                  )
+                 #(#LabelSpec
+                    #label: 'MessageAnswer'
+                    #name: 'MessageAnswerLabel'
+                    #layout: #(#LayoutFrame 0 0.6693 5 0 0 0.99023 17 0)
+                    #translateLabel: true
+                    #adjust: #left
+                  )
+                 #(#HorizontalPanelViewSpec
+                    #name: 'HorizontalPanel1'
+                    #layout: #(#LayoutFrame 0 0 20 0 0 1 0 1)
                     #horizontalLayout: #fit
                     #verticalLayout: #fit
                     #horizontalSpace: 3
@@ -113,112 +102,130 @@
                     #component: 
                    #(#SpecCollection
                       #collection: #(
-                       #(#ViewSpec
-                          #name: 'Box1'
-                          #visibilityChannel: #arg1BoxVisible
+                       #(#WorkspaceSpec
+                          #name: 'ReceiverEditor'
+                          #tabable: true
+                          #hasHorizontalScrollBar: false
+                          #hasVerticalScrollBar: false
+                          #autoHideScrollBars: true
+                          #extent: #(#Point 117 152)
+                          #postBuildCallback: #receiverWidgetCreated:
+                        )
+                       #(#VerticalPanelViewSpec
+                          #name: 'VerticalPanel1'
+                          #horizontalLayout: #fit
+                          #verticalLayout: #fit
+                          #horizontalSpace: 3
+                          #verticalSpace: 3
                           #component: 
                          #(#SpecCollection
                             #collection: #(
-                             #(#WorkspaceSpec
-                                #name: 'Arg1Editor'
-                                #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
-                                #tabable: true
-                                #hasHorizontalScrollBar: false
-                                #hasVerticalScrollBar: false
-                                #autoHideScrollBars: true
-                                #postBuildCallback: #argument1WidgetCreated:
+                             #(#ViewSpec
+                                #name: 'Box1'
+                                #visibilityChannel: #arg1BoxVisible
+                                #component: 
+                               #(#SpecCollection
+                                  #collection: #(
+                                   #(#WorkspaceSpec
+                                      #name: 'Arg1Editor'
+                                      #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+                                      #tabable: true
+                                      #hasHorizontalScrollBar: false
+                                      #hasVerticalScrollBar: false
+                                      #autoHideScrollBars: true
+                                      #postBuildCallback: #argument1WidgetCreated:
+                                    )
+                                   )
+                                 
+                                )
+                                #extent: #(#Point 117 49)
+                              )
+                             #(#ViewSpec
+                                #name: 'Box2'
+                                #visibilityChannel: #arg2BoxVisible
+                                #component: 
+                               #(#SpecCollection
+                                  #collection: #(
+                                   #(#WorkspaceSpec
+                                      #name: 'TextEditor5'
+                                      #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+                                      #tabable: true
+                                      #hasHorizontalScrollBar: false
+                                      #hasVerticalScrollBar: false
+                                      #autoHideScrollBars: true
+                                      #postBuildCallback: #argument2WidgetCreated:
+                                    )
+                                   )
+                                 
+                                )
+                                #extent: #(#Point 117 48)
+                              )
+                             #(#ViewSpec
+                                #name: 'Box3'
+                                #visibilityChannel: #arg3BoxVisible
+                                #component: 
+                               #(#SpecCollection
+                                  #collection: #(
+                                   #(#WorkspaceSpec
+                                      #name: 'TextEditor6'
+                                      #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+                                      #tabable: true
+                                      #hasHorizontalScrollBar: false
+                                      #hasVerticalScrollBar: false
+                                      #autoHideScrollBars: true
+                                      #postBuildCallback: #argument3WidgetCreated:
+                                    )
+                                   )
+                                 
+                                )
+                                #extent: #(#Point 117 49)
                               )
                              )
                            
                           )
-                          #extent: #(#Point 156 32)
+                          #extent: #(#Point 117 152)
                         )
-                       #(#ViewSpec
-                          #name: 'Box2'
-                          #visibilityChannel: #arg2BoxVisible
-                          #component: 
-                         #(#SpecCollection
-                            #collection: #(
-                             #(#WorkspaceSpec
-                                #name: 'TextEditor5'
-                                #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
-                                #tabable: true
-                                #hasHorizontalScrollBar: false
-                                #hasVerticalScrollBar: false
-                                #autoHideScrollBars: true
-                                #postBuildCallback: #argument2WidgetCreated:
-                              )
-                             )
-                           
-                          )
-                          #extent: #(#Point 156 33)
-                        )
-                       #(#ViewSpec
-                          #name: 'Box3'
-                          #visibilityChannel: #arg3BoxVisible
-                          #component: 
-                         #(#SpecCollection
-                            #collection: #(
-                             #(#WorkspaceSpec
-                                #name: 'TextEditor6'
-                                #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
-                                #tabable: true
-                                #hasHorizontalScrollBar: false
-                                #hasVerticalScrollBar: false
-                                #autoHideScrollBars: true
-                                #postBuildCallback: #argument3WidgetCreated:
-                              )
-                             )
-                           
-                          )
-                          #extent: #(#Point 156 32)
+                       #(#WorkspaceSpec
+                          #name: 'AnswerEditor'
+                          #tabable: true
+                          #hasHorizontalScrollBar: false
+                          #hasVerticalScrollBar: false
+                          #autoHideScrollBars: true
+                          #extent: #(#Point 118 152)
+                          #postBuildCallback: #messageAnswerWidgetCreated:
                         )
                        )
                      
                     )
-                    #extent: #(#Point 156 103)
-                  )
-                 #(#WorkspaceSpec
-                    #name: 'AnswerEditor'
-                    #tabable: true
-                    #hasHorizontalScrollBar: false
-                    #hasVerticalScrollBar: false
-                    #autoHideScrollBars: true
-                    #extent: #(#Point 157 103)
-                    #postBuildCallback: #messageAnswerWidgetCreated:
                   )
                  )
                
               )
             )
-           #(#LabelSpec
-              #label: 'MessageAnswer'
-              #name: 'MessageAnswerLabel'
-              #layout: #(#LayoutFrame 325 0 2 0 475 0 25 0)
-              #translateLabel: true
-              #adjust: #left
-            )
-           #(#LabelSpec
-              #label: 'Reciever'
-              #name: 'RecieverLabel'
-              #layout: #(#LayoutFrame 7 0 3 0 126 0 26 0)
-              #translateLabel: true
-              #adjust: #left
-            )
-           #(#WorkspaceSpec
-              #name: 'TextEditor4'
-              #layout: #(#LayoutFrame 0 0 0 0.5 0 1 0 1)
-              #model: #provideHelpComment
-              #hasHorizontalScrollBar: true
-              #hasVerticalScrollBar: true
-            )
-           #(#WorkspaceSpec
-              #name: 'Workspace1'
-              #layout: #(#LayoutFrame 0 0 0 0.5 0 0.5 0 1)
-              #model: #resultSelected
-              #hasHorizontalScrollBar: true
-              #hasVerticalScrollBar: true
-              #postBuildCallback: #lookAtResultEditor:
+           #(#ViewSpec
+              #name: 'Box5'
+              #layout: #(#LayoutFrame 53 0.224737 0 0.44 0 0.65 0 0.495578)
+              #component: 
+             #(#SpecCollection
+                #collection: #(
+                 #(#ActionButtonSpec
+                    #label: 'Clear'
+                    #name: 'Button2'
+                    #layout: #(#LayoutFrame 0 0 0 0 -5 0.5 0 1)
+                    #translateLabel: true
+                    #model: #clear
+                  )
+                 #(#ActionButtonSpec
+                    #label: 'Search'
+                    #name: 'Button1'
+                    #layout: #(#LayoutFrame 5 0.5 0 0 0 1 0 1)
+                    #translateLabel: true
+                    #tabable: true
+                    #model: #search
+                  )
+                 )
+               
+              )
             )
            )
          
@@ -226,10 +233,72 @@
       )
 ! !
 
+!MethodFinderWindow class methodsFor:'menu specs'!
+
+menu
+    "This resource specification was automatically generated
+     by the MenuEditor of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the MenuEditor may not be able to read the specification."
+
+    "
+     MenuEditor new openOnClass:MethodFinderWindow andSelector:#menu
+     (Menu new fromLiteralArrayEncoding:(MethodFinderWindow menu)) startUp
+    "
+
+    <resource: #menu>
+
+    ^ 
+     #(#Menu
+        #(
+         #(#MenuItem
+            #label: '&File'
+            #activeHelpKey: #file
+            #submenu: 
+           #(#Menu
+              #(
+               #(#MenuItem
+                  #label: 'Exit'
+                  #value: #closeRequest
+                  #activeHelpKey: #fileExit
+                )
+               )
+              nil
+              nil
+            )
+          )
+         #(#MenuItem
+            #label: 'Help'
+            #startGroup: #right
+            #submenu: 
+           #(#Menu
+              #(
+               #(#MenuItem
+                  #label: 'Documentation'
+                  #value: #openHTMLDocumentation
+                  #activeHelpKey: #helpTutorial
+                )
+               #(#MenuItem
+                  #label: 'About MenuEditor...'
+                  #value: #openAboutThisApplication
+                  #activeHelpKey: #aboutThisAppliaction
+                )
+               )
+              nil
+              nil
+            )
+          )
+         )
+        nil
+        nil
+      )
+! !
+
 !MethodFinderWindow methodsFor:'accessing'!
 
 receiver
-    "return the value of the instance variable 'receiver' (automatically generated)"
+    "Return a copy of the value of the instance variable 'receiver' "
 
     ^ receiver copy
 ! !
@@ -237,6 +306,16 @@
 !MethodFinderWindow methodsFor:'actions'!
 
 argumentEditorsContents
+
+"Determine how many text editors of the arguments are used and store the result
+as argCounter. The result being the minimum between how many editors have
+expressions in and how many are displayed.
+
+Add each argument string (key)and the evaluated version (value) to an Ordered Dictionary
+from each of the text editors.
+
+Return the OrderedDictionary with the expressions from all the text editors. "
+
      | tempArguments argCounter tempArgument1Editor tempArgument2Editor tempArgument3Editor tempArgument4Editor
 associationKey associationValue|
 
@@ -286,15 +365,7 @@
 !
 
 clear
-    "automatically generated by UIPainter ..."
-
-    "*** the code below performs no action"
-
-    "*** (except for some feedback on the Transcript)"
-
-    "*** Please change as required and accept in the browser."
-
-    "action to be added ..."
+    "Reset the contents of all the outputs. Return the receiver."
 
     receiverEditor contents:nil.
     argument1Editor contents:nil.
@@ -302,11 +373,11 @@
     argument3Editor contents:nil.
     messageAnswerEditor contents:nil.
     self resultHolder value:nil.
-    Transcript showCR:self class name , ': action for reset ...'
+    self classOfResultHolder value: nil.
 !
 
 isExpression: aString
-
+      "Return true or false depending on if the subString includes certain characters"
 (aString includesSubString:': ') ifTrue:[^true].
 (aString includesSubString:'+') ifTrue:[^true].
 (aString includesSubString:'-') ifTrue:[^true].
@@ -322,17 +393,10 @@
  ^false
 !
 
-lookAtMessage:  anArgument
-    "Opens browser on theArgument of a specific class. anArgument being a string with the
-       Class and the selector upon which the browser is to be opened."
-
-    |aClass aSelector x theArgument|
-   self halt.
-
-
-!
-
 messageAnswerEditorContents
+   "Return a cleaned up version of message answer taken from the messageAnswerEditor
+    as an association. The association has cleanedAnswerString as a key and the 
+    compiledAnswer as value."
 
     |   aCleanedAnswerString   compiledAnswer  |
 
@@ -347,26 +411,38 @@
 
 openBrowserOn:anArgument 
     "Opens browser on theArgument of a specific class. anArgument being a string with the
-       Class and the selector upon which the browser is to be opened."
+       Class and the selector upon which the browser is to be opened. Return the receiver."
 
     |aClass aSelector x theArgument|
 
     anArgument isNil ifTrue:[
-	^ self
+        ^ self
     ].
     (anArgument at:1) == $* ifTrue:[
-	theArgument := anArgument copyFrom:2
+        theArgument := anArgument copyFrom:2
     ] ifFalse:[
-	theArgument := anArgument
+        theArgument := anArgument
     ].
     aClass := theArgument copyUpTo:(Character space).
     x := aClass size + 2.
     aSelector := theArgument copyFrom:x.
     aClass := Smalltalk classNamed:aClass.
-    SystemBrowser openInClass:(aClass) selector:(aSelector asSymbol)    "/ Compiler evaluate: (aClass asSymbol). 
+    SystemBrowser openInClass:(aClass) selector:(aSelector asSymbol)   
+
+"
+MethodFinderWindow new openBrowserOn: '*SmallInteger +'
+MethodFinderWindow new openBrowserOn: 'String ,'
+MethodFinderWindow new openBrowserOn: 'Number detentBy:atMultiplesOf:snap:' 
+
+
+"
 !
 
 receiverEditorContents
+   "Return a cleaned up version of receiver taken from the receiverEditor
+    as an association. The association has aCleanedRecieverString as a key and the 
+    compiledReceiver as value."
+
     |   aCleanedRecieverString   compiledReceiver  |
 
 aCleanedRecieverString:=self cleanInputs: (receiverEditor contents). 
@@ -379,8 +455,8 @@
 !
 
 search
+"Do a search based on the input in the various text editors. Return the receiver."
 | tempReceiver tempAnswer tempArguments anArray resultArray receiverWithArgument mf|
-
 self resultHolder value: nil.               "reset the result list"
 self classOfResultHolder value: nil.        "reset the implementorOf list"
 
@@ -400,7 +476,6 @@
 
 "an array now holds the following array #(#(receiver argument) answer) or #(#(reciever) answer). which should
 be suitable input for the method finder."
-self halt.
 mf:= MethodFinder new.
 resultArray:= mf load: anArray; findMessage. 
 
@@ -436,32 +511,26 @@
 !
 
 updateImplementorsOf:anInteger 
-    "  Request the implementors of the selected arguments "
+    "Request the implementors of the selected argument provided by aNumber.
+     Return the receiver. "
       |methods classList aNumber|
 
-        self updateWorkSpace: anInteger .
+
        (anInteger isNil) ifTrue:[^self].
       anInteger isNil ifTrue:[aNumber:=1]
                       ifFalse:[aNumber:=anInteger].  
-      methods _ SystemBrowser findImplementorsOf: (resultSelectors at:aNumber) in:Smalltalk allClasses ignoreCase:false.
-      classList _ methods asOrderedCollection collect:[:m | m mclass name , ' ' , m selector].
+      methods:=SystemBrowser findImplementorsOf: (resultSelectors at:aNumber) in:Smalltalk allClasses ignoreCase:false.
+      classList:=methods asOrderedCollection collect:[:m | m mclass name , ' ' , m selector].
 
       classList:=(self markMatchingClasses:(resultSelectors at:aNumber) classesWithSelector:classList).
 
     self classOfResultHolder value: classList.
-!
-
-updateWorkSpace: anInteger
-
-
-      anInteger isNil ifTrue:[^self].
-   resultSelected:= (self resultHolder value at:anInteger). 
-        lookAtResultEditor replace:(resultSelected).
 ! !
 
 !MethodFinderWindow methodsFor:'aspects'!
 
 arg1BoxVisible
+"Determines if the box should be visble or not. Return true or false"
     arg1BoxVisible isNil ifTrue:[
         arg1BoxVisible := BlockValue
                               with:[:vh | vh value >= 2 ]
@@ -471,6 +540,7 @@
 !
 
 arg2BoxVisible
+"Determines if the box should be visble or not. Return true or false"
     arg2BoxVisible isNil ifTrue:[
         arg2BoxVisible := BlockValue
                               with:[:vh | vh value >= 3 ]
@@ -480,6 +550,7 @@
 !
 
 arg3BoxVisible
+"Determines if the box should be visble or not. Return true or false"
     arg3BoxVisible isNil ifTrue:[
         arg3BoxVisible := BlockValue
                               with:[:vh | vh value >= 4 ]
@@ -489,6 +560,7 @@
 !
 
 arg4BoxVisible
+"Determines if the box should be visble or not. Return true or false"
     arg4BoxVisible isNil ifTrue:[
         arg4BoxVisible := BlockValue
                               with:[:vh | vh value >= 5 ]
@@ -498,6 +570,7 @@
 !
 
 argCountHolder
+"Return the value of argCounterHolder which is initialized at 2."
     argCountHolder isNil ifTrue:[
         argCountHolder := 2 asValue.
     ].     
@@ -505,6 +578,7 @@
 !
 
 argCountList
+"Return the argCountList"
     argCountList isNil ifTrue:[
         argCountList := #('0 arguments' '1 argument' '2 arguments' '3 arguments') asValue  
     ].
@@ -512,33 +586,24 @@
 !
 
 classOfResultHolder
-    "Stores a valueHolder for "
+    "Return a valueHolder which contains a collection with the names of the 
+     implementors of a specific message.   "
 
     |holder|
-
     (holder := builder bindingAt:#classOfResultHolder) isNil ifTrue:[
-	holder := ValueHolder new.
-	builder aspectAt:#classOfResultHolder put:holder
+        holder := ValueHolder new.
+        builder aspectAt:#classOfResultHolder put:holder
     ].
     ^ holder
 !
 
 resultHolder
-    "automatically generated by UIPainter ..."
-
-    "*** the code below creates a default model when invoked."
-    "*** (which may not be the one you wanted)"
-    "*** Please change as required and accept it in the browser."
-    "*** (and replace this comment by something more useful ;-)"
+    "Return a value holder which contains the results of a search as a collection."
 
     |holder|
-
     (holder := builder bindingAt:#resultHolder) isNil ifTrue:[
-	holder := ValueHolder new.
-	builder aspectAt:#resultHolder put:holder.
-"/ if your app needs to be notified of changes, uncomment one of the lines below:
-"/        holder addDependent:self.
-"/        holder onChangeSend:#resultHolderChanged to:self.
+        holder := ValueHolder new.
+        builder aspectAt:#resultHolder put:holder.
     ].
     ^ holder.
 ! !
@@ -546,40 +611,38 @@
 !MethodFinderWindow methodsFor:'callBacks'!
 
 argument1WidgetCreated: aWidget
+"Store the widget as an instance variable. Return the receiver"
+
+
         argument1Editor := aWidget scrolledView.
 !
 
 argument2WidgetCreated: aWidget
+"Store the widget as an instance variable. Return the receiver"
+
 
         argument2Editor := aWidget scrolledView.
 !
 
 argument3WidgetCreated: aWidget
+"Store the widget as an instance variable. Return the receiver"
+
 
         argument3Editor := aWidget scrolledView.
 !
 
-argumentsWidgetCreated: aWidget
+messageAnswerWidgetCreated: aWidget
+"Store the widget as an instance variable. Return the receiver"
 
-        argumentsEditor := aWidget scrolledView.
+        messageAnswerEditor := aWidget scrolledView.
 !
 
-lookAtResultEditor: aWidget
-
-          lookAtResultEditor := aWidget scrolledView.
-!
-
-messageAnswerWidgetCreated: aWidget
-
-	messageAnswerEditor := aWidget scrolledView.
-!
-
-provideHelpComment
- self halt.
-^'test'
+openHTMLDocumentation
+    HTMLDocumentView openFullOnDocumentationFile:'tools/misc/TOP.html#METHODFINDER'
 !
 
 receiverWidgetCreated: aWidget
+"Store the widget as an instance variable. Return the receiver"
 
         receiverEditor := aWidget scrolledView.
 ! !
@@ -587,7 +650,8 @@
 !MethodFinderWindow methodsFor:'controlInput'!
 
 cleanInputs: aDirtyString
-        "Find an remove common mistakes.  Complain when ill formed."
+     "Find and remove common mistakes made by the user. Return the 
+     'aStringToBeCleaned' variable"
        | aStringToBeCleaned rs position|
 
    aStringToBeCleaned:=aDirtyString.
@@ -618,60 +682,38 @@
                    ^aStringToBeCleaned    
 !
 
-markMatchingClasses
-	"If an example is used, mark classes matching the example instance with an asterisk."
-
-	| unmarkedClassList firstPartOfSelector receiverString receiver |
-
-	"Only 'example' queries can be marked."
-
-	unmarkedClassList _ resultSelectors copy.
-
+markMatchingClasses: aSelector  classesWithSelector:anOrderedCollection
+   " Matches the class of the receiver with all the elements in anOrderedCollection
+    (which are classes with selectors). If a match is found it is marked with an asterisk. 
+    The classes are then sorted so the the asterisk appears first. Return the 
+    markedClassList."
 
-
-
-	unmarkedClassList do:
-		[:classAndMethod | | class |
-		class _ Compiler evaluate:
-				((ReadStream on: classAndMethod) upToAll: firstPartOfSelector).
-		(receiver class == class) ifTrue:
-			[resultSelectors add: '*', classAndMethod.
-			resultSelectors remove: classAndMethod]].
+        | unmarkedClassList firstPartOfSelector markedClassList|
 
-      resultSelectors sort:[:a :b | |rawA rawB|
-		    rawA := (a startsWith:'*') ifTrue:[a copyFrom:2] ifFalse:[a].
-		    rawB := (b startsWith:'*') ifTrue:[b copyFrom:2] ifFalse:[b].
-		    rawA > rawB.  ]
-!
-
-markMatchingClasses: aSelector  classesWithSelector:anOrderedCollection
-	"If an example is used, mark classes matching the example instance with an asterisk."
-
-	| unmarkedClassList firstPartOfSelector |
+        unmarkedClassList:=anOrderedCollection copy.
 
-	"Only 'example' queries can be marked."
-	unmarkedClassList _ anOrderedCollection copy.
-
-
-
-
-	unmarkedClassList do:
-		[:classAndMethod | | class |
-		class _ Compiler evaluate:
-				((ReadStream on: classAndMethod) upToAll: aSelector).
-		(receiver value class == class) ifTrue:
-			[unmarkedClassList add: '*', classAndMethod.
-			unmarkedClassList remove: classAndMethod]].
+        unmarkedClassList do:
+                [:classAndMethod | | class |
+                class:=Compiler evaluate:
+                                ((ReadStream on: classAndMethod) upToAll: aSelector).
+                (receiver value class == class) ifTrue:
+                        [unmarkedClassList add: '*', classAndMethod.
+                        unmarkedClassList remove: classAndMethod]].
 
       unmarkedClassList sort:[:a :b | |rawA rawB|
-		    rawA := (a startsWith:'*') ifTrue:[a copyFrom:2] ifFalse:[a].
-		    rawB := (b startsWith:'*') ifTrue:[b copyFrom:2] ifFalse:[b].
-		    rawA > rawB.  ].
-	 ^unmarkedClassList
+                    rawA := (a startsWith:'*') ifTrue:[a copyFrom:2] ifFalse:[a].
+                    rawB := (b startsWith:'*') ifTrue:[b copyFrom:2] ifFalse:[b].
+                    rawA > rawB.  ].
+      markedClassList:= unmarkedClassList. 
+
+         ^markedClassList
 !
 
 mergReciever: aReceiver WithArgument: arguments
 
+"Puts the receiver and arguments into an array so it can be of a suitable input for the
+ MethodFinder. Return an array."
+
 | tempReceiver tempArguments receiverWithArgument|
 
   tempReceiver:= aReceiver.
@@ -702,15 +744,6 @@
                                   (receiverWithArgument at:4 put: (tempArguments at:3)).
 
                                 ].  "a receiver with an argument"
-        (tempArguments size = 4)
-                        ifTrue:[ receiverWithArgument:=Array new:5.
-                                  receiverWithArgument at:1 put: tempReceiver.      
-                                  (receiverWithArgument at:2 put: (tempArguments at:1)).
-                                  (receiverWithArgument at:3 put: (tempArguments at:2)).
-                                  (receiverWithArgument at:4 put: (tempArguments at:3)).
-                                  (receiverWithArgument at:5 put: (tempArguments at:4)).
-
-                                ].  "a receiver with an argument"
 
                         ].
 ^receiverWithArgument