Class.st
changeset 1876 c6904184e1c8
parent 1860 e65f13417bfc
child 1895 f91b76019bf0
--- a/Class.st	Mon Nov 04 23:48:08 1996 +0100
+++ b/Class.st	Mon Nov 04 23:51:01 1996 +0100
@@ -1850,24 +1850,25 @@
     ]
 !
 
-recompileInvalidatedMethods:trap
+recompileInvalidatedMethods
     "recompile all invalidated methods"
 
-    |trapCode trapByteCode|
-
-    trapCode := trap code.
-    trapByteCode := trap byteCode.
-
-    self methodDictionary keys do:[:aSelector |
-        |m|
-
-        m := self compiledMethodAt:aSelector.
-        ((m code = trapCode) and:[m byteCode == trapByteCode]) ifTrue:[
+    self methodDictionary keysAndValuesDo:[:aSelector :aMethod |
+        |trap trapCode trapByteCode|
+
+        trap := aMethod trapMethodForNumArgs:aMethod numArgs.
+        trapCode := trap code.
+        trapByteCode := trap byteCode.
+
+        (aMethod code = trapCode
+        or:[aMethod byteCode == trapByteCode]) ifTrue:[
             self recompile:aSelector
         ]
     ]
 
     "Modified: 12.6.1996 / 11:52:09 / stefan"
+    "Created: 4.11.1996 / 22:12:47 / cg"
+    "Modified: 4.11.1996 / 23:50:19 / cg"
 !
 
 recompileMethodsAccessingAny:setOfNames
@@ -4259,6 +4260,6 @@
 !Class class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Class.st,v 1.201 1996-11-01 19:42:14 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Class.st,v 1.202 1996-11-04 22:51:01 cg Exp $'
 ! !
 Class initialize!