X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fgeneric-functions.lisp;h=a66447c5f07b08ae879e901744b8fb3a75d85daa;hb=22aec7852f4861e5dab28cc0d619c24b62590dad;hp=0e101bcba31547d36490708e219ed3e866869f46;hpb=0a82f2db352cc348d2107a882e50af222ff97ed3;p=sbcl.git diff --git a/src/pcl/generic-functions.lisp b/src/pcl/generic-functions.lisp index 0e101bc..a66447c 100644 --- a/src/pcl/generic-functions.lisp +++ b/src/pcl/generic-functions.lisp @@ -14,6 +14,8 @@ (defgeneric classp (object)) +(defgeneric condition-class-p (object)) + (defgeneric eql-specializer-p (object)) (defgeneric exact-class-specializer-p (object)) @@ -84,6 +86,8 @@ (defgeneric eql-specializer-object (eql-specializer)) +(defgeneric generic-function-declarations (standard-generic-function)) + (defgeneric generic-function-method-class (standard-generic-function)) (defgeneric generic-function-method-combination (standard-generic-function)) @@ -96,7 +100,7 @@ (defgeneric gf-dfun-state (standard-generic-function)) -(defgeneric gf-pretty-arglist (standard-generic-function)) +(defgeneric generic-function-initial-methods (standard-generic-function)) (defgeneric long-method-combination-function (long-method-combination)) @@ -176,6 +180,9 @@ (defgeneric (setf generic-function-method-combination) (new-value standard-generic-function)) +(defgeneric (setf generic-function-declarations) (new-value + standard-generic-function)) + (defgeneric (setf generic-function-methods) (new-value standard-generic-function)) @@ -183,7 +190,8 @@ (defgeneric (setf gf-dfun-state) (new-value standard-generic-function)) -(defgeneric (setf gf-pretty-arglist) (new-value standard-generic-function)) +(defgeneric (setf generic-function-initial-methods) + (new-value standard-generic-function)) (defgeneric (setf method-generic-function) (new-value standard-method)) @@ -235,8 +243,6 @@ (defgeneric accessor-method-slot-name (m)) -(defgeneric class-constructors (class)) - (defgeneric class-default-initargs (class)) (defgeneric class-direct-default-initargs (class)) @@ -265,6 +271,8 @@ (defgeneric function-keywords (method)) +(defgeneric generic-function-argument-precedence-order (gf)) + (defgeneric generic-function-lambda-list (gf)) (defgeneric generic-function-pretty-arglist (generic-function)) @@ -313,8 +321,6 @@ (defgeneric add-method (generic-function method)) -(defgeneric change-class (instance new-class-name)) - (defgeneric class-slot-value (class slot-name)) (defgeneric compatible-meta-class-change-p (class proto-new-class)) @@ -324,19 +330,13 @@ (defgeneric compute-applicable-methods-using-classes (generic-function classes)) -(defgeneric compute-effective-slot-definition (class dslotds)) - (defgeneric compute-effective-slot-definition-initargs (class direct-slotds)) -(defgeneric default-initargs (class supplied-initargs)) - (defgeneric describe-object (object stream)) -(defgeneric direct-slot-definition-class (class initargs)) +(defgeneric direct-slot-definition-class (class &rest initargs)) -(defgeneric effective-slot-definition-class (class initargs)) - -(defgeneric inform-type-system-about-class (class name)) +(defgeneric effective-slot-definition-class (class &rest initargs)) (defgeneric legal-documentation-p (object x)) @@ -403,12 +403,24 @@ (defgeneric (setf class-slot-value) (nv class slot-name)) +;;; CMUCL comment (from Gerd Moellmann/Pierre Mai, 2002-10-19): +;;; +;;; According to AMOP, COMPUTE-EFFECTIVE-METHOD should return two +;;; values. Alas, the second value is only vaguely described in AMOP, +;;; and, when asked on 2002-10-18, Gregor Kiczales said he couldn't +;;; remember what the second value was supposed to be. So, PCL's +;;; COMPUTE-EFFECTIVE-METHOD returns one value as do Allegro and +;;; Lispworks. (defgeneric compute-effective-method (generic-function combin applicable-methods)) +(defgeneric compute-effective-slot-definition (class name dslotds)) + (defgeneric compute-slot-accessor-info (slotd type gf)) +(defgeneric default-initargs (class initargs defaults)) + (defgeneric find-method-combination (generic-function type options)) (defgeneric (setf slot-accessor-function) (function slotd type)) @@ -445,12 +457,12 @@ (defgeneric get-method (generic-function qualifiers specializers - &optional (errorp t))) + &optional errorp)) (defgeneric find-method (generic-function qualifiers specializers - &optional (errorp t))) + &optional errorp)) (defgeneric remove-named-method (generic-function-name argument-specifiers @@ -466,8 +478,8 @@ (defgeneric allocate-instance (class &rest initargs)) -(defgeneric ensure-class-using-class (name - class +(defgeneric ensure-class-using-class (class + name &rest args &key &allow-other-keys)) @@ -477,10 +489,16 @@ (defgeneric initialize-instance (gf &key &allow-other-keys)) -(defgeneric make-instance (class &rest initargs)) +(defgeneric make-instance (class &rest initargs &key &allow-other-keys)) + +(defgeneric change-class (instance new-class-name &rest initargs &key &allow-other-keys)) (defgeneric no-applicable-method (generic-function &rest args)) +(defgeneric no-next-method (generic-function method &rest args)) + +(defgeneric no-primary-method (generic-function &rest args)) + (defgeneric reader-method-class (class direct-slot &rest initargs)) (defgeneric reinitialize-instance (gf &rest args &key &allow-other-keys))