From: Juho S. <js...@us...> - 2007-01-15 23:23:21
|
Update of /cvsroot/sbcl/sbcl/tests In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv20870/tests Modified Files: clos-1.impure.lisp Log Message: 1.0.1.29: Documentation strings for autogenerated accessors When generating CLOS accessors, use the :documentation of the slot for the docstring of the method (Patch by Troels Henriksen) Index: clos-1.impure.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/tests/clos-1.impure.lisp,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- clos-1.impure.lisp 15 Aug 2006 08:49:51 -0000 1.1 +++ clos-1.impure.lisp 15 Jan 2007 23:23:17 -0000 1.2 @@ -87,3 +87,17 @@ (assert (raises-error? (funcall fun *foo*))) (assert (= 3 (b-of *foo*))) (assert (raises-error? (c-of *foo*))))) + +;; test that :documentation argument to slot specifiers are used as +;; the docstrings of accessor methods. +(defclass foo () + ((a :reader a-of :documentation "docstring for A") + (b :writer set-b-of :documentation "docstring for B") + (c :accessor c :documentation "docstring for C"))) + +(flet ((doc (fun) + (documentation fun t))) + (assert (string= (doc (find-method #'a-of nil '((foo)))) "docstring for A")) + (assert (string= (doc (find-method #'set-b-of nil '(t (foo)))) "docstring for B")) + (assert (string= (doc (find-method #'c nil '((foo)))) "docstring for C")) + (assert (string= (doc (find-method #'(setf c) nil '(t (foo)))) "docstring for C"))) |