--- a/DebugView.st Fri Dec 14 22:22:37 2001 +0100
+++ b/DebugView.st Sat Dec 15 13:00:21 2001 +0100
@@ -4113,7 +4113,7 @@
!
explainSelection
- |interval node definingNode crsrPos nm argIdx|
+ |interval node definingNode crsrPos nm varIdx|
interval := self selectedInterval.
interval isEmpty ifTrue:[
@@ -4137,12 +4137,33 @@
definingNode := node whoDefines:nm.
definingNode notNil ifTrue:[
definingNode isMethod ifTrue:[
- argIdx := definingNode arguments findFirst:[:arg | arg name = nm].
- argIdx ~~ 0 ifTrue:[
-Transcript showCR:'mArg', argIdx printString.
+ varIdx := definingNode arguments findFirst:[:arg | arg name = nm].
+ varIdx ~~ 0 ifTrue:[
+ self showValue:(actualContext methodHome argAt:varIdx)
]
- ]
+ ].
+ definingNode isBlock ifTrue:[
+ varIdx := definingNode arguments findFirst:[:arg | arg name = nm].
+ (definingNode arguments contains:[:arg | arg name = nm]) ifTrue:[
+ varIdx ~~ 0 ifTrue:[
+ ]
+ ].
+ ].
+ definingNode parent notNil ifTrue:[
+ definingNode parent isMethod ifTrue:[
+ varIdx := definingNode temporaries findFirst:[:arg | arg name = nm].
+ varIdx ~~ 0 ifTrue:[
+ self showValue:(actualContext methodHome varAt:varIdx)
+ ].
+ ].
+ definingNode parent isBlock ifTrue:[
+ varIdx := definingNode temporaries findFirst:[:arg | arg name = nm].
+ varIdx ~~ 0 ifTrue:[
+ ].
+ ]
+ ].
].
+
]
].
!
@@ -4177,7 +4198,6 @@
node := tree whichNodeIsContainedBy:interval.
node isNil ifTrue: [
-Transcript showCR:'xxx'.
node := self findNodeIn:tree forInterval:interval
].
^ node
@@ -4627,6 +4647,10 @@
self showError:'** the process has terminated **'
!
+showValue:aValue
+ Transcript showCR:aValue printString
+!
+
showingContext1:aContext calling:calledContext
|sel rec mthd mthdClass calledSel calledRec|
@@ -5827,6 +5851,6 @@
!DebugView class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.308 2001-12-14 21:22:37 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.309 2001-12-15 12:00:21 cg Exp $'
! !
DebugView initialize!