#QUALITY by stefan
authorStefan Vogel <sv@exept.de>
Tue, 31 Jan 2017 21:50:47 +0100
changeset 17305 862a23b67f68
parent 17301 6a1aa6e554dd
child 17306 c31372fbe05a
#QUALITY by stefan class: DebugView changed: #showingContext2:nesting:
DebugView.st
--- a/DebugView.st	Mon Jan 30 15:12:22 2017 +0100
+++ b/DebugView.st	Tue Jan 31 21:50:47 2017 +0100
@@ -16,58 +16,58 @@
 "{ NameSpace: Smalltalk }"
 
 StandardSystemView subclass:#DebugView
-        instanceVariableNames:'busy haveControl exitAction canContinue contextView codeView
-                receiverInspector contextInspector contextArray selectedContext
-                catchBlock grabber mayProceed traceView tracing bigStep
-                skipLineNr abortButton terminateButton continueButton stepButton
-                nextButton nextOverButton nextOutButton sendButton returnButton
-                restartButton exclusive inspecting nChainShown inspectedProcess
-                updateProcess updateButton defineButton monitorToggle stepping
-                steppedContextLineno actualContext inWrap stackInspector
-                steppedContext wrapperContext firstContext stepHow cachable
-                currentMethod ignoreBreakpoints stepUntilEntering
-                lastStepUntilEntering lastSelectionInReceiverInspector
-                lastSelectionInContextInspector canShowMore reportButton
-                setOfHiddenCallingSelectors isStoppedAtHaltOrBreakPoint
-                exceptionInfoLabel methodCodeToggle
-                methodCodeToggleSelectionHolder
-                isStoppedAtBreakPointWithParameter breakPointParameter
-                hideSupportCode contextInfoLabel resendButton
-                gotoDialogOpenerButton isStoppedInModalDialog selectorToDefine
-                classToDefineIn gotoApplicationActionMethodButton
-                isStoppedInApplicationAction isStoppedAtStatementBreakpoint
-                verboseBacktraceHolder'
-        classVariableNames:'CachedDebugger CachedExclusive OpenDebuggers MoreDebuggingDetail
-                DebuggingDebugger DebuggingDebugger2 DebuggingContextWalk
-                DefaultDebuggerBackgroundColor InitialNChainShown IgnoredHalts
-                ShowThreadID LastIgnoreHaltNTimes LastIgnoreHaltDuration
-                LastExtent LastOrigin RememberedCallChain DebuggingDebugger3
-                NumberOfDebuggers DebuggerOnMainDisplayOnly'
-        poolDictionaries:''
-        category:'Interface-Debugger'
+	instanceVariableNames:'busy haveControl exitAction canContinue contextView codeView
+		receiverInspector contextInspector contextArray selectedContext
+		catchBlock grabber mayProceed traceView tracing bigStep
+		skipLineNr abortButton terminateButton continueButton stepButton
+		nextButton nextOverButton nextOutButton sendButton returnButton
+		restartButton exclusive inspecting nChainShown inspectedProcess
+		updateProcess updateButton defineButton monitorToggle stepping
+		steppedContextLineno actualContext inWrap stackInspector
+		steppedContext wrapperContext firstContext stepHow cachable
+		currentMethod ignoreBreakpoints stepUntilEntering
+		lastStepUntilEntering lastSelectionInReceiverInspector
+		lastSelectionInContextInspector canShowMore reportButton
+		setOfHiddenCallingSelectors isStoppedAtHaltOrBreakPoint
+		exceptionInfoLabel methodCodeToggle
+		methodCodeToggleSelectionHolder
+		isStoppedAtBreakPointWithParameter breakPointParameter
+		hideSupportCode contextInfoLabel resendButton
+		gotoDialogOpenerButton isStoppedInModalDialog selectorToDefine
+		classToDefineIn gotoApplicationActionMethodButton
+		isStoppedInApplicationAction isStoppedAtStatementBreakpoint
+		verboseBacktraceHolder'
+	classVariableNames:'CachedDebugger CachedExclusive OpenDebuggers MoreDebuggingDetail
+		DebuggingDebugger DebuggingDebugger2 DebuggingContextWalk
+		DefaultDebuggerBackgroundColor InitialNChainShown IgnoredHalts
+		ShowThreadID LastIgnoreHaltNTimes LastIgnoreHaltDuration
+		LastExtent LastOrigin RememberedCallChain DebuggingDebugger3
+		NumberOfDebuggers DebuggerOnMainDisplayOnly'
+	poolDictionaries:''
+	category:'Interface-Debugger'
 !
 
 Object subclass:#IgnoredHaltOrBreakpoint
-        instanceVariableNames:'ignoreEndTime ignoreCount ignoreUntilShiftKeyPressed
-                ignoredReceiverClasses ignoredProcesses
-                ignoredSendingClassAndSelectors'
-        classVariableNames:''
-        poolDictionaries:''
-        privateIn:DebugView
+	instanceVariableNames:'ignoreEndTime ignoreCount ignoreUntilShiftKeyPressed
+		ignoredReceiverClasses ignoredProcesses
+		ignoredSendingClassAndSelectors'
+	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'!
@@ -8150,6 +8150,8 @@
         sel == #valueNowOrOnUnwindDo: ifTrue:[^ false].
         sel == #valueOnUnwindDo: ifTrue:[^ false].
         sel == #on:do: ifTrue:[^ false].
+        sel == #on:do:ensure: ifTrue:[^ false].
+        sel == #on:do:ifCurtailed: ifTrue:[^ false].
 
         sel == #value ifTrue:[^ false].
         sel == #value: ifTrue:[^ false].
@@ -8161,6 +8163,7 @@
     ].
 
     aContext isBlockContext ifTrue:[
+        |home|
 "/        sel == #value ifTrue:[^ false].
 "/        sel == #value: ifTrue:[^ false].
 "/        sel == #value:value: ifTrue:[^ false].
@@ -8175,23 +8178,25 @@
 "/            ]
 "/        ]
 
-        aContext home notNil ifTrue:[
-            aContext home receiver isProtoObject ifFalse:[
-                (aContext home receiver isMemberOf:Semaphore) ifTrue:[
-                    (aContext home selector == #wait) ifTrue:[^ false].
-                    (aContext home selector == #waitWithTimeoutMs:) ifTrue:[^ false].
-                ]
-            ]
-        ]
-    ].
-
+        home := aContext home.
+        (home notNil 
+         and:[home receiver isProtoObject not 
+         and:[home receiver isKindOf:Semaphore]]) ifTrue:[
+            (home selector == #wait) ifTrue:[^ false].
+            (home selector == #waitWithTimeoutMs:) ifTrue:[^ false].
+        ].
+    ].
+
+    rec isProtoObject ifTrue:[
+        ^ true.
+    ].
     (rec isExceptionHandler) ifTrue:[
         sel == #handle:do: ifTrue:[^ false].
         sel == #handleDo: ifTrue:[^ false].
         (sel startsWith:#raise) ifTrue:[^ false].
         sel == #answer:do: ifTrue:[^ false].
     ].
-    (rec isProtoObject not and:[ rec isException] ) ifTrue:[
+    (rec isException) ifTrue:[
         sel == #doRaise ifTrue:[^ false].
         sel == #doCallHandler: ifTrue:[^ false].
         (sel == #raise or:[sel == #raiseRequest]) ifTrue:[
@@ -8217,6 +8222,7 @@
 
     "Created: / 17-11-2001 / 19:34:20 / cg"
     "Modified: / 27-07-2012 / 17:26:54 / cg"
+    "Modified: / 31-01-2017 / 20:21:32 / stefan"
 ! !
 
 !DebugView methodsFor:'private-control loop'!