VDBEvaluator.st
author Jan Vrany <jan.vrany@labware.com>
Tue, 26 Jul 2022 15:01:33 +0100
changeset 265 f2470f0dd9cd
parent 264 23960fcb9dac
permissions -rw-r--r--
Do not show address for (pseudo) instructions with no code While such instructions do not appear in GDB-produced disassembly, they may appear in some manually-generated instruction lists. One example of such (pseudo) instruction is label.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
68
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"
264
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
     2
jv:libgdbs - GNU Debugger Interface Library
68
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
Copyright (C) 2015-now Jan Vrany
264
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
     4
Copyright (C) 2022 LabWare
68
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
264
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
     6
Permission is hereby granted, free of charge, to any person obtaining a copy
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
     7
of this software and associated documentation files (the 'Software'), to deal
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
     8
in the Software without restriction, including without limitation the rights
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
     9
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    10
copies of the Software, and to permit persons to whom the Software is
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    11
furnished to do so, subject to the following conditions:
68
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
264
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    13
The above copyright notice and this permission notice shall be included in all
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    14
copies or substantial portions of the Software.
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    15
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    16
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    17
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    18
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    19
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    20
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    21
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    22
SOFTWARE.
68
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
"
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
"{ Package: 'jv:vdb' }"
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
"{ NameSpace: Smalltalk }"
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
Object subclass:#VDBEvaluator
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
	instanceVariableNames:'debugger'
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
	classVariableNames:''
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
	poolDictionaries:''
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
	category:'VDB-Tools'
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
!
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
!VDBEvaluator class methodsFor:'documentation'!
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
copyright
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
"
264
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    39
jv:libgdbs - GNU Debugger Interface Library
68
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
Copyright (C) 2015-now Jan Vrany
264
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    41
Copyright (C) 2022 LabWare
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    42
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    43
Permission is hereby granted, free of charge, to any person obtaining a copy
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    44
of this software and associated documentation files (the 'Software'), to deal
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    45
in the Software without restriction, including without limitation the rights
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    46
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    47
copies of the Software, and to permit persons to whom the Software is
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    48
furnished to do so, subject to the following conditions:
68
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
264
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    50
The above copyright notice and this permission notice shall be included in all
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    51
copies or substantial portions of the Software.
68
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
264
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    53
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    54
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    55
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    56
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    57
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    58
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23960fcb9dac Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 151
diff changeset
    59
SOFTWARE.
68
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
"
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
! !
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
!VDBEvaluator methodsFor:'accessing - mimicry'!
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
currentNameSpace: ignored
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
    self assert: ignored isNil
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
    "Created: / 21-03-2018 / 22:40:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
!
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
moreSharedPools:ignored
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
    self assert: ignored isNil
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
    "Created: / 21-03-2018 / 22:41:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
! !
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
!VDBEvaluator methodsFor:'evaluation'!
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
evaluate:aString in: context receiver: receiver notifying: requestor logged:logged ifFail:failBlock
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
    ^ debugger evaluate: aString
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
    "Created: / 21-03-2018 / 22:41:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
! !
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
!VDBEvaluator methodsFor:'initialization'!
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
setDebugger: aGDBDebugger
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
    debugger := aGDBDebugger
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
    "Created: / 21-03-2018 / 22:14:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
! !
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
!VDBEvaluator methodsFor:'instance creation'!
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
new
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
    "/ This is hack to overcome the fact that TextView and other expect
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
    "/ class that they instantiate themselves. This is indeed weird interface, 
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
    "/ but well, we cannot change that easily due to backward compatibility.
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
    "/ See
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
    "/ 
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
    "/      Workspace >> #executeDoIt:
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
    "/ 
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
    ^ self
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
    "Created: / 21-03-2018 / 22:36:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
! !
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
151
bc7626f46210 Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 68
diff changeset
   109
!VDBEvaluator class methodsFor:'documentation'!
bc7626f46210 Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 68
diff changeset
   110
bc7626f46210 Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 68
diff changeset
   111
version_HG
bc7626f46210 Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 68
diff changeset
   112
bc7626f46210 Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 68
diff changeset
   113
    ^ '$Changeset: <not expanded> $'
bc7626f46210 Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 68
diff changeset
   114
! !
bc7626f46210 Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 68
diff changeset
   115