GDBCommandResult.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 19 Mar 2015 08:25:30 +0000
changeset 73 f5fe22f56f10
parent 20 76ac209277a7
child 78 c24e7d8bc881
permissions -rw-r--r--
MI parsing: added support for command result values as GDB objects ...in addition to just a set of properties and values. If a command's resultDescriptor is for an GDBObject then parse it directly and return that object via GDBCommandResult>>value. This helps to avoid unnecessary creation of property dictionary and then creating an object of of individual properties.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
73
f5fe22f56f10 MI parsing: added support for command result values as GDB objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
     1
"{ Encoding: utf8 }"
f5fe22f56f10 MI parsing: added support for command result values as GDB objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
     2
3
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ Package: 'jv:libgdbs' }"
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
73
f5fe22f56f10 MI parsing: added support for command result values as GDB objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
     5
"{ NameSpace: Smalltalk }"
f5fe22f56f10 MI parsing: added support for command result values as GDB objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
     6
18
6bf3d5c400d1 Make GDBEvent and GDBCommandResult also described by value descriptor...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
     7
GDBObject subclass:#GDBCommandResult
73
f5fe22f56f10 MI parsing: added support for command result values as GDB objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
     8
	instanceVariableNames:'command status value'
3
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	classVariableNames:''
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
	poolDictionaries:''
6
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    11
	category:'GDB-Core-Commands'
3
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
!
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
6
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    15
!GDBCommandResult methodsFor:'accessing'!
3
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
18
6bf3d5c400d1 Make GDBEvent and GDBCommandResult also described by value descriptor...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    17
command
6bf3d5c400d1 Make GDBEvent and GDBCommandResult also described by value descriptor...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    18
    ^ command
6bf3d5c400d1 Make GDBEvent and GDBCommandResult also described by value descriptor...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    19
!
6bf3d5c400d1 Make GDBEvent and GDBCommandResult also described by value descriptor...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    20
6bf3d5c400d1 Make GDBEvent and GDBCommandResult also described by value descriptor...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    21
command:something
6bf3d5c400d1 Make GDBEvent and GDBCommandResult also described by value descriptor...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    22
    command := something.
6bf3d5c400d1 Make GDBEvent and GDBCommandResult also described by value descriptor...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    23
!
6bf3d5c400d1 Make GDBEvent and GDBCommandResult also described by value descriptor...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    24
3
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
status
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
    ^ status
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
!
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
status:something
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
    status := something.
73
f5fe22f56f10 MI parsing: added support for command result values as GDB objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
    31
!
f5fe22f56f10 MI parsing: added support for command result values as GDB objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
    32
f5fe22f56f10 MI parsing: added support for command result values as GDB objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
    33
value
f5fe22f56f10 MI parsing: added support for command result values as GDB objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
    34
    "Returns a command result value as GDB object or nil, if
f5fe22f56f10 MI parsing: added support for command result values as GDB objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
    35
     command result is just a set of properties. In that case,
f5fe22f56f10 MI parsing: added support for command result values as GDB objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
    36
     use #propertyAt: to query individual property values."
f5fe22f56f10 MI parsing: added support for command result values as GDB objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
    37
    ^ value
f5fe22f56f10 MI parsing: added support for command result values as GDB objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
    38
f5fe22f56f10 MI parsing: added support for command result values as GDB objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
    39
    "Modified (comment): / 19-03-2015 / 08:19:25 / 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
    40
! !
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
20
76ac209277a7 Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    42
!GDBCommandResult methodsFor:'accessing-properties'!
76ac209277a7 Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    43
76ac209277a7 Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    44
properties
76ac209277a7 Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    45
    ^ GDBObject getPropertiesOf: self.
76ac209277a7 Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    46
76ac209277a7 Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    47
    "Modified: / 20-06-2014 / 09:04:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76ac209277a7 Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    48
!
76ac209277a7 Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    49
76ac209277a7 Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    50
propertyAt: name
76ac209277a7 Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    51
    ^ GDBObject getProperty: name of: self
76ac209277a7 Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    52
76ac209277a7 Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    53
    "Created: / 31-05-2014 / 00:00:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76ac209277a7 Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    54
    "Modified: / 20-06-2014 / 09:05:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76ac209277a7 Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    55
!
76ac209277a7 Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    56
73
f5fe22f56f10 MI parsing: added support for command result values as GDB objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
    57
propertyAt: name put: val
f5fe22f56f10 MI parsing: added support for command result values as GDB objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
    58
    ^ GDBObject setProperty: name of: self to: val
20
76ac209277a7 Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    59
76ac209277a7 Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    60
    "Created: / 31-05-2014 / 00:01:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76ac209277a7 Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    61
    "Modified: / 20-06-2014 / 09:05:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76ac209277a7 Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    62
! !
76ac209277a7 Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    63
6
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    64
!GDBCommandResult class methodsFor:'documentation'!
3
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
version_HG
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
    ^ '$Changeset: <not expanded> $'
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
! !
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70