+ (let* ((keys (effective-method-keywords method))
+ (message (effective-method-message method))
+ (msg-class (sod-message-class message)))
+ (when keys
+ (format-banner-comment stream "Keyword argument structure ~:_~
+ for `~A.~A' ~:_on class `~A'."
+ (sod-class-nickname msg-class)
+ (sod-message-name message)
+ class)
+ (format stream "~&struct ~A {~%"
+ (effective-method-keyword-struct-tag method))
+ (format stream "~{ unsigned ~A__suppliedp : 1;~%~}"
+ (mapcar #'argument-name keys))
+ (dolist (key keys)
+ (write-string " " stream)
+ (pprint-c-type (argument-type key) stream (argument-name key))
+ (format stream ";~%"))
+ (format stream "};~2%")))