+(defmethod initialize-instance :around ((obj view-class-direct-slot-definition)
+ &rest initargs)
+ (do* ((saved-initargs initargs)
+ (parsed (list obj))
+ (name (first initargs) (first initargs))
+ (val (second initargs) (second initargs))
+ (type nil)
+ (db-constraints nil))
+ ((null initargs)
+ (setq parsed
+ (append parsed
+ (list 'specified-type type
+ :type (compute-lisp-type-from-specified-type
+ type db-constraints))))
+ (apply #'call-next-method parsed))
+ (case name
+ (:db-constraints
+ (setq db-constraints val)
+ (setq parsed (append parsed (list name val))))
+ (:type
+ (setq type val))
+ (t
+ (setq parsed (append parsed (list name val)))))
+ (setq initargs (cddr initargs))))