DebugView.st
branchjv
changeset 12819 0ce340e972c4
parent 12807 ba8c5416aa28
parent 12812 52bef38f9017
child 13170 c9b815af5777
--- a/DebugView.st	Mon Jun 03 18:43:00 2013 +0100
+++ b/DebugView.st	Tue Jun 04 16:21:31 2013 +0100
@@ -12,52 +12,52 @@
 "{ Package: 'stx:libtool' }"
 
 StandardSystemView subclass:#DebugView
-	instanceVariableNames:'busy haveControl exitAction canContinue contextView codeView
-		receiverInspector contextInspector contextArray selectedContext
-		catchBlock grabber mayProceed traceView tracing bigStep
-		skipLineNr steppedContextAddress abortButton terminateButton
-		continueButton stepButton nextButton nextOverButton nextOutButton
-		sendButton returnButton restartButton exclusive inspecting
-		nChainShown inspectedProcess updateProcess stopButton
-		updateButton defineButton monitorToggle stepping
-		steppedContextLineno stepForReturn actualContext inWrap
-		stackInspector steppedContext wrapperContext verboseBacktrace
-		firstContext stepHow cachable currentMethod ignoreBreakpoints
-		stepUntilEntering lastStepUntilEntering
-		lastSelectionInReceiverInspector lastSelectionInContextInspector
-		canShowMore exitAbort reportButton setOfHiddenCallingSelectors
-		isStoppedAtHaltOrBreakPoint exceptionInfoLabel methodCodeToggle
-		methodCodeToggleSelectionHolder
-		isStoppedAtBreakPointWithParameter breakPointParameter
-		hideSupportCode contextInfoLabel'
-	classVariableNames:'CachedDebugger CachedExclusive OpenDebuggers MoreDebuggingDetail
-		DebuggingDebugger DebuggingDebugger2
-		DefaultDebuggerBackgroundColor InitialNChainShown IgnoredHalts
-		ShowThreadID LastIgnoreHaltNTimes LastIgnoreHaltDuration
-		LastExtent LastOrigin RememberedCallChain DebuggingDebugger3'
-	poolDictionaries:''
-	category:'Interface-Debugger'
+        instanceVariableNames:'busy haveControl exitAction canContinue contextView codeView
+                receiverInspector contextInspector contextArray selectedContext
+                catchBlock grabber mayProceed traceView tracing bigStep
+                skipLineNr steppedContextAddress abortButton terminateButton
+                continueButton stepButton nextButton nextOverButton nextOutButton
+                sendButton returnButton restartButton exclusive inspecting
+                nChainShown inspectedProcess updateProcess stopButton
+                updateButton defineButton monitorToggle stepping
+                steppedContextLineno stepForReturn actualContext inWrap
+                stackInspector steppedContext wrapperContext verboseBacktrace
+                firstContext stepHow cachable currentMethod ignoreBreakpoints
+                stepUntilEntering lastStepUntilEntering
+                lastSelectionInReceiverInspector lastSelectionInContextInspector
+                canShowMore exitAbort reportButton setOfHiddenCallingSelectors
+                isStoppedAtHaltOrBreakPoint exceptionInfoLabel methodCodeToggle
+                methodCodeToggleSelectionHolder
+                isStoppedAtBreakPointWithParameter breakPointParameter
+                hideSupportCode contextInfoLabel'
+        classVariableNames:'CachedDebugger CachedExclusive OpenDebuggers MoreDebuggingDetail
+                DebuggingDebugger DebuggingDebugger2
+                DefaultDebuggerBackgroundColor InitialNChainShown IgnoredHalts
+                ShowThreadID LastIgnoreHaltNTimes LastIgnoreHaltDuration
+                LastExtent LastOrigin RememberedCallChain DebuggingDebugger3'
+        poolDictionaries:''
+        category:'Interface-Debugger'
 !
 
 Object subclass:#IgnoredHaltOrBreakpoint
-	instanceVariableNames:'ignoreEndTime ignoreCount ignoreUntilShiftKeyPressed'
-	classVariableNames:''
-	poolDictionaries:''
-	privateIn:DebugView
+        instanceVariableNames:'ignoreEndTime ignoreCount ignoreUntilShiftKeyPressed'
+        classVariableNames:''
+        poolDictionaries:''
+        privateIn:DebugView
 !
 
 DebugView::IgnoredHaltOrBreakpoint subclass:#IgnoredHalt
-	instanceVariableNames:'weakMethodHolder lineNumber'
-	classVariableNames:''
-	poolDictionaries:''
-	privateIn:DebugView
+        instanceVariableNames:'weakMethodHolder lineNumber'
+        classVariableNames:''
+        poolDictionaries:''
+        privateIn:DebugView
 !
 
 DebugView::IgnoredHaltOrBreakpoint subclass:#IgnoredBreakpoint
-	instanceVariableNames:'parameter'
-	classVariableNames:''
-	poolDictionaries:''
-	privateIn:DebugView
+        instanceVariableNames:'parameter'
+        classVariableNames:''
+        poolDictionaries:''
+        privateIn:DebugView
 !
 
 !DebugView class methodsFor:'documentation'!
@@ -1709,10 +1709,10 @@
          view at the previous position, without a need for the user to set the
          position again
         "
-        iAmNew ifFalse:[
+        iAmNew ifTrue:[
+            self realize.
+        ] ifFalse:[
             self remap.
-        ] ifTrue:[
-            self realize.
         ].
         self setForegroundWindow.
 
@@ -7326,7 +7326,7 @@
     "walk up context chain and find highest context which is either the selected context,
      or - if its a block-context - whose home is the selected context"
 
-    |sel implementorClass method category|
+    |sel implementorClass receiverClass method category|
 
     codeView withWaitCursorDo:[
 "/        "
@@ -7367,9 +7367,9 @@
                 category := method category
             ]
         ] ifFalse:[
-            implementorClass := selectedContext receiver class.
-            implementorClass := implementorClass whichClassImplements:sel.
-
+            receiverClass := selectedContext receiver class.
+            implementorClass := receiverClass whichClassImplements:sel.
+            implementorClass := implementorClass ? receiverClass.
             implementorClass ~~ Object ifTrue:[
                 implementorClass := Dialog
                                         request:('Define ''%1'' in class:' bindWith:sel allBold)
@@ -7682,10 +7682,12 @@
                 'DebugView [warning]: error while accessing context: ' errorPrint.
                 ex description errorPrintCR.
                 contextInspector inspect:nil.
+                contextInspector fieldListLabel:('Context').
                 ex suspendedContext fullPrintAllOn: Transcript.
 "/ ex reject.
             ] do:[
                 contextInspector inspect:con.
+                "/ contextInspector fieldListLabel:('Context: ',con method whoString).
                 contextInspector tryToSelectKeyNamed:lastSelectionInContextInspector.
             ].
 
@@ -7837,6 +7839,7 @@
                         ]
                     ]
                 ].
+                contextInspector fieldListLabel:('Context: ', method whoString).
                 method notNil ifTrue:[
                     Error handle:[:ex |
 "/ not covered by Error, anyway
@@ -7986,6 +7989,7 @@
             ].
 
             receiverInspector inspect:rec.
+            receiverInspector fieldListLabel:('Receiver: ',rec classNameWithArticle).
             receiverInspector tryToSelectKeyNamed:lastSelectionInReceiverInspector.
 
             "
@@ -8323,11 +8327,11 @@
 !DebugView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.584 2013-05-07 13:16:27 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.586 2013-06-03 11:29:13 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.584 2013-05-07 13:16:27 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.586 2013-06-03 11:29:13 cg Exp $'
 !
 
 version_HG
@@ -8336,7 +8340,7 @@
 !
 
 version_SVN
-    ^ '§Id: DebugView.st 7818 2011-08-18 11:42:39Z vranyj1 §'
+    ^ '$Id: DebugView.st,v 1.586 2013-06-03 11:29:13 cg Exp $'
 ! !