The Trunk: Tools-eem.827.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Tools-eem.827.mcz

commits-2
Eliot Miranda uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-eem.827.mcz

==================== Summary ====================

Name: Tools-eem.827
Author: eem
Time: 25 July 2018, 3:12:22.772831 pm
UUID: 005a00a2-4a38-4aa5-b361-569231851539
Ancestors: Tools-cmm.826

Implement tempsAndValues in ContextVariablesInspector, allowing 'all temp vars' to display integers in the default integer base.  [Leave Context>>tempsAndValues for now; someone can clean up the duplication later if desired.]

=============== Diff against Tools-cmm.826 ===============

Item was changed:
  ----- Method: ContextVariablesInspector>>selection (in category 'selecting') -----
  selection
  "Refer to the comment in Inspector|selection."
+ ^selectionIndex
+ caseOf: {
+ [0] -> [''].
+ [1] -> [object].
+ [2] -> [object actualStackSize > 0 ifTrue: [object top] ifFalse: ['']].
+ [3] -> [self tempsAndValues] }
+ otherwise:
+ [object debuggerMap namedTempAt: selectionIndex - 3 in: object]!
- selectionIndex = 0 ifTrue:[^''].
- selectionIndex = 1 ifTrue: [^object].
- selectionIndex = 2 ifTrue: [^object actualStackSize > 0 ifTrue: [object top] ifFalse: ['']].
- selectionIndex = 3 ifTrue: [^object tempsAndValues].
- ^object debuggerMap namedTempAt: selectionIndex - 3 in: object!

Item was added:
+ ----- Method: ContextVariablesInspector>>tempsAndValues (in category 'selecting') -----
+ tempsAndValues
+ "Answer a string of the temporary variables and their current values"
+ | debuggerMap integerClasses aStream |
+ aStream := WriteStream on: (String new: 100).
+ debuggerMap := object debuggerMap.
+ integerClasses := Integer allSubclasses.
+ (debuggerMap tempNamesForContext: object) doWithIndex:
+ [:title :index | | temp |
+ aStream nextPutAll: title; nextPut: $:; space; tab.
+ temp := debuggerMap namedTempAt: index in: object.
+ (integerClasses identityIndexOf: (object objectClass: temp)) ~= 0
+ ifTrue: [temp storeOn: aStream base: self defaultIntegerBase]
+ ifFalse: [object print: temp on: aStream].
+ aStream cr].
+ ^aStream contents!