--- a/CompiledCode.st Fri Jan 29 16:44:41 1999 +0100
+++ b/CompiledCode.st Sat Jan 30 14:57:36 1999 +0100
@@ -255,6 +255,19 @@
"Modified: 4.7.1996 / 11:12:39 / cg"
!
+decompiledSource
+ "reconstruct some synthetic source by decompiling by byteCode"
+
+ |s|
+
+ s := '' writeStream.
+ self decompileTo:s.
+ ^ s contents
+
+ "Modified: / 30.1.1999 / 14:53:30 / cg"
+ "Created: / 30.1.1999 / 14:54:09 / cg"
+!
+
decompiler
^ Decompiler
@@ -270,9 +283,13 @@
!
flags
+ "return the flags (number of method variables, stacksize etc.).
+ Dont depend on the values in the flag field - its interpretations
+ may change without notice."
+
^ flags
- "Created: / 16.10.1998 / 01:28:48 / cg"
+ "Modified: / 30.1.1999 / 14:51:59 / cg"
!
literals
@@ -379,6 +396,28 @@
"Created: 19.6.1997 / 16:27:34 / cg"
!
+numberOfMethodArgs
+ "return the number of arguments, the method expects.
+ This method is left for backward compatibility - use #numArgs."
+
+ "/ self obsoleteMethodWarning:'use numArgs'.
+ ^ self numArgs
+
+ "Modified: / 30.1.1999 / 14:55:27 / cg"
+ "Created: / 30.1.1999 / 14:55:47 / cg"
+!
+
+numberOfMethodVars
+ "return the number of method local variables.
+ This method is left for backward compatibility - use #numVars."
+
+ "/ self obsoleteMethodWarning:'use numVars'.
+ ^ self numVars
+
+ "Modified: / 30.1.1999 / 14:55:42 / cg"
+ "Created: / 30.1.1999 / 14:55:51 / cg"
+!
+
refersToLiteral:aLiteral
"return true if the receiver or recursively any array element in the
receiver referes to aLiteral"
@@ -410,6 +449,179 @@
"Created: 7.6.1996 / 12:45:50 / stefan"
! !
+!CompiledCode methodsFor:'debugging'!
+
+breakPointInProcess:aProcess
+ "arrange for a breakpoint-debugger to be opened when this method
+ is invoked from withn aProcess."
+
+ MessageTracer trapMethod:self inProcess:aProcess.
+
+ "Modified: / 12.1.1998 / 18:22:39 / cg"
+ "Created: / 30.1.1999 / 14:50:01 / cg"
+!
+
+clearBreakPoint
+ "remove any break/trace-point on this method"
+
+ MessageTracer unwrapMethod:self.
+
+ "Modified: / 12.1.1998 / 18:22:14 / cg"
+ "Created: / 30.1.1999 / 14:49:53 / cg"
+!
+
+isCounted
+ "obsolete - replaced by isCountinMemoryUsage"
+
+ ^ MessageTracer notNil
+ and:[MessageTracer isCountingMemoryUsage:self]
+
+ "Modified: / 27.7.1998 / 11:05:36 / cg"
+ "Created: / 30.1.1999 / 14:48:57 / cg"
+!
+
+isCounting
+ "return true, if invokations of this method are counted"
+
+ ^ MessageTracer notNil
+ and:[MessageTracer isCounting:self]
+
+ "Modified: / 27.7.1998 / 11:06:00 / cg"
+ "Created: / 30.1.1999 / 14:49:19 / cg"
+!
+
+isCountingMemoryUsage
+ "return true, if memory allocations done by this method (and callees)
+ are counted"
+
+ ^ MessageTracer notNil
+ and:[MessageTracer isCountingMemoryUsage:self]
+
+ "Modified: / 27.7.1998 / 11:06:23 / cg"
+ "Created: / 30.1.1999 / 14:49:26 / cg"
+!
+
+resetCountingStatistics
+ "reset count statistics of the receiver"
+
+ MessageTracer resetCountOfMethod:self
+
+ "Modified: / 12.1.1998 / 18:24:30 / cg"
+ "Created: / 30.1.1999 / 14:50:19 / cg"
+!
+
+resetMemoryUsageStatistics
+ "reset count statistics of the receiver"
+
+ MessageTracer resetMemoryUsageOfMethod:self
+
+ "Modified: / 12.1.1998 / 18:24:30 / cg"
+ "Created: / 30.1.1999 / 14:50:22 / cg"
+!
+
+resetTimingStatistics
+ "reset timing statistics of the receiver"
+
+ MessageTracer resetExecutionTimesOfMethod:self
+
+ "Modified: / 12.1.1998 / 18:24:30 / cg"
+ "Created: / 30.1.1999 / 14:50:25 / cg"
+!
+
+setBreakPoint
+ "arrange for a breakpoint-debugger to be opened when this method
+ is invoked."
+
+ MessageTracer trapMethod:self.
+
+ "Modified: / 12.1.1998 / 18:22:36 / cg"
+ "Created: / 30.1.1999 / 14:50:27 / cg"
+!
+
+setTraceFullPoint
+ "arrange for a full-backtrace to be sent to the standard-error stream
+ when this method is invoked."
+
+ MessageTracer traceMethodFull:self on:Transcript
+
+ "Modified: / 12.1.1998 / 18:23:11 / cg"
+ "Created: / 30.1.1999 / 14:50:30 / cg"
+!
+
+setTracePoint
+ "arrange for a trace-message to be sent to the standard-error stream
+ when this method is invoked."
+
+ MessageTracer traceMethod:self on:Transcript
+
+ "Modified: / 12.1.1998 / 18:23:23 / cg"
+ "Created: / 30.1.1999 / 14:50:33 / cg"
+!
+
+setTraceSenderPoint
+ "arrange for a sender-trace-message to be sent to the standard-error stream
+ when this method is invoked."
+
+ MessageTracer traceMethodSender:self on:Transcript
+
+ "Modified: / 12.1.1998 / 18:23:31 / cg"
+ "Created: / 30.1.1999 / 14:50:36 / cg"
+!
+
+startCounting
+ "start counting invokations of the receiver"
+
+ MessageTracer countMethod:self
+
+ "Modified: / 12.1.1998 / 18:23:45 / cg"
+ "Created: / 30.1.1999 / 14:50:38 / cg"
+!
+
+startCountingMemoryUsage
+ "start counting memory usage of the receiver (and every callee)"
+
+ MessageTracer countMemoryUsageOfMethod:self
+
+ "Modified: / 27.7.1998 / 11:06:55 / cg"
+ "Created: / 30.1.1999 / 14:50:41 / cg"
+!
+
+startTiming
+ "start timing the receiver"
+
+ MessageTracer timeMethod:self
+
+ "Modified: / 12.1.1998 / 18:24:05 / cg"
+ "Created: / 30.1.1999 / 14:50:44 / cg"
+!
+
+stopCounting
+ "stop counting calls of the receiver"
+
+ MessageTracer stopCountingMethod:self
+
+ "Modified: / 12.1.1998 / 18:24:15 / cg"
+ "Created: / 30.1.1999 / 14:50:47 / cg"
+!
+
+stopCountingMemoryUsage
+ "stop counting memory usage of the receiver"
+
+ MessageTracer stopCountingMemoryUsageOfMethod:self
+
+ "Modified: / 12.1.1998 / 18:24:22 / cg"
+ "Created: / 30.1.1999 / 14:50:51 / cg"
+!
+
+stopTiming
+ "stop timing of the receiver"
+
+ MessageTracer stopTimingMethod:self
+
+ "Modified: / 12.1.1998 / 18:24:30 / cg"
+ "Created: / 30.1.1999 / 14:50:54 / cg"
+! !
+
!CompiledCode methodsFor:'error handling'!
badArgumentArray
@@ -1290,6 +1502,6 @@
!CompiledCode class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/CompiledCode.st,v 1.67 1998-11-14 17:41:22 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/CompiledCode.st,v 1.68 1999-01-30 13:57:36 cg Exp $'
! !
CompiledCode initialize!