--- 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'!