(metaroot (find-root-metaclass class)))
(format stream "/* The class object. */~@
extern const struct ~A ~A__classobj;~@
- #define ~:*~A__class (&~:*~A__classobj.~A.~A)~2%"
+ #define ~:*~A__class (&~:*~A__classobj.~A.~A)~%"
(ilayout-struct-tag metaclass) class
(sod-class-nickname (sod-class-chain-head metaroot))
- (sod-class-nickname metaroot)))))
+ (sod-class-nickname metaroot))
+ (dolist (chain (sod-class-chains metaclass))
+ (let ((tail (car chain)))
+ (unless (eq tail metaroot)
+ (format stream "#define ~A__cls_~A (&~2:*~A__classobj.~A.~A)~%"
+ class (sod-class-nickname (sod-class-chain-head tail))
+ (sod-class-nickname tail)))))
+ (terpri stream))))
;; Maybe generate an islots structure.
(when (sod-class-slots class)