GDBEvent.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: 87
diff changeset
     1
"
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 87
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: 87
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) 2021-2023 LabWare
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 87
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: 87
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: 87
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: 87
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
78
c24e7d8bc881 BUpdated build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 45
diff changeset
    26
"{ NameSpace: Smalltalk }"
c24e7d8bc881 BUpdated build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 45
diff changeset
    27
6
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
    28
Announcement subclass:#GDBEvent
221
e7a1196c0c41 Make `GDBEvent` to hold on `GDBDebugger` that 'generated" that event
Jan Vrany <jan.vrany@labware.com>
parents: 91
diff changeset
    29
	instanceVariableNames:'debugger token properties'
3
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: 87
diff changeset
    35
!GDBEvent class methodsFor:'documentation'!
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 87
diff changeset
    36
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 87
diff changeset
    37
copyright
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 87
diff changeset
    38
"
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 87
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: 87
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) 2021-2023 LabWare
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 87
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: 87
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: 87
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: 87
diff changeset
    60
"
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 87
diff changeset
    61
! !
17
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    62
45
deb908479a37 Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
    63
!GDBEvent class methodsFor:'accessing-magritte'!
17
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    64
45
deb908479a37 Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
    65
descriptionContainer
deb908479a37 Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
    66
    ^ GDBMAContainer forClass: self.
17
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    67
45
deb908479a37 Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
    68
    "Created: / 23-09-2014 / 23:26:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    69
! !
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    70
6
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
    71
!GDBEvent class methodsFor:'testing'!
4
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    72
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    73
isAbstract
6
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
    74
    ^ self == GDBEvent
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
    75
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
    76
    "Modified: / 02-06-2014 / 22:20:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    77
! !
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    78
6
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
    79
!GDBEvent methodsFor:'accessing'!
3
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
221
e7a1196c0c41 Make `GDBEvent` to hold on `GDBDebugger` that 'generated" that event
Jan Vrany <jan.vrany@labware.com>
parents: 91
diff changeset
    81
debugger
e7a1196c0c41 Make `GDBEvent` to hold on `GDBDebugger` that 'generated" that event
Jan Vrany <jan.vrany@labware.com>
parents: 91
diff changeset
    82
    ^ debugger
e7a1196c0c41 Make `GDBEvent` to hold on `GDBDebugger` that 'generated" that event
Jan Vrany <jan.vrany@labware.com>
parents: 91
diff changeset
    83
!
e7a1196c0c41 Make `GDBEvent` to hold on `GDBDebugger` that 'generated" that event
Jan Vrany <jan.vrany@labware.com>
parents: 91
diff changeset
    84
e7a1196c0c41 Make `GDBEvent` to hold on `GDBDebugger` that 'generated" that event
Jan Vrany <jan.vrany@labware.com>
parents: 91
diff changeset
    85
debugger:aGDBDebugger
e7a1196c0c41 Make `GDBEvent` to hold on `GDBDebugger` that 'generated" that event
Jan Vrany <jan.vrany@labware.com>
parents: 91
diff changeset
    86
    debugger := aGDBDebugger.
e7a1196c0c41 Make `GDBEvent` to hold on `GDBDebugger` that 'generated" that event
Jan Vrany <jan.vrany@labware.com>
parents: 91
diff changeset
    87
!
e7a1196c0c41 Make `GDBEvent` to hold on `GDBDebugger` that 'generated" that event
Jan Vrany <jan.vrany@labware.com>
parents: 91
diff changeset
    88
3
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
token
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
    ^ token
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
!
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
9
5cc8797f6523 Make simple example with -gdb-exit command working
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    93
token:anInteger
5cc8797f6523 Make simple example with -gdb-exit command working
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    94
    token := anInteger.
3
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
! !
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
17
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    97
!GDBEvent methodsFor:'accessing-properties'!
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    98
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    99
properties
20
76ac209277a7 Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   100
    ^ GDBObject getPropertiesOf: self.
17
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   101
20
76ac209277a7 Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   102
    "Modified: / 20-06-2014 / 09:04:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   103
!
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   104
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   105
propertyAt: name
20
76ac209277a7 Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   106
    ^ GDBObject getProperty: name of: self
17
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   107
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   108
    "Created: / 31-05-2014 / 00:00:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
20
76ac209277a7 Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   109
    "Modified: / 20-06-2014 / 09:05:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   110
!
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   111
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   112
propertyAt: name put: value
20
76ac209277a7 Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   113
    ^ GDBObject setProperty: name of: self to: value
17
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   114
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   115
    "Created: / 31-05-2014 / 00:01:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
20
76ac209277a7 Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   116
    "Modified: / 20-06-2014 / 09:05:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   117
! !
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   118
256
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 244
diff changeset
   119
!GDBEvent methodsFor:'printing & storing'!
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 244
diff changeset
   120
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 244
diff changeset
   121
printDetailOn: aStream
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 244
diff changeset
   122
    "Nothing special, to be overriden by subclasses"
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 244
diff changeset
   123
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 244
diff changeset
   124
    "Created: / 22-02-2022 / 11:52:38 / Jan Vrany <jan.vrany@labware.com>"
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 244
diff changeset
   125
!
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 244
diff changeset
   126
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 244
diff changeset
   127
printOn:aStream
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 244
diff changeset
   128
    "append a printed representation of the receiver to the argument, aStream"
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 244
diff changeset
   129
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 244
diff changeset
   130
    super printOn:aStream.
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 244
diff changeset
   131
    aStream nextPut: $(.
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 244
diff changeset
   132
    token notNil ifTrue: [ 
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 244
diff changeset
   133
        token printOn: aStream base: 10 size: 3 fill: Character space.
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 244
diff changeset
   134
    ] ifFalse: [ 
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 244
diff changeset
   135
        aStream nextPutAll: '???'.
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 244
diff changeset
   136
    ].
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 244
diff changeset
   137
    aStream nextPutAll: ', '.
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 244
diff changeset
   138
    self printDetailOn: aStream.
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 244
diff changeset
   139
    aStream nextPut: $).
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 244
diff changeset
   140
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 244
diff changeset
   141
    "Created: / 22-02-2022 / 11:52:11 / Jan Vrany <jan.vrany@labware.com>"
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 244
diff changeset
   142
! !
9e2ac3a4f23c Improved `GDBEvent >> #printOn:`
Jan Vrany <jan.vrany@labware.com>
parents: 244
diff changeset
   143
244
f0e4ddb50242 Split event processing and event delivery
Jan Vrany <jan.vrany@labware.com>
parents: 242
diff changeset
   144
!GDBEvent methodsFor:'private - dispatching'!
f0e4ddb50242 Split event processing and event delivery
Jan Vrany <jan.vrany@labware.com>
parents: 242
diff changeset
   145
f0e4ddb50242 Split event processing and event delivery
Jan Vrany <jan.vrany@labware.com>
parents: 242
diff changeset
   146
dispatchUsing: aGDBEventDispatcher
f0e4ddb50242 Split event processing and event delivery
Jan Vrany <jan.vrany@labware.com>
parents: 242
diff changeset
   147
    "Dispatch the event using given event dispatcher.
f0e4ddb50242 Split event processing and event delivery
Jan Vrany <jan.vrany@labware.com>
parents: 242
diff changeset
   148
f0e4ddb50242 Split event processing and event delivery
Jan Vrany <jan.vrany@labware.com>
parents: 242
diff changeset
   149
     STRICTLY PRIVATE"
f0e4ddb50242 Split event processing and event delivery
Jan Vrany <jan.vrany@labware.com>
parents: 242
diff changeset
   150
f0e4ddb50242 Split event processing and event delivery
Jan Vrany <jan.vrany@labware.com>
parents: 242
diff changeset
   151
    aGDBEventDispatcher dispatchEvent: self.
f0e4ddb50242 Split event processing and event delivery
Jan Vrany <jan.vrany@labware.com>
parents: 242
diff changeset
   152
f0e4ddb50242 Split event processing and event delivery
Jan Vrany <jan.vrany@labware.com>
parents: 242
diff changeset
   153
    "Created: / 29-03-2021 / 12:21:30 / Jan Vrany <jan.vrany@labware.com>"
f0e4ddb50242 Split event processing and event delivery
Jan Vrany <jan.vrany@labware.com>
parents: 242
diff changeset
   154
! !
f0e4ddb50242 Split event processing and event delivery
Jan Vrany <jan.vrany@labware.com>
parents: 242
diff changeset
   155
6
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   156
!GDBEvent methodsFor:'testing'!
3
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
87
50e80d25ea6f Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   158
isAsyncEvent
50e80d25ea6f Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   159
    "return false here; to be redefined in subclass(es)"
50e80d25ea6f Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   160
50e80d25ea6f Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   161
    ^ false
50e80d25ea6f Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   162
!
50e80d25ea6f Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   163
3
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
isCommandResultEvent
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
    ^ false
4
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   166
!
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   167
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   168
isConsoleOutputEvent
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   169
    ^ false
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   170
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   171
    "Created: / 01-06-2014 / 23:37:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   172
!
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   173
231
dcadeaddd0c8 Update (internal) list of breakpoints when creating / modifying / deleting using MI commands
Jan Vrany <jan.vrany@labware.com>
parents: 221
diff changeset
   174
isEventSetProcessingFinishedEvent
dcadeaddd0c8 Update (internal) list of breakpoints when creating / modifying / deleting using MI commands
Jan Vrany <jan.vrany@labware.com>
parents: 221
diff changeset
   175
    ^ false
dcadeaddd0c8 Update (internal) list of breakpoints when creating / modifying / deleting using MI commands
Jan Vrany <jan.vrany@labware.com>
parents: 221
diff changeset
   176
dcadeaddd0c8 Update (internal) list of breakpoints when creating / modifying / deleting using MI commands
Jan Vrany <jan.vrany@labware.com>
parents: 221
diff changeset
   177
    "Created: / 22-05-2021 / 15:50:48 / Jan Vrany <jan.vrany@labware.com>"
dcadeaddd0c8 Update (internal) list of breakpoints when creating / modifying / deleting using MI commands
Jan Vrany <jan.vrany@labware.com>
parents: 221
diff changeset
   178
!
dcadeaddd0c8 Update (internal) list of breakpoints when creating / modifying / deleting using MI commands
Jan Vrany <jan.vrany@labware.com>
parents: 221
diff changeset
   179
dcadeaddd0c8 Update (internal) list of breakpoints when creating / modifying / deleting using MI commands
Jan Vrany <jan.vrany@labware.com>
parents: 221
diff changeset
   180
isEventSetProcessingStartedEvent
dcadeaddd0c8 Update (internal) list of breakpoints when creating / modifying / deleting using MI commands
Jan Vrany <jan.vrany@labware.com>
parents: 221
diff changeset
   181
    ^ false
dcadeaddd0c8 Update (internal) list of breakpoints when creating / modifying / deleting using MI commands
Jan Vrany <jan.vrany@labware.com>
parents: 221
diff changeset
   182
dcadeaddd0c8 Update (internal) list of breakpoints when creating / modifying / deleting using MI commands
Jan Vrany <jan.vrany@labware.com>
parents: 221
diff changeset
   183
    "Created: / 22-05-2021 / 15:50:38 / Jan Vrany <jan.vrany@labware.com>"
dcadeaddd0c8 Update (internal) list of breakpoints when creating / modifying / deleting using MI commands
Jan Vrany <jan.vrany@labware.com>
parents: 221
diff changeset
   184
!
dcadeaddd0c8 Update (internal) list of breakpoints when creating / modifying / deleting using MI commands
Jan Vrany <jan.vrany@labware.com>
parents: 221
diff changeset
   185
4
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   186
isExecutionEvent
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   187
    ^ false
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   188
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   189
    "Created: / 01-06-2014 / 23:38:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   190
!
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   191
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   192
isLogOutputEvent
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   193
    ^ false
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   194
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   195
    "Created: / 01-06-2014 / 23:37:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   196
!
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   197
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   198
isNotificationEvent
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   199
    ^ false
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   200
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   201
    "Created: / 01-06-2014 / 23:37:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   202
!
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   203
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   204
isStatusEvent
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   205
    ^ false
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   206
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   207
    "Created: / 01-06-2014 / 23:38:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   208
!
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   209
242
ab6978ab27f5 Add semi-hosting example
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
   210
isStopEvent
ab6978ab27f5 Add semi-hosting example
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
   211
    ^ false
ab6978ab27f5 Add semi-hosting example
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
   212
ab6978ab27f5 Add semi-hosting example
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
   213
    "Created: / 10-09-2021 / 13:56:02 / Jan Vrany <jan.vrany@labware.com>"
ab6978ab27f5 Add semi-hosting example
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
   214
!
ab6978ab27f5 Add semi-hosting example
Jan Vrany <jan.vrany@labware.com>
parents: 231
diff changeset
   215
4
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   216
isTargetOutputEvent
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   217
    ^ false
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   218
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   219
    "Created: / 01-06-2014 / 23:37:48 / 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
   220
! !
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
17
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   222
!GDBEvent class methodsFor:'documentation'!
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   223
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   224
version_HG
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   225
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   226
    ^ '$Changeset: <not expanded> $'
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   227
! !
10d696c79188 Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   228