VDBInstructionsAndSourcePresenter.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 20 Jun 2019 16:11:12 +0100
changeset 174 3f6f51330641
parent 120 4fae7ad78949
child 264 23960fcb9dac
permissions -rw-r--r--
UI: add "Edit" button to settings application to edit GDB and VDB init scripts
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
VDBAbstractPresenter subclass:#VDBInstructionsAndSourcePresenter
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
	instanceVariableNames:'instructionsAndSource'
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
	classVariableNames:''
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
	poolDictionaries:''
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
	category:'VDB-Presentation'
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
!
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
!VDBInstructionsAndSourcePresenter class methodsFor:'documentation'!
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
copyright
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
jv:vdb - Visual / VM Debugger
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
Copyright (C) 2015-now Jan Vrany
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
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
    28
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
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
    30
"
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
! !
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
!VDBInstructionsAndSourcePresenter methodsFor:'accessing'!
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
78
5b61031de9a7 API: generalize support for application-defined background and foreground colors for presenters
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
    35
address
93
bd0a7febf26d UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
    36
    instructionsAndSource instructions notEmpty ifTrue:[ 
bd0a7febf26d UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
    37
        ^ instructionsAndSource address.
bd0a7febf26d UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
    38
    ] ifFalse:[ 
bd0a7febf26d UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
    39
        | siblings index |
bd0a7febf26d UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
    40
bd0a7febf26d UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
    41
        siblings := parent children.
bd0a7febf26d UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
    42
        index := siblings identityIndexOf: self.
bd0a7febf26d UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
    43
        index < siblings size ifTrue:[ 
bd0a7febf26d UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
    44
            ^ (siblings at: index + 1) address.
bd0a7febf26d UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
    45
        ].
bd0a7febf26d UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
    46
    ].
bd0a7febf26d UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
    47
    ^ nil.
78
5b61031de9a7 API: generalize support for application-defined background and foreground colors for presenters
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
    48
5b61031de9a7 API: generalize support for application-defined background and foreground colors for presenters
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
    49
    "Created: / 26-06-2018 / 12:37:07 / 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: 91
diff changeset
    50
    "Modified: / 16-08-2018 / 11:55:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
78
5b61031de9a7 API: generalize support for application-defined background and foreground colors for presenters
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
    51
!
5b61031de9a7 API: generalize support for application-defined background and foreground colors for presenters
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
    52
5b61031de9a7 API: generalize support for application-defined background and foreground colors for presenters
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
    53
basicBlock
93
bd0a7febf26d UI: Highlight target basic block in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
    54
    children isEmptyOrNil ifTrue:[ ^ nil ].
78
5b61031de9a7 API: generalize support for application-defined background and foreground colors for presenters
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
    55
    ^ self children first basicBlock
5b61031de9a7 API: generalize support for application-defined background and foreground colors for presenters
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
    56
5b61031de9a7 API: generalize support for application-defined background and foreground colors for presenters
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
    57
    "Created: / 26-06-2018 / 12:37: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: 91
diff changeset
    58
    "Modified: / 16-08-2018 / 11:43:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
78
5b61031de9a7 API: generalize support for application-defined background and foreground colors for presenters
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
    59
!
5b61031de9a7 API: generalize support for application-defined background and foreground colors for presenters
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
    60
91
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    61
lineDigitsToDisplay
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    62
    "Return a number of line digits to display."
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    63
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    64
    "/ Currently hardcoded but maybe it will be dynamic
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    65
    "/ in future...
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    66
    ^ 5
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    67
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    68
    "Created: / 09-08-2018 / 11:10:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    69
!
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    70
77
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
subject
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
    "Return an instance of GDB object that this presenter displays."
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
    ^ instructionsAndSource
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
    "Created: / 22-06-2018 / 15:10:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
91
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    77
!
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    78
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    79
tooltip
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    80
    | source line tooltip |
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    81
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    82
    source := instructionsAndSource source.
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    83
    source isNil ifTrue:[ ^ instructionsAndSource file, ':  ', instructionsAndSource line printString ].
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    84
    line := instructionsAndSource line asInteger.
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    85
    tooltip := TextStream on: ''.
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    86
    tooltip emphasis: #bold;
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    87
      nextPutAll: instructionsAndSource file;
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    88
      emphasis: nil.
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    89
    tooltip cr; cr.
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    90
    ((line - 5) max: 1) to: ((line + 10) min: source size) do:[:i | 
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    91
        i == line ifTrue:[ tooltip emphasis: #bold ].
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    92
        i == line ifTrue:[ tooltip nextPut: $> ] ifFalse:[ tooltip space. ].
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    93
        tooltip space.                                                      
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    94
        i printOn: tooltip base: 10 size: self lineDigitsToDisplay fill: Character space.
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    95
        tooltip space.
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    96
        tooltip nextPutLine: (source at: i).
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    97
        i == line ifTrue:[ tooltip emphasis: nil ].
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    98
    ].
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    99
    ^ tooltip contents.
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   100
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   101
    "Created: / 09-08-2018 / 10: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
   102
! !
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
!VDBInstructionsAndSourcePresenter methodsFor:'initialization'!
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
setInstructionsAndSource: aGDBInstructionsAndSourceLine
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
    instructionsAndSource := aGDBInstructionsAndSourceLine
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
    "Created: / 22-06-2018 / 12:40:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
! !
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
!VDBInstructionsAndSourcePresenter methodsFor:'protocol-accessing'!
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
fetchChildren
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
    ^ instructionsAndSource instructions collect:[ :i | VDBInstructionPresenter new setInstruction: i; parent: self ]
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
    "Created: / 22-06-2018 / 12:19:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
!
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
label
91
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   121
    | source line |
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   122
    source := instructionsAndSource source.
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   123
    line := instructionsAndSource line.
120
4fae7ad78949 Fix `VDBInstructionAndSourcePresenter >> label`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   124
    (source notNil and:[ line notNil and: [ instructionsAndSource line asInteger between: 1 and: source size]]) ifTrue:[ 
4fae7ad78949 Fix `VDBInstructionAndSourcePresenter >> label`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   125
        ^ (line printStringRadix: 10 size: self lineDigitsToDisplay fill: Character space) , Character space , (source at: line asInteger) 
4fae7ad78949 Fix `VDBInstructionAndSourcePresenter >> label`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   126
    ] ifFalse:[
4fae7ad78949 Fix `VDBInstructionAndSourcePresenter >> label`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   127
        | file |
4fae7ad78949 Fix `VDBInstructionAndSourcePresenter >> label`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   128
4fae7ad78949 Fix `VDBInstructionAndSourcePresenter >> label`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   129
        "/ Use `propertyAt: #file` rather than #file since
4fae7ad78949 Fix `VDBInstructionAndSourcePresenter >> label`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   130
        "/ the latter tries to resolve the file and returns
4fae7ad78949 Fix `VDBInstructionAndSourcePresenter >> label`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   131
        "/ nil if the file cannot be resolved. 
4fae7ad78949 Fix `VDBInstructionAndSourcePresenter >> label`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   132
        "/ 
4fae7ad78949 Fix `VDBInstructionAndSourcePresenter >> label`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   133
        "/ However, here we need the file name, no matter whether
4fae7ad78949 Fix `VDBInstructionAndSourcePresenter >> label`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   134
        "/ we can access it or not. 
4fae7ad78949 Fix `VDBInstructionAndSourcePresenter >> label`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   135
        file := instructionsAndSource propertyAt: #file.
4fae7ad78949 Fix `VDBInstructionAndSourcePresenter >> label`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   136
        ^ (file ? '??') , ':  ', instructionsAndSource line printString
4fae7ad78949 Fix `VDBInstructionAndSourcePresenter >> label`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   137
    ]
77
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
    "Created: / 22-06-2018 / 12:22:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
120
4fae7ad78949 Fix `VDBInstructionAndSourcePresenter >> label`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   140
    "Modified: / 07-10-2018 / 08:51:33 / 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
   141
! !
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
!VDBInstructionsAndSourcePresenter methodsFor:'testing'!
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
isInstructionsAndSourcePresenter
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
    ^ true
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
! !
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
91
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   149
!VDBInstructionsAndSourcePresenter class methodsFor:'documentation'!
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   150
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   151
version_HG
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   152
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   153
    ^ '$Changeset: <not expanded> $'
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   154
! !
c9da2e1b0327 UX: show original source line in disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   155