NewTools
NewTools copied to clipboard
Fastening debugger stack navigation
Fixes #584 The whole discussion is in this issue.
To fasten the navigation of the debugger stack, I removed the debugger inspector selection remembrance mechanism because it :
- makes the debugger inspector too long to update. Removing it speeds up makes the process twice faster
- is not accurate
- is not much useful, in the end ?
Furthermore, I modified the way the #receiverNodes
are built for an StDebuggerContext
object. It used to collect allInspectorNodes and then reject the self
node, like this:
receiverNodes
^ self context receiver allInspectorNodes reject: [ :node |
node label = 'self' ]
while #allInspectorNodes
actually adds a self
node to the nodes returned by #inspectorNodes
:
allInspectorNodes
"Answer a list of attributes as nodes"
^ { StInspectorSelfNode hostObject: self },
self inspectorNodes
So to spare an unncessary filter, I changed #receiverNodes
to this equivalent method:
receiverNodes
^ self context receiver inspectorNodes
If you have some examples of programs to debug for which the stack navigation was slow, I'm eager to know