SmallSense__SmalltalkCompletionEngine.st
changeset 131 ea84eea5a3c4
parent 128 a98866596a98
child 132 7c23c51d2cfd
--- a/SmallSense__SmalltalkCompletionEngine.st	Mon Oct 14 15:14:48 2013 +0100
+++ b/SmallSense__SmalltalkCompletionEngine.st	Wed Oct 16 15:44:43 2013 +0100
@@ -160,7 +160,7 @@
 !
 
 addMethodsForType: type 
-    | classes |
+    | classes seen |
 
     classes := type classes.
     classes size == 1 ifTrue:[
@@ -187,12 +187,14 @@
     ].
 
 
+    seen := Set new.
     type 
         classesDo: [:each | 
             | class |
 
             class := each.
-            [ class isNil ] whileFalse: [
+            [ class notNil and:[(seen includes: class) not]] whileTrue: [
+                seen add: class.
                 "/ Now, special care for Java classes, sigh...
                 (class isMetaclass and:[class theNonMetaclass isJavaClass]) ifTrue:[
                     class theNonMetaclass selectorsAndMethodsDo: [:selector :met | 
@@ -212,11 +214,11 @@
                     ].
                 ].
                 class := class superclass.
-            ].
+            ]
         ].
 
     "Created: / 26-11-2011 / 17:03:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 08-10-2013 / 11:05:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 16-10-2013 / 15:40:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 addPools