From 540f7e30e91c07a918f7bb4c2273634684cacad3 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Fri, 29 Dec 2023 00:05:16 +0100 Subject: [PATCH] new util: BlockClosure>>#traceAndDebugOnce --- .../BlockClosure.extension/instance/debugTrace.st | 1 + .../BlockClosure.extension/instance/traceAndDebugOnce.st | 9 +++++++++ .../BlockClosure.extension/methodProperties.json | 5 +++-- 3 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 packages/TraceDebugger.package/BlockClosure.extension/instance/traceAndDebugOnce.st diff --git a/packages/TraceDebugger.package/BlockClosure.extension/instance/debugTrace.st b/packages/TraceDebugger.package/BlockClosure.extension/instance/debugTrace.st index 084ea1ef..9f0567c7 100644 --- a/packages/TraceDebugger.package/BlockClosure.extension/instance/debugTrace.st +++ b/packages/TraceDebugger.package/BlockClosure.extension/instance/debugTrace.st @@ -1,4 +1,5 @@ *TraceDebugger-UI-debugging debugTrace + "Open a trace debugger on the receiver that is ready for evaluating it step by step." ^ TraceDebugger openForBlock: self \ No newline at end of file diff --git a/packages/TraceDebugger.package/BlockClosure.extension/instance/traceAndDebugOnce.st b/packages/TraceDebugger.package/BlockClosure.extension/instance/traceAndDebugOnce.st new file mode 100644 index 00000000..84be0592 --- /dev/null +++ b/packages/TraceDebugger.package/BlockClosure.extension/instance/traceAndDebugOnce.st @@ -0,0 +1,9 @@ +*TraceDebugger-UI-debugging +traceAndDebugOnce + "Evaluate the receiver and answer the result. Trace the evaluation and display the result in a trace debugger unless we already done it once, similarly to #haltOnce." + + | result | + self haltOnceEnabled ifFalse: [^ self value]. + self clearHaltOnce. + [result := self value] traceAndDebug. + ^ result \ No newline at end of file diff --git a/packages/TraceDebugger.package/BlockClosure.extension/methodProperties.json b/packages/TraceDebugger.package/BlockClosure.extension/methodProperties.json index e1b0320f..56d3a6fb 100644 --- a/packages/TraceDebugger.package/BlockClosure.extension/methodProperties.json +++ b/packages/TraceDebugger.package/BlockClosure.extension/methodProperties.json @@ -2,5 +2,6 @@ "class" : { }, "instance" : { - "debugTrace" : "ct 12/31/2021 00:54", - "traceAndDebug" : "ct 1/24/2022 21:24" } } + "debugTrace" : "ct 12/28/2023 23:54", + "traceAndDebug" : "ct 1/24/2022 21:24", + "traceAndDebugOnce" : "ct 12/28/2023 23:56" } }