GDBCommandResultEvent.st
author Jan Vrany <jan.vrany@labware.com>
Mon, 04 Sep 2023 14:00:57 +0100
changeset 314 4a2ef5a087f0
parent 272 cdd1c9ad00de
permissions -rw-r--r--
Add MI parser test This commit add test to parse real-world frament which failed to Pharo properly at some point. It is encoded here as bytearray to make sure all the characters are preserved exactly as they were.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
     1
"
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
     2
jv:libgdbs - GNU Debugger Interface Library
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
     3
Copyright (C) 2015-now Jan Vrany
272
cdd1c9ad00de Change class categories to facilitate Pharo port
Jan Vrany <jan.vrany@labware.com>
parents: 259
diff changeset
     4
Copyright (C) 2022-2023 LabWare
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
     5
259
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
     6
Permission is hereby granted, free of charge, to any person obtaining a copy
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
     7
of this software and associated documentation files (the 'Software'), to deal
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
     8
in the Software without restriction, including without limitation the rights
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
     9
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
    10
copies of the Software, and to permit persons to whom the Software is
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
    11
furnished to do so, subject to the following conditions:
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    12
259
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
    13
The above copyright notice and this permission notice shall be included in all
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
    14
copies or substantial portions of the Software.
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    15
259
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
    16
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
    17
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
    18
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
    19
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
    20
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
    21
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
    22
SOFTWARE.
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    23
"
3
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
"{ Package: 'jv:libgdbs' }"
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
59
95d6b1e90e2d Better display string for command result
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    26
"{ NameSpace: Smalltalk }"
95d6b1e90e2d Better display string for command result
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    27
6
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    28
GDBEvent subclass:#GDBCommandResultEvent
3
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
	instanceVariableNames:'result'
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
	classVariableNames:''
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
	poolDictionaries:''
272
cdd1c9ad00de Change class categories to facilitate Pharo port
Jan Vrany <jan.vrany@labware.com>
parents: 259
diff changeset
    32
	category:'GDB-Events'
3
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
!
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    35
!GDBCommandResultEvent class methodsFor:'documentation'!
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    36
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    37
copyright
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    38
"
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    39
jv:libgdbs - GNU Debugger Interface Library
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    40
Copyright (C) 2015-now Jan Vrany
272
cdd1c9ad00de Change class categories to facilitate Pharo port
Jan Vrany <jan.vrany@labware.com>
parents: 259
diff changeset
    41
Copyright (C) 2022-2023 LabWare
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    42
259
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
    43
Permission is hereby granted, free of charge, to any person obtaining a copy
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
    44
of this software and associated documentation files (the 'Software'), to deal
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
    45
in the Software without restriction, including without limitation the rights
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
    46
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
    47
copies of the Software, and to permit persons to whom the Software is
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
    48
furnished to do so, subject to the following conditions:
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    49
259
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
    50
The above copyright notice and this permission notice shall be included in all
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
    51
copies or substantial portions of the Software.
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    52
259
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
    53
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
    54
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
    55
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
    56
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
    57
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
    58
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 256
diff changeset
    59
SOFTWARE.
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    60
"
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    61
! !
59
95d6b1e90e2d Better display string for command result
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    62
6
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    63
!GDBCommandResultEvent methodsFor:'accessing'!
3
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
result
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
    ^ result
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
!
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
169
a3d1f59e3bfd API: add `GDBDebugger >> getParameter:` and `setParameter:to:`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
    69
result:aGDBCommandResult
a3d1f59e3bfd API: add `GDBDebugger >> getParameter:` and `setParameter:to:`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
    70
    result := aGDBCommandResult.
9
5cc8797f6523 Make simple example with -gdb-exit command working
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    71
!
5cc8797f6523 Make simple example with -gdb-exit command working
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    72
5cc8797f6523 Make simple example with -gdb-exit command working
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    73
status
5cc8797f6523 Make simple example with -gdb-exit command working
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    74
    ^ result status
5cc8797f6523 Make simple example with -gdb-exit command working
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    75
5cc8797f6523 Make simple example with -gdb-exit command working
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    76
    "Created: / 04-06-2014 / 09:30:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
! !
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
59
95d6b1e90e2d Better display string for command result
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    79
!GDBCommandResultEvent methodsFor:'displaying'!
95d6b1e90e2d Better display string for command result
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    80
95d6b1e90e2d Better display string for command result
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    81
displayString
95d6b1e90e2d Better display string for command result
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    82
    ^ '%1 [finished, %2]' bindWith: result command asString with: result status
95d6b1e90e2d Better display string for command result
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    83
95d6b1e90e2d Better display string for command result
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    84
    "Created: / 01-03-2015 / 08:56:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
95d6b1e90e2d Better display string for command result
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    85
! !
95d6b1e90e2d Better display string for command result
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    86
169
a3d1f59e3bfd API: add `GDBDebugger >> getParameter:` and `setParameter:to:`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
    87
!GDBCommandResultEvent methodsFor:'printing & storing'!
a3d1f59e3bfd API: add `GDBDebugger >> getParameter:` and `setParameter:to:`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
    88
256
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 169
diff changeset
    89
printDetailOn: aStream
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 169
diff changeset
    90
    aStream
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 169
diff changeset
    91
        nextPutAll: result status;
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 169
diff changeset
    92
        nextPutAll:', ';  
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 169
diff changeset
    93
        nextPutAll: result command asString.
169
a3d1f59e3bfd API: add `GDBDebugger >> getParameter:` and `setParameter:to:`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
    94
256
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 169
diff changeset
    95
    "Created: / 22-02-2022 / 11:53:23 / Jan Vrany <jan.vrany@labware.com>"
169
a3d1f59e3bfd API: add `GDBDebugger >> getParameter:` and `setParameter:to:`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
    96
! !
a3d1f59e3bfd API: add `GDBDebugger >> getParameter:` and `setParameter:to:`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
    97
6
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    98
!GDBCommandResultEvent methodsFor:'testing'!
3
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
isCommandResultEvent
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
    ^ true
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
! !
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
59
95d6b1e90e2d Better display string for command result
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   104
!GDBCommandResultEvent class methodsFor:'documentation'!
95d6b1e90e2d Better display string for command result
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   105
95d6b1e90e2d Better display string for command result
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   106
version_HG
95d6b1e90e2d Better display string for command result
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   107
95d6b1e90e2d Better display string for command result
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   108
    ^ '$Changeset: <not expanded> $'
95d6b1e90e2d Better display string for command result
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   109
! !
95d6b1e90e2d Better display string for command result
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   110