Changeset 14308 for branches/qres/ccl/lib/defstruct.lisp
- Timestamp:
- Sep 28, 2010, 6:49:35 PM (10 years ago)
- Location:
- branches/qres/ccl/lib
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/qres/ccl/lib
-
Property
svn:mergeinfo
set to
(toggle deleted branches)
/branches/1.2-devel/ccl/lib merged eligible /branches/new-random/lib merged eligible /branches/qres/ccl/lib merged eligible /release/1.5/source/lib merged eligible /trunk/source/lib merged eligible /branches/1.2/devel/source/lib 8123-8176 /branches/experimentation/devel/source/lib 8045-8122 /branches/working-0711/ccl/lib 13551-13555,13559 /trunk/linuxx86/ccl/lib 13406
-
Property
svn:mergeinfo
set to
(toggle deleted branches)
-
branches/qres/ccl/lib/defstruct.lisp
r14259 r14308 207 207 (t `(uvref ,arg ,offset))))) 208 208 `((defun ,name (,arg) 209 ,(if (eq type 't) form `(the ,type ,form))) 209 ,(cond ((eq type t) form) 210 ((nx-declarations-typecheck env) 211 ;; TYPE may be unknown. For example, it may be 212 ;; forward-referenced. Insert a run-time check in 213 ;; this case. 214 `(require-type ,form ',type)) 215 (t `(the ,type ,form)))) 210 216 ,@(unless (ssd-r/o slot) 211 217 `((defun (setf ,name) (,value ,arg) 212 ,(if (eq type 't) 213 `(setf ,form ,value) 214 `(the ,type (setf ,form (typecheck ,value ,type)))))))))) 218 ,(cond 219 ((eq type t) `(setf ,form ,value)) 220 ((nx-declarations-typecheck env) 221 ;; Checking the type of SETF's return value seems 222 ;; kind of pointless here. 223 `(require-type (setf ,form (typecheck ,value ,type)) ',type)) 224 (t 225 `(the ,type (setf ,form (typecheck ,value ,type))))))))))) 215 226 216 227 (defun defstruct-reftype (type)
Note: See TracChangeset
for help on using the changeset viewer.