X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fgeneric-functions.lisp;h=910e21bacd1a3f229515e32b8f1d45d5d2bbcc84;hb=964e644f3f1ec2c169b1def87f11e2f5b09a748e;hp=14916d496206fa1b1ab98a135fd22f76502ab2c8;hpb=372989d837526e3100b364153d58181a2a563351;p=sbcl.git diff --git a/src/pcl/generic-functions.lisp b/src/pcl/generic-functions.lisp index 14916d4..910e21b 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)) @@ -70,8 +72,6 @@ (defgeneric class-incompatible-superclass-list (pcl-class)) -(defgeneric class-initialize-info (slot-class)) - (defgeneric class-name (class)) (defgeneric class-precedence-list (pcl-class)) @@ -84,6 +84,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)) @@ -164,8 +166,6 @@ (defgeneric (setf class-incompatible-superclass-list) (new-value pcl-class)) -(defgeneric (setf class-initialize-info) (new-value slot-class)) - (defgeneric (setf class-name) (new-value class)) (defgeneric (setf class-slots) (new-value slot-class)) @@ -176,6 +176,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)) @@ -264,6 +267,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)) @@ -312,6 +317,8 @@ (defgeneric add-method (generic-function method)) +(defgeneric (setf class-slot-cells) (new-value class)) + (defgeneric class-slot-value (class slot-name)) (defgeneric compatible-meta-class-change-p (class proto-new-class)) @@ -321,17 +328,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 effective-slot-definition-class (class &rest initargs)) (defgeneric legal-documentation-p (object x)) @@ -398,14 +401,28 @@ (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 invalid-qualifiers (generic-function combin method)) + (defgeneric (setf slot-accessor-function) (function slotd type)) (defgeneric (setf slot-accessor-std-p) (value slotd type)) @@ -440,16 +457,12 @@ (defgeneric get-method (generic-function qualifiers specializers - &optional (errorp t))) + &optional errorp)) (defgeneric find-method (generic-function qualifiers specializers - &optional (errorp t))) - -(defgeneric remove-named-method (generic-function-name - argument-specifiers - &optional extra)) + &optional errorp)) (defgeneric slot-missing (class instance @@ -461,8 +474,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)) @@ -478,6 +491,10 @@ (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))