Skip to content

Commit 67274ab

Browse files
committed
Adding a setting to change default stack selection in debugger to show TestAsserter contexts when step Into
1 parent dc80ce5 commit 67274ab

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

src/NewTools-Debugger/StDebugger.class.st

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -774,6 +774,7 @@ StDebugger >> filterStack: aStack [
774774
StDebugger >> findFirstRelevantStackIndexIn: aStack [
775775
| counter |
776776
counter := 1.
777+
StDebuggerSettings forceDebuggerStackSelection ifFalse: [ ^ counter ].
777778
aStack do: [ :context |
778779
context method methodClass == TestAsserter ifFalse: [ ^ counter ].
779780
counter := counter + 1 ].

src/NewTools-Debugger/StDebuggerSettings.class.st

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ Class {
3030
#name : 'StDebuggerSettings',
3131
#superclass : 'Object',
3232
#classVars : [
33+
'ForceDebuggerStackSelection',
3334
'LastKnownPosition',
3435
'PreserveWindowPosition'
3536
],
@@ -38,13 +39,44 @@ Class {
3839
#tag : 'Model'
3940
}
4041

42+
{ #category : 'accessing' }
43+
StDebuggerSettings class >> defaultForceDebuggerStackSelection [
44+
^ false
45+
]
46+
4147
{ #category : 'accessing' }
4248
StDebuggerSettings class >> defaultPosition [
4349

4450
^ 10 @ 10
4551

4652
]
4753

54+
{ #category : 'accessing' }
55+
StDebuggerSettings class >> forceDebuggerStackSelection [
56+
"Force the stack to not select TestAsserter contexts by default"
57+
58+
^ ForceDebuggerStackSelection
59+
ifNil: [ ForceDebuggerStackSelection := self defaultForceDebuggerStackSelection ]
60+
]
61+
62+
{ #category : 'accessing' }
63+
StDebuggerSettings class >> forceDebuggerStackSelection: aBoolean [
64+
65+
ForceDebuggerStackSelection := aBoolean
66+
]
67+
68+
{ #category : 'accessing' }
69+
StDebuggerSettings class >> forceDebuggerStackSelectionSetting: aBuilder [
70+
<systemsettings>
71+
72+
(aBuilder setting: #forceDebuggerStackSelection)
73+
label: 'Force Debugger Stack Selection';
74+
target: self;
75+
parent: #debugging;
76+
default: self defaultForceDebuggerStackSelection;
77+
description: 'Force the stack to not select TestAsserter context by default'.
78+
]
79+
4880
{ #category : 'class initialization' }
4981
StDebuggerSettings class >> initialize [
5082

0 commit comments

Comments
 (0)