# HG changeset patch # User Claus Gittinger # Date 919956710 -3600 # Node ID a82f12caf84fbc2086a61d0f7afc045ef0d835cc # Parent 726905bea1bb38350689f957f04213cb14a812d4 *** empty log message *** diff -r 726905bea1bb -r a82f12caf84f MessageTracer.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! diff -r 726905bea1bb -r a82f12caf84f MsgTracer.st --- 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!