System-Tools

BreakPoint
This exception is raised on executing a breakpoint.
"BreakPoint signal" is called from "Object>>break".
BreakpointManager
This class manages methods that include breakpoints.
It has several class methods to install and uninstall breakpoints.
Evaluating "BreakpointManager clear" will remove all installed breakpoints in the system.
Known issues:
- currently, only break-on-entry type of breakpoints are supported
- uninstalling the breakpoint doesn't auto-update other browsers
- uninstalling a breakpoint while debugging should restart-simulate the current method
Ernest Micklei, 2002
Send comments to emicklei@philemonworks.com
breakpointMethodSourceFor:in:
clear
compilePrototype:in:
installInClass:selector:
installed
methodHasBreakpoint:
testBreakpoint
unInstall:
FakeClassPool
The sole purpose of this class is to allow the Browser code pane to evaluate the class variables of the class whose method it is showing. It does this by stuffing a pointer to the classpool dictionary of the class being shown into its own classpool. It does this just around a doIt in the code pane. An instance of FakeClasspool is then used as the receiver of the doIt.
adopt:
MethodReference
A MethodReference is is a lightweight proxy for a CompiledMethod. Has methods for pointed to the CompileMethod's source statements, byte codes. Is heavily used my Tools.
Instance Variables
classIsMeta: Boolean class vs. instance
classSymbol: Symbol for method's class (without class keyword if meta)
methodSymbol: Symbol for method's selector
stringVersion: 'Class>>selector:' format
<=
=
Answer whether the receiver and the argument represent the
same object.
actualClass
asMethodDefinition
asNode
asStringOrText
Answer a string that represents the receiver.
category
category:
class:selector:
class:selector:package:
classIsMeta
classSymbol
compiledMethod
hash
Answer a SmallInteger whose value is related to the receiver's
identity.
isLocalSelector
isValid
Answer whether the receiver represents a current selector or Comment
methodClass
methodSymbol
package
we will have to change that in the future since we will not rely on * convention
package:
printOn:
Print the receiver on a stream
selector
setClass:methodSymbol:stringVersion:
setClassAndSelectorIn:
setClassSymbol:classIsMeta:methodSymbol:stringVersion:
setStandardClass:methodSymbol:
source
sourceCode
sourceString
stringVersion
stringVersion:
timeStamp
SpaceTally
I'm responsible to help getting information about system space usage. The information I compute is represented by a spaceTallyItem
try something like:
((SpaceTally new spaceTally: (Array with: TextMorph with: Point))
asSortedCollection: [:a :b | a spaceForInstances > b spaceForInstances])
SpaceTally new systemWideSpaceTally
This class has been created from a part of SystemDictionary. It still deserves a nice
clean, such as using object instead of array having 4 slots.
sd-20 June 2003
compareTallyIn:to:
SpaceTally new compareTallyIn: 'tally' to: 'tally2'
computeSpaceUsage
preAllocateResultsFor:
printSpaceAnalysis
SpaceTally new printSpaceAnalysis
printSpaceAnalysis:on:
SpaceTally new printSpaceAnalysis: 1 on:(FileStream forceNewFileNamed: 'STspace.text')
printSpaceDifferenceFrom:to:
For differential results, run printSpaceAnalysis twice with different fileNames,
then run this method...
SpaceTally new printSpaceAnalysis: 0 on: 'STspace.text1'.
--- do something that uses space here ---
SpaceTally new printSpaceAnalysis: 0 on: 'STspace.text2'.
SpaceTally new printSpaceDifferenceFrom: 'STspace.text1' to: 'STspace.text2'
results
saveTo:
| st |
st := SpaceTally new.
st spaceTally: (Array with: TextMorph with: Point).
st saveTo: 'spaceTally2'
spaceForInstancesOf:withInstanceCount:
Answer the number of bytes consumed by all instances of the given class, including their object headers.
spaceTally:
Answer a collection of SpaceTallyItems representing the memory space (in bytes) consumed by the code and instances of each class in the system. Note that code sizes do not currently report memory consumed by class variables.
systemWideSpaceTally
Answer a collection of SpaceTallyItems representing the memory space (in bytes) consumed by the code and instances of each class in the system. Note that code sizes do not currently report memory consumed by class variables.
SpaceTallyItem
I'm represent an entry in the spaceTally.
analyzedClassName
analyzedClassName:
analyzedClassName:codeSize:instanceCount:spaceForInstances:
codeSize
codeSize:
instanceCount
instanceCount:
printOn:
Append to the argument, aStream, a sequence of characters that
identifies the receiver.
spaceForInstances
spaceForInstances: