Product Site

5.4.25.5. makeStringImpl (Class Method)

This class method implements the traceline formatting according to the current setting of the class attribute option.

This class method requires a single traceObject as its argument and returns a string representing the traceline depending on the value of the class attribute option:
"N"

"normal", returns the entry "TRACELINE"
"T"

"thread", the trace line will get formatted with the trace prefix getting the thread number (entry "THREAD") inserted after the second character
"S"

"standard", the trace line will get formatted by prepending a bracketed string that indicates the thread and the invocation number, e.g. "[T1 I2 ]" (entries "THREAD" and "INVOCATION") and if a method gets traced in addition whether it was defined guarded or unguarded (entry "ISGUARDED"), u if currently a guarded method is unguarded or g if currently an unguarded method is guarded or blank else, the scope's attribute pool number (entry "ATTRIBUTEPOOL"), the object scope lock count (entry "SCOPELOCKCOUNT") and whether the object scope lock is reserved (indicated by an asterisk, entry "HASSCOPELOCK") and if the method must wait on the guard condition to turn true (indicated by a W, entry "ISWAITING"), e.g. "[T1 I2 Gu A3 L5 *W]".
"F"

"full", the trace line will get formatted by prepending a bracketed string that adds the Rexx instance in addition (entry "INTERPRETER"), e.g. "[R1 T2 I3 ]", and if a method gets traced, e.g. "[R1 T2 I3 Gu A4 L5 *W]".
"P"

"profiling" ("probing"), no trace line will be shown, yet, each created traceObject will get appended to the class attribute collector if not .nil. This allows post analyzing the execution of traced Rexx programs for many purposes.

Using setMakeString (Class Method) one is able to replace this method with a customized method. See also Debugging Multithreaded Programs and for an example see Exploiting TraceObject's setMakeString Method .