GDBOutputFormat.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 25 Apr 2019 16:25:29 +0100
changeset 187 cb419023190f
parent 162 e56b2f6369af
child 211 d493b4969b59
permissions -rw-r--r--
Fix `GDBBreakpoint` description to support new-style breakpoint record ...which includes new field `locations` that contains all locations for a multi-location breakpoint. Previous versions printed more than one breakpoint on `=breakpoint-*` events (which was not valid MI syntax as documented). With this fix, `stx:libgdbs` supports both, the old and new records.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
154
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
     1
"{ Encoding: utf8 }"
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
     2
97
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
jv:libgdbs - GNU Debugger Interface Library
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
Copyright (C) 2015-now Jan Vrany
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
This library is free software; you can redistribute it and/or
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
modify it under the terms of the GNU Lesser General Public
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
License as published by the Free Software Foundation; either
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
version 2.1 of the License. 
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
This library is distributed in the hope that it will be useful,
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
but WITHOUT ANY WARRANTY; without even the implied warranty of
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
Lesser General Public License for more details.
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
You should have received a copy of the GNU Lesser General Public
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
License along with this library; if not, write to the Free Software
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
"
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
"{ Package: 'jv:libgdbs' }"
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
"{ NameSpace: Smalltalk }"
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
Object subclass:#GDBOutputFormat
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
	instanceVariableNames:'format name description'
154
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
    27
	classVariableNames:'FormatAddress FormatBinary FormatCharacterConstant
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
    28
		FormatFloatingPoint FormatHexadecimal FormatOctal
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
    29
		FormatPaddedHexadecimal FormatRaw FormatSignedDecimal
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
    30
		FormatString FormatUnsignedDecimal'
97
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
	poolDictionaries:''
154
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
    32
	category:'GDB-Core'
97
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
!
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
!GDBOutputFormat class methodsFor:'documentation'!
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
copyright
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
"
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
jv:libgdbs - GNU Debugger Interface Library
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
Copyright (C) 2015-now Jan Vrany
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
This library is free software; you can redistribute it and/or
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
modify it under the terms of the GNU Lesser General Public
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
License as published by the Free Software Foundation; either
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
version 2.1 of the License. 
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
This library is distributed in the hope that it will be useful,
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
but WITHOUT ANY WARRANTY; without even the implied warranty of
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
Lesser General Public License for more details.
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
You should have received a copy of the GNU Lesser General Public
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
License along with this library; if not, write to the Free Software
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
"
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
!
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
documentation
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
"
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
    GDBOutputFormat is a reification of one of output formats
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
    defined by GDB. 
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
    Do not use this class directly in user code, use constants 
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
    defined `GDBOutputFormats`
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
    [author:]
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
        Jan Vrany <jan.vrany@fit.cvut.cz>
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
    [instance variables:]
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
    [class variables:]
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
    [see also:]
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
        GDBOutputFormats
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
        https://sourceware.org/gdb/onlinedocs/gdb/Output-Formats.html#Output-Formats
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
"
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
! !
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
154
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
    80
!GDBOutputFormat class methodsFor:'initialization'!
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
    81
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
    82
initialize
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
    83
    "Invoked at system start or when the class is dynamically loaded."
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
    84
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
    85
    "/ See https://sourceware.org/gdb/onlinedocs/gdb/Output-Formats.html#Output-Formats
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
    86
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
    87
    FormatHexadecimal := GDBOutputFormat format: $x name: 'Hexadecimal' description: 'Regard the bits of the value as an integer, and print the integer in hexadecimal.'.
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
    88
    FormatSignedDecimal := GDBOutputFormat format: $d name: 'Signed decimal' description: 'Print as integer in signed decimal.'.
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
    89
    FormatUnsignedDecimal := GDBOutputFormat format: $u name: 'Unsigned decimal' description: 'Print as integer in unsigned decimal.'.
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
    90
    FormatOctal := GDBOutputFormat format: $o name: 'Octal' description: 'Print as integer in octal.'.
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
    91
    FormatBinary := GDBOutputFormat format: $t name: 'Binary' description: 'Print as integer in binary.'.
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
    92
    FormatAddress := GDBOutputFormat format: $a name: 'Address' description: 'Print as an address, both absolute in hexadecimal and as an offset from the nearest preceding symbol. You can use this format used to discover where (in what function) an unknown address is located:
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
    93
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
    94
(gdb) p/a 0x54320
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
    95
$3 = 0x54320 <_initialize_vx+396>
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
    96
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
    97
The command info symbol 0x54320 yields similar results. See info symbol. '.
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
    98
    FormatCharacterConstant := GDBOutputFormat format: $c name: 'Character constant' description: '    Regard as an integer and print it as a character constant. This prints both the numerical value and its character representation. The character representation is replaced with the octal escape ‘\nnn’ for characters outside the 7-bit ASCII range.
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
    99
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
   100
    Without this format, GDB displays char, unsigned char, and signed char data as character constants. Single-byte members of vectors are displayed as integer data.
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
   101
'.
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
   102
    FormatFloatingPoint := GDBOutputFormat format: $f name: 'Floating point' description: 'Regard the bits of the value as a floating point number and print using typical floating point syntax. '.
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
   103
    FormatString := GDBOutputFormat format: $s name: 'String' description: 'Regard as a string, if possible. With this format, pointers to single-byte data are displayed as null-terminated strings and arrays of single-byte data are displayed as fixed-length strings. Other values are displayed in their natural types.
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
   104
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
   105
Without this format, GDB displays pointers to and arrays of char, unsigned char, and signed char as strings. Single-byte members of a vector are displayed as an integer array. '.
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
   106
    FormatPaddedHexadecimal := GDBOutputFormat format: $x name: 'Padded hexadecimal' description: 'Like ‘x’ (hexadecimal) formatting, the value is treated as an integer and printed as hexadecimal, but leading zeros are printed to pad the value to the size of the integer type. '.
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
   107
    FormatRaw := GDBOutputFormat format: $r name: 'Raw' description: 'Print using the ‘raw’ formatting. By default, GDB will use a Python-based pretty-printer, if one is available (see Pretty Printing). This typically results in a higher-level display of the value’s contents. The ‘r’ format bypasses any Python pretty-printer which might exist. '.
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
   108
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
   109
    "Modified: / 25-01-2018 / 09:29:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
   110
! !
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
   111
97
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
!GDBOutputFormat class methodsFor:'instance creation'!
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
format:formatArg name:nameArg description:descriptionArg 
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
    ^ self new format:formatArg name:nameArg description:descriptionArg 
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
! !
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
154
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
   118
!GDBOutputFormat class methodsFor:'accessing'!
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
   119
162
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   120
address
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   121
    ^ FormatAddress
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   122
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   123
    "Created: / 28-11-2018 / 14:00:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   124
!
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   125
154
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
   126
all
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
   127
    ^ self classVariables collect:[:name | self classVarAt: name ]
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
   128
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
   129
    "Created: / 26-01-2018 / 00:45:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
162
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   130
!
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   131
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   132
binary
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   133
    ^ FormatBinary
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   134
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   135
    "Created: / 28-11-2018 / 14:00:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   136
!
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   137
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   138
characterConstant
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   139
    ^ FormatCharacterConstant
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   140
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   141
    "Created: / 28-11-2018 / 14:01:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   142
!
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   143
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   144
floatingPoint
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   145
    ^ FormatFloatingPoint
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   146
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   147
    "Created: / 28-11-2018 / 14:01:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   148
!
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   149
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   150
hexadecimal
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   151
    ^ FormatHexadecimal
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   152
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   153
    "Created: / 28-11-2018 / 14:01:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   154
!
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   155
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   156
octal
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   157
    ^ FormatOctal
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   158
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   159
    "Created: / 28-11-2018 / 14:01:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   160
!
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   161
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   162
paddedHexadecimal
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   163
    ^ FormatPaddedHexadecimal
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   164
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   165
    "Created: / 28-11-2018 / 13:07:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   166
!
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   167
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   168
raw    
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   169
    ^ FormatRaw
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   170
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   171
    "Created: / 28-11-2018 / 14:01:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   172
!
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   173
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   174
signedDecimal
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   175
    ^ FormatSignedDecimal
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   176
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   177
    "Created: / 28-11-2018 / 14:02:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   178
!
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   179
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   180
string
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   181
    ^ FormatString
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   182
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   183
    "Created: / 28-11-2018 / 14:02:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   184
!
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   185
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   186
unsignedDecimal
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   187
    ^ FormatUnsignedDecimal
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   188
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   189
    "Created: / 28-11-2018 / 14:02:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
154
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
   190
! !
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
   191
97
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
!GDBOutputFormat methodsFor:'accessing'!
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   193
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   194
description
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
    ^ description
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
!
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
format
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
    ^ format
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
!
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   201
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   202
name
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
    ^ name
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   204
! !
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   206
!GDBOutputFormat methodsFor:'displaying'!
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   207
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   208
displayString
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   209
    ^ name
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   210
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   211
    "Created: / 26-01-2018 / 00:46:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
! !
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   213
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   214
!GDBOutputFormat methodsFor:'initialization'!
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   215
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   216
format:formatArg name:nameArg description:descriptionArg 
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   217
    format := formatArg.
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   218
    name := nameArg.
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   219
    description := descriptionArg.
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   220
! !
b17c889076e4 Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
162
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   222
!GDBOutputFormat methodsFor:'printing & storing'!
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   223
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   224
printOn:aStream
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   225
    "append a printed representation of the receiver to the argument, aStream"
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   226
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   227
    super printOn:aStream.
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   228
    aStream nextPutAll:'('.
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   229
    format printOn:aStream.
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   230
    aStream nextPutAll:')'.
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   231
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   232
    "Modified: / 28-11-2018 / 13:05:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   233
! !
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   234
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   235
!GDBOutputFormat class methodsFor:'documentation'!
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   236
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   237
version_HG
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   238
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   239
    ^ '$Changeset: <not expanded> $'
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   240
! !
e56b2f6369af Add methods for accessing individual output formats
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   241
154
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
   242
abd4d9bdec0e Portability: remove `GDBOutputFormats` pool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
   243
GDBOutputFormat initialize!