--- a/SmallSense__CompletionEngine.st Fri May 09 17:29:26 2014 +0100
+++ b/SmallSense__CompletionEngine.st Tue May 13 16:34:38 2014 +0100
@@ -121,31 +121,30 @@
matchPrefix := stripoffPrefix isNil ifTrue:[ prefix ] ifFalse:[ stripoffPrefix , prefix ].
filter := filterOrNil isNil ifTrue:[ [:method | true ] ] ifFalse:[ filterOrNil ].
- Smalltalk allClassesDo:[:class|
- class selectorsAndMethodsDo:[:selector :mthd |
- (mthd isSynthetic not and:[(filter value: mthd) and:[ matcher value: matchPrefix value: selector]]) ifTrue:[
- | class skip |
+ context environment allMethodsWithSelectorDo:[:mthd :selector|
+ (mthd isSynthetic not and:[(filter value: mthd) and:[ matcher value: matchPrefix value: selector]]) ifTrue:[
+ | class skip |
- class := mthd mclass superclass.
- skip := false.
- [ skip not and:[class notNil] ] whileTrue:[
- (class methodDictionary includesKey: selector) ifTrue:[
- skip := true.
- ].
- class := class superclass.
+ class := mthd mclass superclass.
+ skip := false.
+ [ skip not and:[class notNil] ] whileTrue:[
+ (class methodDictionary includesKey: selector) ifTrue:[
+ skip := true.
].
- skip ifFalse:[
- | classes |
+ class := class superclass.
+ ].
+ skip ifFalse:[
+ | classes |
- classes := selectors at: selector ifAbsentPut:[ Set new ].
- (classes includes: mthd mclass) ifFalse:[
- classes add: mthd mclass.
- ].
+ classes := selectors at: selector ifAbsentPut:[ Set new ].
+ (classes includes: mthd mclass) ifFalse:[
+ classes add: mthd mclass.
].
- ]
- ].
+ ].
+ ]
].
+
selectors keysAndValuesDo: [:selector :classes|
result add:(MethodPO
name:selector
@@ -154,6 +153,7 @@
]
"Created: / 08-04-2014 / 21:34:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 13-05-2014 / 12:30:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!CompletionEngine methodsFor:'completion-private'!