sod-class-direct-superclasses sod-class-precedence-list
sod-class-chain-link sod-class-chain-head
sod-class-chain sod-class-chains
- sod-class-slots sod-class-initfrags sod-class-tearfrags
+ sod-class-slots
+ sod-class-initargs sod-class-initfrags sod-class-tearfrags
sod-class-instance-initializers sod-class-class-initializers
sod-class-messages sod-class-methods
sod-class-state
- sod-class-ilayout sod-class-vtables))
+ sod-class-ilayout sod-class-effective-methods sod-class-vtables))
(defclass sod-class ()
((name :initarg :name :type string :reader sod-class-name)
(location :initarg :location :initform (file-location nil)
See `sod-initializer' for more details."))
-(export 'sod-initarg)
+(export '(sod-initarg
+ sod-initarg-class sod-initarg-name sod-initarg-type))
(defclass sod-initarg ()
((%class :initarg :class :type sod-class :reader sod-initarg-class)
(location :initarg :location :initform (file-location nil)
(:documentation
"Describes a keyword argument accepted by the initialization function."))
-(export 'sod-user-initarg)
+(export '(sod-user-initarg sod-initarg-default))
(defclass sod-user-initarg (sod-initarg)
((default :initarg :default :type t :reader sod-initarg-default))
(:documentation
"Describes an initialization argument defined by the user."))
-(export 'sod-slot-initarg)
+(defmethod print-object ((initarg sod-user-initarg) stream)
+ (maybe-print-unreadable-object (initarg stream :type t)
+ (pprint-c-type (sod-initarg-type initarg) stream
+ (sod-initarg-name initarg))
+ (awhen (sod-initarg-default initarg)
+ (format stream " = ~A" it))))
+
+(export '(sod-slot-initarg sod-initarg-slot))
(defclass sod-slot-initarg (sod-initarg)
((slot :initarg :slot :type sod-slot :reader sod-initarg-slot))
(:documentation
"Describes an initialization argument used to initialize a slot."))
+(defmethod print-object ((initarg sod-slot-initarg) stream)
+ (maybe-print-unreadable-object (initarg stream :type t)
+ (pprint-c-type (sod-initarg-type initarg) stream
+ (sod-initarg-name initarg))
+ (format stream " for ~A" (sod-initarg-slot initarg))))
+
;;;--------------------------------------------------------------------------
;;; Messages and methods.