#REFACTORING by exept
authorClaus Gittinger <cg@exept.de>
Sun, 28 Jul 2019 00:59:28 +0200
changeset 24479 2b01fef43f16
parent 24478 5138e2ba3e6c
child 24480 ba11b0600aa7
#REFACTORING by exept class: Behavior changed: #selectorsWithArgs:
Behavior.st
--- a/Behavior.st	Sat Jul 27 16:30:06 2019 +0200
+++ b/Behavior.st	Sun Jul 28 00:59:28 2019 +0200
@@ -1,5 +1,3 @@
-"{ Encoding: utf8 }"
-
 "
  COPYRIGHT (c) 1988 by Claus Gittinger
 	      All Rights Reserved
@@ -1331,13 +1329,23 @@
 selectorsWithArgs:numberOfArgs
     "Return all selectors defined in this class that take this number of arguments."
 
-    ^ self selectors
-	select:[:sel | sel argumentCount == numberOfArgs]
-
-    "
-     SmallInteger selectorsWithArgs:0
-     SmallInteger selectorsWithArgs:2
-     SmallInteger selectorsWithArgs:3
+    |selectors|
+
+    selectors := OrderedCollection new.
+    (self methodDictionary ? #()) keysDo:[:sel |
+        sel argumentCount == numberOfArgs ifTrue:[
+            selectors add:sel
+        ]
+    ].
+    ^ selectors
+"/    ^ self selectors
+"/        select:[:sel | sel argumentCount == numberOfArgs]
+
+    "
+     SmallInteger selectorsWithArgs:0  
+     SmallInteger selectorsWithArgs:1  
+     SmallInteger selectorsWithArgs:2  
+     SmallInteger selectorsWithArgs:3  
      SmallInteger selectorsWithArgs:4
     "
 !