MessageTracer.st
changeset 29 5f44e649a1c9
parent 27 d24c4aec6d07
child 30 537c27a6366c
--- a/MessageTracer.st	Wed May 03 17:37:27 1995 +0200
+++ b/MessageTracer.st	Tue May 09 02:17:41 1995 +0200
@@ -22,7 +22,7 @@
 COPYRIGHT (c) 1994 by Claus Gittinger
 	      All Rights Reserved
 
-$Header: /cvs/stx/stx/libbasic3/MessageTracer.st,v 1.13 1995-05-01 23:02:29 claus Exp $
+$Header: /cvs/stx/stx/libbasic3/MessageTracer.st,v 1.14 1995-05-09 00:17:41 claus Exp $
 '!
 
 !MessageTracer class methodsFor:'documentation'!
@@ -43,7 +43,7 @@
 
 version
 "
-$Header: /cvs/stx/stx/libbasic3/MessageTracer.st,v 1.13 1995-05-01 23:02:29 claus Exp $
+$Header: /cvs/stx/stx/libbasic3/MessageTracer.st,v 1.14 1995-05-09 00:17:41 claus Exp $
 "
 !
 
@@ -391,7 +391,7 @@
      the receiver being trapped upon or not.
      The current implementation does not allow integers or nil to be wrapped."
 
-    |newClass orgClass myMetaclass trapMethod s spec lits|
+    |newClass orgClass myMetaclass trapMethod s spec lits implClass|
 
     "
      some are not allowed (otherwise we get into trouble ...)
@@ -457,7 +457,12 @@
 			    silent:true.
 
     lits := trapMethod literals.
-    lits at:(lits indexOf:#originalMethod) put:((orgClass whichClassIncludesSelector:aSelector) compiledMethodAt:aSelector).
+    implClass := orgClass whichClassIncludesSelector:aSelector.
+    implClass isNil ifTrue:[
+	Transcript showCr:aSelector , ' is not understood by ' , orgClass name.
+    ] ifFalse:[
+	lits at:(lits indexOf:#originalMethod) put:(implClass compiledMethodAt:aSelector).
+    ].
     entryBlock notNil ifTrue:[
 	lits at:(lits indexOf:#literal1) put:entryBlock.
     ].