Add `GDBStructure` helper class
An instances for `GDBStructure` can be used as generic "described"
elements when specifying command return structure.
"
COPYRIGHT (c) 2020 LabWare
jv:libgdbs - GNU Debugger Interface Library
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
"
"{ Package: 'jv:libgdbs' }"
"{ NameSpace: Smalltalk }"
GDBObject subclass:#GDBStructure
instanceVariableNames:'name description'
classVariableNames:''
poolDictionaries:''
category:'GDB-Support'
!
!GDBStructure class methodsFor:'documentation'!
copyright
"
COPYRIGHT (c) 2020 LabWare
jv:libgdbs - GNU Debugger Interface Library
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
"
! !
!GDBStructure class methodsFor:'instance creation'!
new
"return an initialized instance"
^ self basicNew initialize.
! !
!GDBStructure methodsFor:'accessing'!
description
^ description
! !
!GDBStructure methodsFor:'adding-easy shortcuts'!
define: property as: class
description define: property as: class
"Created: / 23-09-2014 / 22:20:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 25-04-2019 / 16:20:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 15-06-2020 / 12:26:46 / Jan Vrany <jan.vrany@labware.com>"
!
define: property as: collectionClass of: elementClass
description define: property as: collectionClass of: elementClass
"Created: / 23-09-2014 / 22:54:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 25-04-2019 / 16:19:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 15-06-2020 / 12:27:00 / Jan Vrany <jan.vrany@labware.com>"
!
define: property as: collectionClass of: elementClass1 whenTaggedBy: tag1 or: elementClass2 whenTaggedBy: tag2
description define: property as: collectionClass of: elementClass1 whenTaggedBy: tag1 or: elementClass2 whenTaggedBy: tag2
"Created: / 03-07-2018 / 17:10:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 25-04-2019 / 16:20:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 15-06-2020 / 12:27:14 / Jan Vrany <jan.vrany@labware.com>"
! !
!GDBStructure methodsFor:'initialization'!
initialize
super initialize.
description := GDBMAContainer forClass: self class.
"Modified: / 15-06-2020 / 12:51:40 / Jan Vrany <jan.vrany@labware.com>"
! !