SmallSense__SmalltalkCompletion.st
changeset 114 55b3efed5a57
parent 107 abe4dc4fe5ca
equal deleted inserted replaced
113:2a6e9aaef00f 114:55b3efed5a57
   148 
   148 
   149     "Created: / 26-11-2011 / 17:03:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   149     "Created: / 26-11-2011 / 17:03:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   150 !
   150 !
   151 
   151 
   152 addMethodsStartingWith: prefix
   152 addMethodsStartingWith: prefix
       
   153     | selectors |
       
   154 
       
   155     selectors := Dictionary new.
       
   156 
   153 
   157 
   154     Smalltalk allClassesDo:[:class|
   158     Smalltalk allClassesDo:[:class|
   155         class selectorsAndMethodsDo:[:selector :met | 
   159         class selectorsAndMethodsDo:[:selector :mthd | 
   156             (selector startsWith: prefix) ifTrue:[
   160             (selector startsWith: prefix) ifTrue:[
   157                 resultSet add:(MethodPO 
   161                 | class skip |
   158                             name:selector
   162 
   159                             description:"met source"nil
   163                 class := mthd mclass superclass.
   160                             class:class).
   164                 skip := false.
       
   165                 [ skip not and:[class notNil] ] whileTrue:[
       
   166                     (class methodDictionary includesKey: selector) ifTrue:[
       
   167                         skip := true.
       
   168                     ].
       
   169                     class := class superclass.
       
   170                 ].
       
   171                 skip ifFalse:[
       
   172                     | classes |
       
   173 
       
   174                     classes := selectors at: selector ifAbsentPut:[ Set new ].
       
   175                     classes add: mthd mclass.
       
   176                 ].
   161             ]
   177             ]
   162         ].
   178         ].
   163     ].
   179     ].
   164 
   180 
       
   181     selectors keysAndValuesDo: [:selector :classes|
       
   182         resultSet add:(MethodPO 
       
   183                 name:selector
       
   184                 description:"met source"nil
       
   185                 class:(classes size == 1 ifTrue:[classes anElement] ifFalse:[classes])).
       
   186     ]
       
   187 
   165     "Created: / 24-07-2013 / 13:10:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   188     "Created: / 24-07-2013 / 13:10:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   189     "Modified: / 02-10-2013 / 02:20:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   166 !
   190 !
   167 
   191 
   168 addPools
   192 addPools
   169     | class |
   193     | class |
   170 
   194