;; Basic definitions.
(defclass qualifiable-c-type (c-type)
- ((qualifiers :initarg :qualifiers
- :type list
- :initform nil
- :accessor c-type-qualifiers))
+ ((qualifiers :initarg :qualifiers :initform nil
+ :type list :accessor c-type-qualifiers))
(:documentation
"Base class for C types which can be qualified."))
;; Basic definitions.
(defclass simple-c-type (qualifiable-c-type)
- ((name :initarg :name
- :type string
- :reader c-type-name))
+ ((name :initarg :name :type string :reader c-type-name))
(:documentation
"C types with simple forms."))
;; Definitions.
(defclass tagged-c-type (qualifiable-c-type)
- ((tag :initarg :tag
- :type string
- :reader c-type-tag))
+ ((tag :initarg :tag :type string :reader c-type-tag))
(:documentation
"C types with tags."))
;; Definitions.
(defclass c-pointer-type (qualifiable-c-type)
- ((subtype :initarg :subtype
- :type c-type
- :reader c-type-subtype))
+ ((subtype :initarg :subtype :type c-type :reader c-type-subtype))
(:documentation
"C pointer types."))
;; Definitions.
(defclass c-array-type (c-type)
- ((subtype :initarg :subtype
- :type c-type
- :reader c-type-subtype)
- (dimensions :initarg :dimensions
- :type list
- :reader c-array-dimensions))
+ ((subtype :initarg :subtype :type c-type :reader c-type-subtype)
+ (dimensions :initarg :dimensions :type list :reader c-array-dimensions))
(:documentation
"C array types."))
;; Definitions.
(defclass c-function-type (c-type)
- ((subtype :initarg :subtype
- :type c-type
- :reader c-type-subtype)
- (arguments :initarg :arguments
- :type list
- :reader c-function-arguments))
+ ((subtype :initarg :subtype :type c-type :reader c-type-subtype)
+ (arguments :initarg :arguments :type list :reader c-function-arguments))
(:documentation
"C function types. The subtype is the return type, as implied by the C
syntax for function declarations."))