author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Mon, 10 Jun 2019 15:22:49 +0100 | |
changeset 166 | d55f55ac977b |
parent 164 | 364ebdd1d42c |
child 168 | 6a4863394260 |
permissions | -rw-r--r-- |
77
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
1 |
" |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
2 |
jv:vdb - Visual / VM Debugger |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
3 |
Copyright (C) 2015-now Jan Vrany |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
4 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
5 |
This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License' |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
6 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
7 |
You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/ |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
8 |
" |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
9 |
"{ Package: 'jv:vdb' }" |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
10 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
11 |
"{ NameSpace: Smalltalk }" |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
12 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
13 |
VDBAbstractTreeApplication subclass:#VDBInstructionListApplication |
80
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
14 |
instanceVariableNames:'instructionListHolder instructionBasicBlocks |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
15 |
selectedInstructionHolder selectedInstructionBranchTargetAddress |
164
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
16 |
selectedInstructionBasicBlock disassemblableHolder frameHolder |
101
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
17 |
canExecStepOverInstructionHolder canExecStepIntoInstructionHolder |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
18 |
canExecBackOverInstructionHolder canExecBackIntoInstructionHolder' |
77
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
19 |
classVariableNames:'' |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
20 |
poolDictionaries:'' |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
21 |
category:'VDB-UI-Others' |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
22 |
! |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
23 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
24 |
!VDBInstructionListApplication class methodsFor:'documentation'! |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
25 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
26 |
copyright |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
27 |
" |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
28 |
jv:vdb - Visual / VM Debugger |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
29 |
Copyright (C) 2015-now Jan Vrany |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
30 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
31 |
This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License' |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
32 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
33 |
You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/ |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
34 |
" |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
35 |
! ! |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
36 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
37 |
!VDBInstructionListApplication class methodsFor:'accessing'! |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
38 |
|
115
0dd989ce3ae7
Cleanup default window titles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
113
diff
changeset
|
39 |
defaultWindowTitle |
0dd989ce3ae7
Cleanup default window titles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
113
diff
changeset
|
40 |
^ self resources string:'Assembly' |
77
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
41 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
42 |
"Created: / 22-06-2018 / 12:25:51 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
43 |
! ! |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
44 |
|
101
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
45 |
!VDBInstructionListApplication class methodsFor:'menu specs'! |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
46 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
47 |
contextMenu |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
48 |
"This resource specification was automatically generated |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
49 |
by the MenuEditor of ST/X." |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
50 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
51 |
"Do not manually edit this!! If it is corrupted, |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
52 |
the MenuEditor may not be able to read the specification." |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
53 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
54 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
55 |
" |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
56 |
MenuEditor new openOnClass:VDBInstructionListApplication andSelector:#contextMenu |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
57 |
(Menu new fromLiteralArrayEncoding:(VDBInstructionListApplication contextMenu)) startUp |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
58 |
" |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
59 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
60 |
<resource: #menu> |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
61 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
62 |
^ |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
63 |
#(Menu |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
64 |
( |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
65 |
(MenuItem |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
66 |
label: 'Context Menu Slice' |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
67 |
isVisible: true |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
68 |
submenuChannel: contextMenuApplSlice |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
69 |
isMenuSlice: true |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
70 |
) |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
71 |
(MenuItem |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
72 |
label: 'Item Menu Slice' |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
73 |
isVisible: true |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
74 |
submenuChannel: contextMenuItemSlice |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
75 |
isMenuSlice: true |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
76 |
) |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
77 |
(MenuItem |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
78 |
label: 'Copy Menu Slice' |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
79 |
isVisible: true |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
80 |
submenuChannel: contextMenuCopySlice |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
81 |
isMenuSlice: true |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
82 |
) |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
83 |
(MenuItem |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
84 |
label: '-' |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
85 |
isVisible: true |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
86 |
) |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
87 |
(MenuItem |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
88 |
label: 'Inspect Menu Slice' |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
89 |
isVisible: true |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
90 |
submenuChannel: contextMenuInspectSlice |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
91 |
isMenuSlice: true |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
92 |
) |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
93 |
(MenuItem |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
94 |
label: '-' |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
95 |
) |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
96 |
(MenuItem |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
97 |
label: 'Pin Menu' |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
98 |
itemValue: doPinMenuAs:item: |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
99 |
isVisible: true |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
100 |
labelImage: (ResourceRetriever VDBIconLibrary pin 'Pin Menu') |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
101 |
argument: 'Disassembly Actions' |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
102 |
) |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
103 |
) |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
104 |
nil |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
105 |
nil |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
106 |
) |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
107 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
108 |
"Modified: / 01-09-2018 / 14:55:49 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
109 |
! |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
110 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
111 |
contextMenuApplSlice |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
112 |
"This resource specification was automatically generated |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
113 |
by the MenuEditor of ST/X." |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
114 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
115 |
"Do not manually edit this!! If it is corrupted, |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
116 |
the MenuEditor may not be able to read the specification." |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
117 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
118 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
119 |
" |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
120 |
MenuEditor new openOnClass:VDBInstructionListApplication andSelector:#contextMenuApplSlice |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
121 |
(Menu new fromLiteralArrayEncoding:(VDBInstructionListApplication contextMenuApplSlice)) startUp |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
122 |
" |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
123 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
124 |
<resource: #menu> |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
125 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
126 |
^ |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
127 |
#(Menu |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
128 |
( |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
129 |
(MenuItem |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
130 |
enabled: canShowCurrentHolder |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
131 |
label: 'Show Current Instruction' |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
132 |
itemValue: doShowCurrent |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
133 |
isVisible: true |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
134 |
) |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
135 |
(MenuItem |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
136 |
enabled: canShowBranchTargetHolder |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
137 |
label: 'Show Branch Traget' |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
138 |
itemValue: doShowBranchTarget |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
139 |
isVisible: true |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
140 |
) |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
141 |
(MenuItem |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
142 |
enabled: canShowSelectionHolder |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
143 |
label: 'Show Selection' |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
144 |
itemValue: doShowSelection |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
145 |
isVisible: true |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
146 |
) |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
147 |
(MenuItem |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
148 |
label: '-' |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
149 |
isVisible: true |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
150 |
) |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
151 |
(MenuItem |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
152 |
enabled: canExecStepOverInstructionHolder |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
153 |
label: 'Step Over' |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
154 |
itemValue: doExecStepOverInstruction |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
155 |
isVisible: true |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
156 |
labelImage: (ResourceRetriever VDBIconLibrary actionStepOver6x16 'Step Over One Instruction') |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
157 |
) |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
158 |
(MenuItem |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
159 |
enabled: canExecStepIntoInstructionHolder |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
160 |
label: 'Step Into' |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
161 |
itemValue: doExecStepIntoInstruction |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
162 |
isVisible: true |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
163 |
labelImage: (ResourceRetriever VDBIconLibrary actionStepInto6x16 'Step Into One Instruction') |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
164 |
) |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
165 |
(MenuItem |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
166 |
label: '-' |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
167 |
isVisible: true |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
168 |
) |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
169 |
(MenuItem |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
170 |
enabled: canExecBackOverInstructionHolder |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
171 |
label: 'Back Over' |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
172 |
itemValue: doExecBackOverInstruction |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
173 |
isVisible: true |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
174 |
) |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
175 |
(MenuItem |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
176 |
enabled: canExecBackIntoInstructionHolder |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
177 |
label: 'Back Into' |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
178 |
itemValue: doExecBackIntoInstruction |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
179 |
isVisible: true |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
180 |
) |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
181 |
(MenuItem |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
182 |
label: '-' |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
183 |
isVisible: true |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
184 |
) |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
185 |
) |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
186 |
nil |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
187 |
nil |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
188 |
) |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
189 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
190 |
"Modified: / 01-09-2018 / 22:02:42 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
191 |
! ! |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
192 |
|
80
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
193 |
!VDBInstructionListApplication class methodsFor:'utilities'! |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
194 |
|
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
195 |
instructions: aCollection title: aString |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
196 |
^ self new |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
197 |
instructionList: aCollection; |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
198 |
title: aString; |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
199 |
yourself |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
200 |
|
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
201 |
"Created: / 26-06-2018 / 11:03:25 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
202 |
! ! |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
203 |
|
77
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
204 |
!VDBInstructionListApplication methodsFor:'accessing'! |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
205 |
|
164
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
206 |
disassemblable |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
207 |
^ self disassemblableHolder value |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
208 |
|
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
209 |
"Created: / 10-06-2019 / 10:06:17 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
210 |
! |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
211 |
|
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
212 |
disassemblable: anObject |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
213 |
self disassemblableHolder value: anObject |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
214 |
|
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
215 |
"Created: / 10-06-2019 / 10:06:06 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
216 |
! |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
217 |
|
92
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
218 |
frame |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
219 |
^ self frameHolder value |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
220 |
|
164
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
221 |
"Created: / 10-06-2019 / 12:44:27 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
92
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
222 |
! |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
223 |
|
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
224 |
frame: aGDBFrame |
164
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
225 |
^ self frameHolder value: aGDBFrame |
92
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
226 |
|
164
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
227 |
"Created: / 10-06-2019 / 12:44:34 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
92
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
228 |
! |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
229 |
|
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
230 |
instructionList |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
231 |
^ self instructionListHolder value |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
232 |
|
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
233 |
"Created: / 07-08-2018 / 13:27:50 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
234 |
! |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
235 |
|
77
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
236 |
instructionList: aCollection |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
237 |
self instructionListHolder value: aCollection |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
238 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
239 |
"Created: / 22-06-2018 / 12:48:35 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
240 |
! ! |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
241 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
242 |
!VDBInstructionListApplication methodsFor:'aspects'! |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
243 |
|
92
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
244 |
backgroundColorFor: aVDBPresenter |
164
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
245 |
(self frame notNil and:[aVDBPresenter isInstructionPresenter]) ifTrue:[ |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
246 |
disassemblableHolder value address == aVDBPresenter address ifTrue:[ |
92
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
247 |
^ Color green. |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
248 |
]. |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
249 |
]. |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
250 |
|
80
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
251 |
selectedInstructionBranchTargetAddress notNil ifTrue:[ |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
252 |
aVDBPresenter isInstructionPresenter ifTrue:[ |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
253 |
aVDBPresenter instruction address = selectedInstructionBranchTargetAddress ifTrue:[ |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
254 |
^ Color blue lighter lighter |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
255 |
]. |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
256 |
]. |
93
bd0a7febf26d
UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
257 |
selectedInstructionBasicBlock notNil ifTrue:[ |
bd0a7febf26d
UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
258 |
| successor2 | |
bd0a7febf26d
UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
259 |
|
bd0a7febf26d
UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
260 |
successor2 := selectedInstructionBasicBlock successor2. |
bd0a7febf26d
UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
261 |
(successor2 notNil and:[ successor2 includesAddress: aVDBPresenter address] ) ifTrue:[ |
bd0a7febf26d
UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
262 |
^ Color blue lighter lighter lighter |
bd0a7febf26d
UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
263 |
]. |
bd0a7febf26d
UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
264 |
]. |
80
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
265 |
]. |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
266 |
selectedInstructionBasicBlock notNil ifTrue:[ |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
267 |
(selectedInstructionBasicBlock includesAddress: aVDBPresenter address) ifTrue:[ |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
268 |
^ Color yellow lighter lighter |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
269 |
]. |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
270 |
]. |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
271 |
^ nil |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
272 |
|
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
273 |
"Created: / 26-06-2018 / 11:26:25 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
164
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
274 |
"Modified: / 10-06-2019 / 14:52:30 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
275 |
! |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
276 |
|
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
277 |
disassemblableHolder |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
278 |
disassemblableHolder isNil ifTrue:[ |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
279 |
disassemblableHolder := ValueHolder new. |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
280 |
disassemblableHolder addDependent:self. |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
281 |
]. |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
282 |
^ disassemblableHolder |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
283 |
|
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
284 |
"Created: / 10-06-2019 / 10:03:38 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
285 |
! |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
286 |
|
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
287 |
disassemblableHolder:something |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
288 |
"set the 'frameHolder' value holder (automatically generated)" |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
289 |
|
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
290 |
|oldValue newValue| |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
291 |
|
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
292 |
disassemblableHolder notNil ifTrue:[ |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
293 |
oldValue := disassemblableHolder value. |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
294 |
disassemblableHolder removeDependent:self. |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
295 |
]. |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
296 |
disassemblableHolder := something. |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
297 |
disassemblableHolder notNil ifTrue:[ |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
298 |
disassemblableHolder addDependent:self. |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
299 |
]. |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
300 |
newValue := disassemblableHolder value. |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
301 |
oldValue ~~ newValue ifTrue:[ |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
302 |
self update:#value with:newValue from:disassemblableHolder. |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
303 |
]. |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
304 |
|
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
305 |
"Created: / 10-06-2019 / 10:03:44 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
80
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
306 |
! |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
307 |
|
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
308 |
foregroundColorFor: aVDBAbstractPresenter |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
309 |
^ aVDBAbstractPresenter isInstructionsAndSourcePresenter |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
310 |
ifTrue:[ Color gray ] |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
311 |
ifFalse:[ nil ] |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
312 |
|
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
313 |
"Created: / 26-06-2018 / 13:07:12 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
314 |
! |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
315 |
|
92
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
316 |
frameHolder |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
317 |
"return/create the 'frameHolder' value holder (automatically generated)" |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
318 |
|
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
319 |
frameHolder isNil ifTrue:[ |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
320 |
frameHolder := ValueHolder new. |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
321 |
frameHolder addDependent:self. |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
322 |
]. |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
323 |
^ frameHolder |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
324 |
! |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
325 |
|
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
326 |
frameHolder:something |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
327 |
"set the 'frameHolder' value holder (automatically generated)" |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
328 |
|
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
329 |
|oldValue newValue| |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
330 |
|
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
331 |
frameHolder notNil ifTrue:[ |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
332 |
oldValue := frameHolder value. |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
333 |
frameHolder removeDependent:self. |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
334 |
]. |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
335 |
frameHolder := something. |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
336 |
frameHolder notNil ifTrue:[ |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
337 |
frameHolder addDependent:self. |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
338 |
]. |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
339 |
newValue := frameHolder value. |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
340 |
oldValue ~~ newValue ifTrue:[ |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
341 |
self update:#value with:newValue from:frameHolder. |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
342 |
]. |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
343 |
! |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
344 |
|
77
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
345 |
instructionListHolder |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
346 |
"return/create the 'instructionListHolder' value holder (automatically generated)" |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
347 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
348 |
instructionListHolder isNil ifTrue:[ |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
349 |
instructionListHolder := ValueHolder new. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
350 |
instructionListHolder addDependent:self. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
351 |
]. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
352 |
^ instructionListHolder |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
353 |
! |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
354 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
355 |
instructionListHolder:valueModel |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
356 |
"set the 'instructionListHolder' value holder (automatically generated)" |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
357 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
358 |
|oldValue newValue| |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
359 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
360 |
instructionListHolder notNil ifTrue:[ |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
361 |
oldValue := instructionListHolder value. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
362 |
instructionListHolder removeDependent:self. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
363 |
]. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
364 |
instructionListHolder := valueModel. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
365 |
instructionListHolder notNil ifTrue:[ |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
366 |
instructionListHolder addDependent:self. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
367 |
]. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
368 |
newValue := instructionListHolder value. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
369 |
oldValue ~~ newValue ifTrue:[ |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
370 |
self update:#value with:newValue from:instructionListHolder. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
371 |
]. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
372 |
! |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
373 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
374 |
selectedInstructionHolder |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
375 |
"return/create the 'selectedInstructionHolder' value holder (automatically generated)" |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
376 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
377 |
selectedInstructionHolder isNil ifTrue:[ |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
378 |
selectedInstructionHolder := ValueHolder new. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
379 |
selectedInstructionHolder addDependent:self. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
380 |
]. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
381 |
^ selectedInstructionHolder |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
382 |
! |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
383 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
384 |
selectedInstructionHolder:valueModel |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
385 |
"set the 'selectedInstructionHolder' value holder (automatically generated)" |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
386 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
387 |
|oldValue newValue| |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
388 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
389 |
selectedInstructionHolder notNil ifTrue:[ |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
390 |
oldValue := selectedInstructionHolder value. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
391 |
selectedInstructionHolder removeDependent:self. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
392 |
]. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
393 |
selectedInstructionHolder := valueModel. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
394 |
selectedInstructionHolder notNil ifTrue:[ |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
395 |
selectedInstructionHolder addDependent:self. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
396 |
]. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
397 |
newValue := selectedInstructionHolder value. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
398 |
oldValue ~~ newValue ifTrue:[ |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
399 |
self update:#value with:newValue from:selectedInstructionHolder. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
400 |
]. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
401 |
! ! |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
402 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
403 |
!VDBInstructionListApplication methodsFor:'change & update'! |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
404 |
|
80
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
405 |
enqueueDelayedUpdateBasicBlocks |
154
26937faa5a97
Use standard `#enqueueMessage:` mechanism to enqueue delayed updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
151
diff
changeset
|
406 |
self enqueueMessage: #delayedUpdateBasicBlocks |
80
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
407 |
|
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
408 |
"Created: / 26-06-2018 / 12:20:20 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
154
26937faa5a97
Use standard `#enqueueMessage:` mechanism to enqueue delayed updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
151
diff
changeset
|
409 |
"Modified: / 18-02-2019 / 10:23:43 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
80
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
410 |
! |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
411 |
|
113
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
412 |
enqueueDelayedUpdateButtonEnablements |
154
26937faa5a97
Use standard `#enqueueMessage:` mechanism to enqueue delayed updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
151
diff
changeset
|
413 |
self enqueueMessage: #delayedUpdateButtonEnablements |
113
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
414 |
|
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
415 |
"Created: / 03-10-2018 / 12:12:43 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
154
26937faa5a97
Use standard `#enqueueMessage:` mechanism to enqueue delayed updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
151
diff
changeset
|
416 |
"Modified: / 18-02-2019 / 10:23:46 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
113
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
417 |
! |
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
418 |
|
77
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
419 |
update:aspect with:param from:sender |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
420 |
"Invoked when an object that I depend upon sends a change notification." |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
421 |
|
151
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
422 |
sender == instructionListHolder ifTrue:[ |
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
423 |
self enqueueDelayedUpdateInternalList. |
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
424 |
^ self. |
77
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
425 |
]. |
164
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
426 |
sender == disassemblableHolder ifTrue:[ |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
427 |
self enqueueDelayedUpdateContents. |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
428 |
^ self. |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
429 |
]. |
92
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
430 |
sender == frameHolder ifTrue:[ |
164
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
431 |
self enqueueDelayedInvalidateInternalList. |
151
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
432 |
^ self. |
92
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
433 |
]. |
80
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
434 |
sender == selectedInstructionHolder ifTrue:[ |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
435 |
self updateAfterSelectedInstructionChanged. |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
436 |
]. |
77
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
437 |
super update:aspect with:param from:sender |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
438 |
|
151
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
439 |
"Modified: / 23-01-2019 / 16:37:11 / jv" |
164
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
440 |
"Modified: / 10-06-2019 / 12:43:11 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
80
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
441 |
! |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
442 |
|
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
443 |
updateAfterSelectedInstructionChanged |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
444 |
| selected | |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
445 |
|
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
446 |
selected := self selectedInstructionHolder value. |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
447 |
selected notNil ifTrue:[ |
93
bd0a7febf26d
UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
448 |
selected isBranch ifTrue:[ |
bd0a7febf26d
UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
449 |
selectedInstructionBranchTargetAddress := selected branchTarget. |
80
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
450 |
] ifFalse:[ |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
451 |
selectedInstructionBranchTargetAddress := nil. |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
452 |
]. |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
453 |
instructionBasicBlocks size > 1 ifTrue:[ |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
454 |
selectedInstructionBasicBlock := instructionBasicBlocks detect:[:e | e includesAddress: selected address ] ifNone: [ nil ] |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
455 |
] ifFalse:[ |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
456 |
selectedInstructionBasicBlock := nil. |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
457 |
]. |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
458 |
] ifFalse:[ |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
459 |
selectedInstructionBranchTargetAddress := nil. |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
460 |
selectedInstructionBasicBlock := nil. |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
461 |
|
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
462 |
]. |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
463 |
|
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
464 |
self enqueueDelayedInvalidateInternalList. |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
465 |
|
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
466 |
"Created: / 26-06-2018 / 11:33:06 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
467 |
"Modified: / 03-07-2018 / 14:56:10 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
101
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
468 |
! |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
469 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
470 |
updateButtonEnablements |
164
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
471 |
self enqueueDelayedUpdateButtonEnablements |
101
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
472 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
473 |
"Created: / 01-09-2018 / 14:49:02 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
164
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
474 |
"Modified: / 10-06-2019 / 10:11:50 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
77
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
475 |
! ! |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
476 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
477 |
!VDBInstructionListApplication methodsFor:'change & update-delayed'! |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
478 |
|
113
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
479 |
delayedInvalidateInternalList |
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
480 |
| frame | |
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
481 |
|
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
482 |
"/ First, force update of )cached) frames to get |
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
483 |
"/ updated PC. |
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
484 |
frame := self frame. |
164
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
485 |
frame notNil ifTrue:[ |
113
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
486 |
frame thread stack |
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
487 |
]. |
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
488 |
super delayedInvalidateInternalList |
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
489 |
|
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
490 |
"Created: / 03-10-2018 / 12:10:01 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
164
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
491 |
"Modified: / 10-06-2019 / 12:45:27 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
113
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
492 |
! |
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
493 |
|
80
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
494 |
delayedUpdateBasicBlocks |
93
bd0a7febf26d
UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
495 |
| instructions | |
bd0a7febf26d
UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
496 |
|
bd0a7febf26d
UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
497 |
instructions := OrderedCollection new. |
bd0a7febf26d
UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
498 |
self instructionsDo: [ :e | instructions add: e ]. |
bd0a7febf26d
UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
499 |
instructionBasicBlocks := VDBInstructionBasicBlock analyze: instructions. |
80
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
500 |
self enqueueDelayedInvalidateInternalList. |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
501 |
|
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
502 |
"Created: / 26-06-2018 / 12:20:36 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
93
bd0a7febf26d
UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
503 |
"Modified: / 16-08-2018 / 11:33:16 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
80
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
504 |
! |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
505 |
|
113
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
506 |
delayedUpdateButtonEnablements |
164
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
507 |
| disassemblable thread threadIsStopped canReverse | |
113
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
508 |
|
164
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
509 |
disassemblable := self disassemblable. |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
510 |
(disassemblable notNil and:[disassemblable respondsTo: #thread]) ifTrue:[ |
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
511 |
thread := disassemblable thread. |
113
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
512 |
]. |
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
513 |
threadIsStopped := thread notNil and:[ thread isStopped ]. |
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
514 |
canReverse := debugger notNil and:[ debugger hasFeature: 'reverse' ]. |
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
515 |
|
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
516 |
self canExecStepIntoInstructionHolder value: threadIsStopped. |
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
517 |
self canExecStepOverInstructionHolder value: threadIsStopped. |
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
518 |
|
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
519 |
self canExecBackIntoInstructionHolder value: threadIsStopped & canReverse. |
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
520 |
self canExecBackOverInstructionHolder value: threadIsStopped & canReverse. |
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
521 |
|
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
522 |
"Created: / 03-10-2018 / 12:12:02 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
164
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
523 |
"Modified: / 10-06-2019 / 10:17:06 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
113
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
524 |
! |
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
525 |
|
151
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
526 |
delayedUpdateContents |
164
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
527 |
| disassemblable instructions | |
113
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
528 |
|
164
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
529 |
disassemblable := self disassemblable. |
162
1c78b5a2747d
UX: display error message when a function cannot be disassembled
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
154
diff
changeset
|
530 |
instructions := #(). |
164
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
531 |
(disassemblable notNil "and:[ disassemblable hasSymbol ]") ifTrue:[ |
162
1c78b5a2747d
UX: display error message when a function cannot be disassembled
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
154
diff
changeset
|
532 |
[ |
164
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
533 |
instructions := disassemblable disassemble. |
162
1c78b5a2747d
UX: display error message when a function cannot be disassembled
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
154
diff
changeset
|
534 |
self hideMessage. |
1c78b5a2747d
UX: display error message when a function cannot be disassembled
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
154
diff
changeset
|
535 |
] on: GDBError do:[:ex | |
1c78b5a2747d
UX: display error message when a function cannot be disassembled
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
154
diff
changeset
|
536 |
self showMessage: (self resources string: (ex parameter propertyAt: #msg)). |
1c78b5a2747d
UX: display error message when a function cannot be disassembled
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
154
diff
changeset
|
537 |
]. |
113
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
538 |
]. |
162
1c78b5a2747d
UX: display error message when a function cannot be disassembled
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
154
diff
changeset
|
539 |
self instructionList: instructions. |
113
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
540 |
self updateButtonEnablements. |
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
541 |
|
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
542 |
"Created: / 01-10-2018 / 12:55:00 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
164
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
543 |
"Modified: / 10-06-2019 / 10:50:34 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
113
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
544 |
! |
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
545 |
|
77
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
546 |
delayedUpdateInternalList |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
547 |
| root | |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
548 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
549 |
root := self internalListHolder root. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
550 |
root children: |
94
e76206d071fc
UX: Allow to set a font for text, list views and pinned menus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
93
diff
changeset
|
551 |
((self instructionListHolder value ? #()) collect:[:model | |
77
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
552 |
(model isKindOf: GDBInstructionsAndSourceLine) ifTrue:[ |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
553 |
(VDBInstructionsAndSourcePresenter new) setInstructionsAndSource: model; |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
554 |
parent:root; |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
555 |
yourself |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
556 |
] ifFalse:[ |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
557 |
(VDBInstructionPresenter new) setInstruction: model; |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
558 |
parent:root; |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
559 |
yourself |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
560 |
]. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
561 |
]). |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
562 |
root expand. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
563 |
root children do:[:each | each expand ]. |
92
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
564 |
self frame notNil ifTrue:[ |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
565 |
self scrollToAddress: self frame address. |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
566 |
]. |
77
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
567 |
internalListView notNil ifTrue:[ |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
568 |
internalListView invalidate. |
80
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
569 |
]. |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
570 |
self enqueueDelayedUpdateBasicBlocks. |
77
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
571 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
572 |
"Created: / 27-02-2015 / 15:47:18 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
164
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
573 |
"Modified: / 10-06-2019 / 12:45:55 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
77
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
574 |
! |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
575 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
576 |
delayedUpdateSelection |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
577 |
| internalSelection | |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
578 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
579 |
internalSelection := self internalSelectionHolder value. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
580 |
internalSelection notNil ifTrue:[ |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
581 |
self selectedInstructionHolder value: internalSelection instruction |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
582 |
] ifFalse:[ |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
583 |
self selectedInstructionHolder value: nil |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
584 |
]. |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
585 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
586 |
"Modified: / 22-06-2018 / 15:08:26 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
587 |
! ! |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
588 |
|
92
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
589 |
!VDBInstructionListApplication methodsFor:'event handling'! |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
590 |
|
101
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
591 |
onCommandResultEvent: aGDBStoppedEvent |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
592 |
self updateButtonEnablements |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
593 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
594 |
"Created: / 01-06-2017 / 23:43:00 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
595 |
! |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
596 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
597 |
onRunningEvent: aGDBStoppedEvent |
113
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
598 |
self enqueueDelayedUpdateButtonEnablements |
101
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
599 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
600 |
"Created: / 21-09-2014 / 22:44:16 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
113
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
601 |
"Modified: / 03-10-2018 / 12:12:55 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
101
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
602 |
! |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
603 |
|
92
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
604 |
onStoppedEvent: aGDBStoppedEvent |
101
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
605 |
self frame notNil ifTrue:[ |
113
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
606 |
self enqueueDelayedInvalidateInternalList. |
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
607 |
self enqueueDelayedUpdateButtonEnablements. |
92
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
608 |
]. |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
609 |
|
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
610 |
"Created: / 06-08-2018 / 14:45:03 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
113
1a40f33af921
UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
111
diff
changeset
|
611 |
"Modified: / 03-10-2018 / 12:13:21 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
92
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
612 |
! ! |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
613 |
|
151
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
614 |
!VDBInstructionListApplication methodsFor:'hooks'! |
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
615 |
|
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
616 |
postBuildInternalListView: aView |
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
617 |
super postBuildInternalListView: aView. |
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
618 |
internalListView addDependent: self. |
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
619 |
|
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
620 |
"Created: / 23-01-2019 / 16:10:22 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
621 |
! ! |
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
622 |
|
92
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
623 |
!VDBInstructionListApplication methodsFor:'initialization & release'! |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
624 |
|
151
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
625 |
release |
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
626 |
super release. |
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
627 |
internalListView notNil ifTrue:[ |
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
628 |
internalListView removeDependent: self. |
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
629 |
]. |
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
630 |
|
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
631 |
"Created: / 23-01-2019 / 16:11:11 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
632 |
! |
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
633 |
|
92
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
634 |
subscribe |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
635 |
"Register for debugger events. To be overrided by subclasses" |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
636 |
|
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
637 |
debugger announcer |
101
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
638 |
when: GDBStoppedEvent send: #onStoppedEvent: to: self; |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
639 |
when: GDBRunningEvent send: #onRunningEvent: to: self; |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
640 |
"/when: GDBExitEvent send: #onExitEvent: to: self; |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
641 |
when: GDBCommandResultEvent send: #onCommandResultEvent: to: self. |
92
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
642 |
|
151
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
643 |
contentsValid := false. |
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
644 |
|
92
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
645 |
"Created: / 06-08-2018 / 14:44:10 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
151
bc7626f46210
Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
646 |
"Modified: / 23-01-2019 / 14:29:29 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
101
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
647 |
! ! |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
648 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
649 |
!VDBInstructionListApplication methodsFor:'menu actions'! |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
650 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
651 |
doShowBranchTarget |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
652 |
| selection | |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
653 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
654 |
selection := self selectedInstructionHolder value. |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
655 |
(selection notNil and:[selection isBranch]) ifTrue:[ |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
656 |
| branchTarget | |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
657 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
658 |
branchTarget := selection branchTarget. |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
659 |
"/ For indirect jumps, `branchTarget` is `nil`. |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
660 |
branchTarget notNil ifTrue:[ |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
661 |
self doShowInstructionAtAddress: branchTarget |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
662 |
]. |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
663 |
]. |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
664 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
665 |
"Modified: / 01-09-2018 / 14:32:39 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
666 |
! |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
667 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
668 |
doShowCurrent |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
669 |
| frame | |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
670 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
671 |
frame := self frameHolder value. |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
672 |
frame notNil ifTrue:[ |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
673 |
self doShowInstructionAtAddress: frame address |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
674 |
]. |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
675 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
676 |
"Modified: / 01-09-2018 / 14:27:58 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
677 |
! |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
678 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
679 |
doShowInstructionAtAddress: address |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
680 |
self scrollToAddress: address |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
681 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
682 |
"Created: / 01-09-2018 / 14:26:54 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
683 |
! |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
684 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
685 |
doShowSelection |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
686 |
| selection | |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
687 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
688 |
selection := self selectedInstructionHolder value. |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
689 |
selection notNil ifTrue:[ |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
690 |
self doShowInstructionAtAddress: selection address |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
691 |
]. |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
692 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
693 |
"Modified: / 01-09-2018 / 14:32:53 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
694 |
! ! |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
695 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
696 |
!VDBInstructionListApplication methodsFor:'menu actions-exec'! |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
697 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
698 |
doExec: command |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
699 |
debugger send: command andWait: false. |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
700 |
self enqueueDelayedInvalidateInternalList |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
701 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
702 |
"Created: / 21-09-2014 / 21:50:19 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
703 |
"Modified: / 26-03-2018 / 17:57:15 / jv" |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
704 |
"Modified: / 01-09-2018 / 22:33:06 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
705 |
! |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
706 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
707 |
doExecBackIntoInstruction |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
708 |
self doExec:(GDBMI_exec_step_instruction arguments:#('--reverse')) |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
709 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
710 |
"Modified: / 01-09-2018 / 22:16:11 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
711 |
! |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
712 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
713 |
doExecBackOverInstruction |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
714 |
self doExec:(GDBMI_exec_next_instruction arguments:#('--reverse')) |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
715 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
716 |
"Modified: / 01-09-2018 / 22:16:01 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
717 |
! |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
718 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
719 |
doExecSteIntoInstruction |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
720 |
self doExec:GDBMI_exec_step_instruction new |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
721 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
722 |
"Created: / 01-09-2018 / 22:00:05 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
723 |
! |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
724 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
725 |
doExecStepOverInstruction |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
726 |
self doExec:GDBMI_exec_next_instruction new |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
727 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
728 |
"Modified: / 01-09-2018 / 21:59:50 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
729 |
! ! |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
730 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
731 |
!VDBInstructionListApplication methodsFor:'menu aspects'! |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
732 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
733 |
canShowBranchTargetHolder |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
734 |
^ BlockValue |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
735 |
with:[ :selection | selection value notNil and:[selection value isBranch and:[selection value branchTarget notNil]]] |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
736 |
argument: self selectedInstructionHolder |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
737 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
738 |
"Modified: / 01-09-2018 / 15:32:32 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
739 |
! |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
740 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
741 |
canShowCurrentHolder |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
742 |
^ BlockValue |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
743 |
with:[ :frame | frame value notNil and:[frame value address notNil ]] |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
744 |
argument: self frameHolder |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
745 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
746 |
"Modified: / 01-09-2018 / 15:33:48 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
747 |
! |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
748 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
749 |
canShowSelectionHolder |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
750 |
^ BlockValue |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
751 |
with:[ :selection | selection value notNil ] |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
752 |
argument: self selectedInstructionHolder |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
753 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
754 |
"Modified: / 01-09-2018 / 15:33:20 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
755 |
! ! |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
756 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
757 |
!VDBInstructionListApplication methodsFor:'menu aspects-exec'! |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
758 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
759 |
canExecBackIntoInstructionHolder |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
760 |
canExecBackIntoInstructionHolder isNil ifTrue:[ |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
761 |
canExecBackIntoInstructionHolder := ValueHolder with: false. |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
762 |
]. |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
763 |
^ canExecBackIntoInstructionHolder |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
764 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
765 |
"Modified: / 01-09-2018 / 22:07:33 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
766 |
! |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
767 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
768 |
canExecBackOverInstructionHolder |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
769 |
canExecBackOverInstructionHolder isNil ifTrue:[ |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
770 |
canExecBackOverInstructionHolder := ValueHolder with: false. |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
771 |
]. |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
772 |
^ canExecBackOverInstructionHolder |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
773 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
774 |
"Modified: / 01-09-2018 / 22:07:52 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
775 |
! |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
776 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
777 |
canExecStepIntoInstructionHolder |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
778 |
canExecStepOverInstructionHolder isNil ifTrue:[ |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
779 |
canExecStepOverInstructionHolder := ValueHolder with: false. |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
780 |
]. |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
781 |
^ canExecStepOverInstructionHolder |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
782 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
783 |
"Modified: / 01-09-2018 / 22:08:24 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
784 |
! |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
785 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
786 |
canExecStepOverInstructionHolder |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
787 |
canExecStepOverInstructionHolder isNil ifTrue:[ |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
788 |
canExecStepOverInstructionHolder := ValueHolder with: false. |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
789 |
]. |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
790 |
^ canExecStepOverInstructionHolder |
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
791 |
|
ef31619bc09c
UX: improve navigation and single-stepping in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
94
diff
changeset
|
792 |
"Modified: / 01-09-2018 / 22:08:11 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
92
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
793 |
! ! |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
794 |
|
80
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
795 |
!VDBInstructionListApplication methodsFor:'private'! |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
796 |
|
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
797 |
instructionPresentersDo: aBlock |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
798 |
self internalListHolder root children do:[:each | |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
799 |
each isInstructionPresenter ifTrue:[ |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
800 |
aBlock value: each |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
801 |
] ifFalse:[ |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
802 |
each children do: aBlock |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
803 |
]. |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
804 |
] |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
805 |
|
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
806 |
"Created: / 26-06-2018 / 12:30:57 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
93
bd0a7febf26d
UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
807 |
! |
bd0a7febf26d
UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
808 |
|
bd0a7febf26d
UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
809 |
instructionsDo: aBlock |
bd0a7febf26d
UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
810 |
self instructionListHolder value ? #() do:[:each | |
bd0a7febf26d
UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
811 |
each instructionsDo: aBlock |
bd0a7febf26d
UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
812 |
] |
bd0a7febf26d
UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
813 |
|
bd0a7febf26d
UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
814 |
"Created: / 16-08-2018 / 11:32:41 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
80
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
815 |
! ! |
7a9cf1d6be50
UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
816 |
|
77
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
817 |
!VDBInstructionListApplication methodsFor:'queries'! |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
818 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
819 |
canSelect: anItem |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
820 |
^ anItem isInstructionPresenter |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
821 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
822 |
"Created: / 22-06-2018 / 15:07:58 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
823 |
! ! |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
824 |
|
92
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
825 |
!VDBInstructionListApplication methodsFor:'scrolling'! |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
826 |
|
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
827 |
scrollToAddress: address |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
828 |
internalListView isNil ifTrue:[ ^ self ]. |
164
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
829 |
(self disassemblable notNil and:[ self instructionList notEmptyOrNil ]) ifTrue:[ |
92
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
830 |
self instructionPresentersDo:[ :each | |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
831 |
each address = address ifTrue:[ |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
832 |
self scrollToListItem: each. |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
833 |
]. |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
834 |
] |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
835 |
]. |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
836 |
|
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
837 |
"Created: / 07-08-2018 / 13:36:27 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
164
364ebdd1d42c
Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
838 |
"Modified: / 10-06-2019 / 10:16:58 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
92
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
839 |
! ! |
fa04de209c69
UI: highlight currently executed instruction in frame disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
840 |
|
77
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
841 |
!VDBInstructionListApplication class methodsFor:'documentation'! |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
842 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
843 |
version_HG |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
844 |
|
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
845 |
^ '$Changeset: <not expanded> $' |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
846 |
! ! |
163d914fae79
Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
847 |