*** empty log message ***
authorClaus Gittinger <cg@exept.de>
Thu, 25 Feb 1999 16:31:50 +0100
changeset 735 a82f12caf84f
parent 734 726905bea1bb
child 736 6fa613ec20ab
*** empty log message ***
MessageTracer.st
MsgTracer.st
--- a/MessageTracer.st	Thu Feb 25 16:23:41 1999 +0100
+++ b/MessageTracer.st	Thu Feb 25 16:31:50 1999 +0100
@@ -11,7 +11,7 @@
 "
 
 Object subclass:#MessageTracer
-	instanceVariableNames:'traceDetail'
+	instanceVariableNames:'traceDetail tracedBlock'
 	classVariableNames:'BreakpointSignal CallingLevel BreakBlock TraceSenderBlock
 		TraceSenderBlock2 LeaveBreakBlock LeaveTraceBlock MethodCounts
 		MethodMemoryUsage MethodTiming TraceFullBlock TraceFullBlock2
@@ -20,8 +20,15 @@
 	category:'System-Debugging-Support'
 !
 
+MessageTracer subclass:#InteractionCollector
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:MessageTracer
+!
+
 MessageTracer subclass:#PrintingMessageTracer
-	instanceVariableNames:'tracedBlock'
+	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:MessageTracer
@@ -2672,17 +2679,12 @@
         normal;
         nextPutAll:' rec=['.
 
-    aContext receiver printOn:aStream.
+    self printObject:aContext receiver on:aStream.
+
     aStream nextPutAll:'] '. 
     (aContext args) keysAndValuesDo:[:idx :arg |
-        |s|
-
-        s := arg printString.
-        s > 20 ifTrue:[
-            s := arg classNameWithArticle
-        ].
         aStream nextPutAll:'arg'. idx printOn:aStream. aStream nextPutAll:'=['.
-        s printOn:aStream.
+        self printObject:arg on:aStream.
         aStream nextPutAll:'] '.
     ].
 
@@ -2701,6 +2703,16 @@
     "Modified: 5.3.1997 / 12:40:55 / cg"
 !
 
+printObject:anObject on:aStream
+    |s|
+
+    s := anObject printString.
+    s size > 20 ifTrue:[
+        s := anObject classNameWithArticle
+    ].
+    aStream nextPutAll:s
+!
+
 traceEntryFull:aContext on:aStream
     aStream nextPutLine:'-----------------------------------------'.
     aContext fullPrintAllOn:aStream
@@ -2745,21 +2757,30 @@
     "trace execution of aBlock."
 
     traceDetail := fullDetail.
+    tracedBlock := aBlock.
+
     ObjectMemory stepInterruptHandler:self.
     ^ [
-	ObjectMemory flushInlineCaches.
-	StepInterruptPending := 1.
-	InterruptPending := 1.
-	aBlock value
+        ObjectMemory flushInlineCaches.
+        StepInterruptPending := 1.
+        InterruptPending := 1.
+        aBlock value
     ] valueNowOrOnUnwindDo:[
-	StepInterruptPending := nil.
-	ObjectMemory stepInterruptHandler:nil.
+        tracedBlock := nil.
+        StepInterruptPending := nil.
+        ObjectMemory stepInterruptHandler:nil.
     ]
 
     "
-     MessageTracer trace:[#(6 5 4 3 2 1) sort] detail:false
-     MessageTracer trace:[#(6 5 4 3 2 1) sort] detail:true 
+     PrintingMessageTracer new trace:[#(6 5 4 3 2 1) sort] detail:false
+
+     PrintingMessageTracer new trace:[#(6 5 4 3 2 1) sort] detail:true 
+
+     PrintingMessageTracer new trace:[#(6 5 4 3 2 1) sort] detail:#indent 
+
+     PrintingMessageTracer new trace:[#(6 5 4 3 2 1) sort] detail:#fullIndent 
     "
+
 ! !
 
 !MessageTracer::PrintingMessageTracer methodsFor:'trace helpers '!
@@ -2837,29 +2858,11 @@
      self new trace:[#(6 5 4 3 2 1) sort] detail:#fullIndent 
      self new trace:[ View new ] detail:#fullIndent 
     "
-!
-
-trace:aBlock detail:fullDetail
-    "trace execution of aBlock."
-
-    tracedBlock := aBlock.
-    ^ super trace:aBlock detail:fullDetail
-
-    "
-     self new trace:[#(6 5 4 3 2 1) sort] detail:false
-
-     self new trace:[#(6 5 4 3 2 1) sort] detail:true 
-
-     self new trace:[#(6 5 4 3 2 1) sort] detail:#indent 
-
-     self new trace:[#(6 5 4 3 2 1) sort] detail:#fullIndent 
-    "
-
 ! !
 
 !MessageTracer class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic3/MessageTracer.st,v 1.77 1999-02-25 15:23:41 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic3/MessageTracer.st,v 1.78 1999-02-25 15:31:50 cg Exp $'
 ! !
 MessageTracer initialize!
--- a/MsgTracer.st	Thu Feb 25 16:23:41 1999 +0100
+++ b/MsgTracer.st	Thu Feb 25 16:31:50 1999 +0100
@@ -11,7 +11,7 @@
 "
 
 Object subclass:#MessageTracer
-	instanceVariableNames:'traceDetail'
+	instanceVariableNames:'traceDetail tracedBlock'
 	classVariableNames:'BreakpointSignal CallingLevel BreakBlock TraceSenderBlock
 		TraceSenderBlock2 LeaveBreakBlock LeaveTraceBlock MethodCounts
 		MethodMemoryUsage MethodTiming TraceFullBlock TraceFullBlock2
@@ -20,8 +20,15 @@
 	category:'System-Debugging-Support'
 !
 
+MessageTracer subclass:#InteractionCollector
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:MessageTracer
+!
+
 MessageTracer subclass:#PrintingMessageTracer
-	instanceVariableNames:'tracedBlock'
+	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:MessageTracer
@@ -2672,17 +2679,12 @@
         normal;
         nextPutAll:' rec=['.
 
-    aContext receiver printOn:aStream.
+    self printObject:aContext receiver on:aStream.
+
     aStream nextPutAll:'] '. 
     (aContext args) keysAndValuesDo:[:idx :arg |
-        |s|
-
-        s := arg printString.
-        s > 20 ifTrue:[
-            s := arg classNameWithArticle
-        ].
         aStream nextPutAll:'arg'. idx printOn:aStream. aStream nextPutAll:'=['.
-        s printOn:aStream.
+        self printObject:arg on:aStream.
         aStream nextPutAll:'] '.
     ].
 
@@ -2701,6 +2703,16 @@
     "Modified: 5.3.1997 / 12:40:55 / cg"
 !
 
+printObject:anObject on:aStream
+    |s|
+
+    s := anObject printString.
+    s size > 20 ifTrue:[
+        s := anObject classNameWithArticle
+    ].
+    aStream nextPutAll:s
+!
+
 traceEntryFull:aContext on:aStream
     aStream nextPutLine:'-----------------------------------------'.
     aContext fullPrintAllOn:aStream
@@ -2745,21 +2757,30 @@
     "trace execution of aBlock."
 
     traceDetail := fullDetail.
+    tracedBlock := aBlock.
+
     ObjectMemory stepInterruptHandler:self.
     ^ [
-	ObjectMemory flushInlineCaches.
-	StepInterruptPending := 1.
-	InterruptPending := 1.
-	aBlock value
+        ObjectMemory flushInlineCaches.
+        StepInterruptPending := 1.
+        InterruptPending := 1.
+        aBlock value
     ] valueNowOrOnUnwindDo:[
-	StepInterruptPending := nil.
-	ObjectMemory stepInterruptHandler:nil.
+        tracedBlock := nil.
+        StepInterruptPending := nil.
+        ObjectMemory stepInterruptHandler:nil.
     ]
 
     "
-     MessageTracer trace:[#(6 5 4 3 2 1) sort] detail:false
-     MessageTracer trace:[#(6 5 4 3 2 1) sort] detail:true 
+     PrintingMessageTracer new trace:[#(6 5 4 3 2 1) sort] detail:false
+
+     PrintingMessageTracer new trace:[#(6 5 4 3 2 1) sort] detail:true 
+
+     PrintingMessageTracer new trace:[#(6 5 4 3 2 1) sort] detail:#indent 
+
+     PrintingMessageTracer new trace:[#(6 5 4 3 2 1) sort] detail:#fullIndent 
     "
+
 ! !
 
 !MessageTracer::PrintingMessageTracer methodsFor:'trace helpers '!
@@ -2837,29 +2858,11 @@
      self new trace:[#(6 5 4 3 2 1) sort] detail:#fullIndent 
      self new trace:[ View new ] detail:#fullIndent 
     "
-!
-
-trace:aBlock detail:fullDetail
-    "trace execution of aBlock."
-
-    tracedBlock := aBlock.
-    ^ super trace:aBlock detail:fullDetail
-
-    "
-     self new trace:[#(6 5 4 3 2 1) sort] detail:false
-
-     self new trace:[#(6 5 4 3 2 1) sort] detail:true 
-
-     self new trace:[#(6 5 4 3 2 1) sort] detail:#indent 
-
-     self new trace:[#(6 5 4 3 2 1) sort] detail:#fullIndent 
-    "
-
 ! !
 
 !MessageTracer class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic3/Attic/MsgTracer.st,v 1.77 1999-02-25 15:23:41 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic3/Attic/MsgTracer.st,v 1.78 1999-02-25 15:31:50 cg Exp $'
 ! !
 MessageTracer initialize!