(when varargsp
(format stream "#ifdef SOD__HAVE_VARARGS_MACROS~%"))
(format stream "#define ~A(~{~A~^, ~}) ~
- ~A->_vt->~A.~A(~{~A~^, ~})~%"
+ (~A)->_vt->~A.~A(~{~A~^, ~})~%"
(message-macro-name class entry)
(nreverse in-names)
me
(c-function-keywords type))))
(when keys
(format stream "struct ~A {~%~
- ~{ unsigned ~A : 1;~%~}~
+ ~{ unsigned ~A: 1;~%~}~
};~2%"
(direct-method-suppliedp-struct-tag method)
(mapcar #'argument-name keys))))))))
class)
(format stream "~&struct ~A {~%"
(effective-method-keyword-struct-tag method))
- (format stream "~{ unsigned ~A__suppliedp : 1;~%~}"
+ (format stream "~{ unsigned ~A__suppliedp: 1;~%~}"
(mapcar #'argument-name keys))
(dolist (key keys)
(write-string " " stream)
(let ((dslot (effective-slot-direct-slot slot)))
(or (some (lambda (super)
(find dslot (sod-class-class-initializers super)
- :test #'sod-initializer-slot))
+ :key #'sod-initializer-slot))
(sod-class-precedence-list class))
(effective-slot-initializer slot)))))
(:method ((slot effective-slot) (instance sod-class) stream)
(let ((init (find-class-initializer slot instance))
(direct-slot (effective-slot-direct-slot slot)))
- (ecase (sod-initializer-value-kind init)
- (:simple (format stream " /* ~15@A = */ ~A,~%"
- (sod-slot-name direct-slot)
- (sod-initializer-value-form init)))
- (:compound (format stream " /* ~15@A = */ ~@<{ ~;~A~; },~:>~%"
- (sod-slot-name direct-slot)
- (sod-initializer-value-form init)))))))
+ (format stream " /* ~15@A = */ ~A,~%"
+ (sod-slot-name direct-slot)
+ (sod-initializer-value init)))))
(defmethod hook-output progn
((slot sod-class-effective-slot) (reason (eql 'class)) sequencer)