X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/3dca7758421664a838c54b273bd9221f02072045..db56b1d3c3d4bc9ffb6500b1f40c27c77d868aa4:/src/classes.lisp diff --git a/src/classes.lisp b/src/classes.lisp index afbb485..d403d10 100644 --- a/src/classes.lisp +++ b/src/classes.lisp @@ -7,7 +7,7 @@ ;;;----- Licensing notice --------------------------------------------------- ;;; -;;; This file is part of the Sensble Object Design, an object system for C. +;;; This file is part of the Sensible Object Design, an object system for C. ;;; ;;; SOD is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by @@ -76,20 +76,20 @@ (methods :initarg :methods :initform nil :type list :accessor sod-class-methods) - (class-precedence-list :type list :accessor sod-class-precedence-list) + (class-precedence-list :type list :reader sod-class-precedence-list) - (%type :type c-class-type :accessor sod-class-type) + (%type :type c-class-type :reader sod-class-type) - (chain-head :type sod-class :accessor sod-class-chain-head) - (chain :type list :accessor sod-class-chain) - (chains :type list :accessor sod-class-chains) + (chain-head :type sod-class :reader sod-class-chain-head) + (chain :type list :reader sod-class-chain) + (chains :type list :reader sod-class-chains) - (%ilayout :type ilayout :accessor sod-class-ilayout) - (effective-methods :type list :accessor sod-class-effective-methods) - (vtables :type list :accessor sod-class-vtables) + (%ilayout :type ilayout :reader sod-class-ilayout) + (effective-methods :type list :reader sod-class-effective-methods) + (vtables :type list :reader sod-class-vtables) - (state :initform nil :type (member nil :finalized broken) - :accessor sod-class-state)) + (state :initform nil :type (member nil :finalized :broken) + :reader sod-class-state)) (:documentation "Classes describe the layout and behaviour of objects. @@ -294,14 +294,11 @@ and `sod-instance-initializer'.")) (defmethod print-object ((initializer sod-initializer) stream) - (if *print-escape* - (print-unreadable-object (initializer stream :type t) - (format stream "~A = ~A" - (sod-initializer-slot initializer) - initializer)) - (format stream "~:[{~A}~;~A~]" - (eq (sod-initializer-value-kind initializer) :single) - (sod-initializer-value-form initializer)))) + (with-slots (slot value-kind value-form) initializer + (if *print-escape* + (print-unreadable-object (initializer stream :type t) + (format stream "~A = ~A" slot value-form)) + (format stream "~:[{~A}~;~A~]" (eq value-kind :single) value-form)))) (export 'sod-class-initializer) (defclass sod-class-initializer (sod-initializer)