changed:
authorClaus Gittinger <cg@exept.de>
Fri, 01 Jul 2011 13:05:12 +0200
changeset 2396 95b7dc0353f0
parent 2395 e9082ccc0d80
child 2397 e01669725571
changed: #unwrapAllMethods #wrap:selector:onEntry:onExit:additionalEntryCode:additionalExitCode:additionalVariables:withOriginalClass:flushCaches: #wrapClass:selector:onEntry:onExit: #wrapMethod:onEntry:onExit:onUnwind:
MessageTracer.st
--- a/MessageTracer.st	Fri Jul 01 10:52:35 2011 +0200
+++ b/MessageTracer.st	Fri Jul 01 13:05:12 2011 +0200
@@ -383,6 +383,7 @@
     "
     trapMethod source:'this is a wrapper method - not the real one'.
     trapMethod changeClassTo:WrappedMethod.
+    trapMethod register.
 
     dict := orgClass methodDictionary.
 
@@ -477,7 +478,7 @@
     "
 
     "Modified: / 25-06-1996 / 22:01:05 / stefan"
-    "Modified: / 18-01-2011 / 20:43:17 / cg"
+    "Modified: / 01-07-2011 / 10:01:59 / cg"
 ! !
 
 !MessageTracer class methodsFor:'cleanup'!
@@ -1404,13 +1405,16 @@
     "just in case you dont know what methods have break/trace-points
      on them; this removes them all"
 
-    WrappedMethod allInstancesDo:[:aMethod |
-        self unwrapMethod:aMethod
+    WrappedMethod allInstancesDo:[:aWrapperMethod |
+        aWrapperMethod unregister.
+        self unwrapMethod:aWrapperMethod.
     ]
 
     "
      MessageTracer unwrapAllMethods
     "
+
+    "Modified: / 01-07-2011 / 10:02:47 / cg"
 !
 
 unwrapMethod:aMethod 
@@ -1594,6 +1598,8 @@
 
     trapMethod setPackage:aMethod package.
     trapMethod changeClassTo:WrappedMethod.
+    trapMethod register.
+
     "
      raising our eyebrows here ...
     "
@@ -1684,8 +1690,8 @@
      5 factorial.         
     "
 
-    "Modified: / 25.6.1996 / 22:04:51 / stefan"
-    "Modified: / 16.11.1998 / 16:45:30 / cg"
+    "Modified: / 25-06-1996 / 22:04:51 / stefan"
+    "Modified: / 01-07-2011 / 10:01:48 / cg"
 ! !
 
 !MessageTracer class methodsFor:'object breakpointing'!
@@ -2538,6 +2544,7 @@
     "
     trapMethod source:'this is a wrapper method - not the real one'.
     trapMethod changeClassTo:WrappedMethod.
+    trapMethod register.
 
     "
      install this new method
@@ -2606,9 +2613,8 @@
                                                                         [exEnd]
     "
 
-    "Modified: / 25.6.1996 / 22:11:21 / stefan"
-    "Modified: / 6.2.1998 / 02:48:13 / cg"
-    "Created: / 21.4.1998 / 15:30:27 / cg"
+    "Modified: / 25-06-1996 / 22:11:21 / stefan"
+    "Created: / 21-04-1998 / 15:30:27 / cg"
 !
 
 wrap:anObject selector:aSelector onEntry:entryBlock onExit:exitBlock withOriginalClass:withOriginalClass flushCaches:flushCaches
@@ -3194,12 +3200,8 @@
 
 !MessageTracer class methodsFor:'documentation'!
 
-version
-    ^ '$Header: /cvs/stx/stx/libbasic3/MessageTracer.st,v 1.113 2011-01-18 19:46:26 cg Exp $'
-!
-
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic3/MessageTracer.st,v 1.113 2011-01-18 19:46:26 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic3/MessageTracer.st,v 1.114 2011-07-01 11:05:12 cg Exp $'
 ! !
 
 MessageTracer initialize!