From: Nikodemus S. <de...@us...> - 2007-08-18 04:07:39
|
Update of /cvsroot/sbcl/sbcl/src/pcl In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv4120/src/pcl Modified Files: slots.lisp Log Message: 1.0.8.30: better standard-instance accessors * Add SETF functions for STANDARD-INSTANCE-ACCESS and FUNCALLABLE-STANDARD-INSTANCE-ACCESS. * Declare them and the readers inline. Thanks to Attila Lendvai. Index: slots.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/pcl/slots.lisp,v retrieving revision 1.29 retrieving revision 1.30 diff -u -d -r1.29 -r1.30 --- slots.lisp 17 Jul 2007 20:50:20 -0000 1.29 +++ slots.lisp 18 Aug 2007 04:07:14 -0000 1.30 @@ -159,12 +159,22 @@ (slot-value object slot-name) default)) +(declaim (inline standard-instance-access (setf standard-instance-access) + funcallable-standard-instance-access + (setf funcallable-standard-instance-access))) + (defun standard-instance-access (instance location) (clos-slots-ref (std-instance-slots instance) location)) +(defun (setf standard-instance-access) (new-value instance location) + (setf (clos-slots-ref (std-instance-slots instance) location) new-value)) + (defun funcallable-standard-instance-access (instance location) (clos-slots-ref (fsc-instance-slots instance) location)) +(defun (setf funcallable-standard-instance-access) (new-value instance location) + (setf (clos-slots-ref (fsc-instance-slots instance) location) new-value)) + (defmethod slot-value-using-class ((class std-class) (object standard-object) (slotd standard-effective-slot-definition)) |