/[cmucl]/src/pcl/combin.lisp
ViewVC logotype

Diff of /src/pcl/combin.lisp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.17 by gerd, Wed May 28 10:41:47 2003 UTC revision 1.18 by gerd, Fri May 30 09:14:34 2003 UTC
# Line 467  Line 467 
467                  ,body))))))                  ,body))))))
468    
469  ;;;  ;;;
 ;;; Return a method function name of METHOD.  If FAST-FUNCTION  
 ;;; is true, return the fast method function name, otherwise  
 ;;; return the slow method function name.  
 ;;;  
 (defun method-function-name (method &optional (fast-function t))  
   (let ((name (nth-value 2 (parse-method-or-spec method))))  
     (if fast-function  
         (cons 'fast-method (cdr name))  
         name)))  
   
 ;;;  
470  ;;; Return a form for calling METHOD's fast function.  METATYPES is a  ;;; Return a form for calling METHOD's fast function.  METATYPES is a
471  ;;; list of metatypes, whose length is used to figure out the names of  ;;; list of metatypes, whose length is used to figure out the names of
472  ;;; required emf parameters.  APPLY? true means the method has a &rest  ;;; required emf parameters.  APPLY? true means the method has a &rest
# Line 500  Line 489 
489  ;;; variable containing a list of FAST-METHOD-CALL structures  ;;; variable containing a list of FAST-METHOD-CALL structures
490  ;;; corresponding to the method function calls.  ;;; corresponding to the method function calls.
491  ;;;  ;;;
492  (defun make-direct-calls (methods metatypes apply? list-var)  (defun make-direct-calls (methods metatypes rest? list-var)
493    (collect ((calls))    (collect ((calls))
494      (dolist (method methods)      (dolist (method methods)
495        (calls `(let ((.call. (pop .list.)))        (calls `(let ((.call. (pop .list.)))
496                  ,(make-direct-call method metatypes apply? '.call.))))                  ,(make-direct-call method metatypes rest? '.call.))))
497      `(let ((.list. ,list-var))      `(let ((.list. ,list-var))
498         (declare (ignorable .list.))         (declare (ignorable .list.))
499         ,@(calls))))         ,@(calls))))

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.18

  ViewVC Help
Powered by ViewVC 1.1.5