(defun create-std-arg (method arg-spec)
(let ((class-desc (second (member :class arg-spec)))
(name (car arg-spec)))
(cond ((and method
(listp class-desc)
(not (null class-desc))) `(,name ,(first class-desc)))
((and method
(atom class-desc)) name)
((and (not method)
class-desc)
(error "using arg option :class without declaring method"))
(t name))))Source Context