X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fgeneric-functions.lisp;h=910e21bacd1a3f229515e32b8f1d45d5d2bbcc84;hb=f3f677703e37f5a335b3be7fa64f7748ad969517;hp=6033072d7d00051da99fe5581e1be002e037d669;hpb=cea4896b2482b7b2b429c1631d774b4cfbc0efba;p=sbcl.git diff --git a/src/pcl/generic-functions.lisp b/src/pcl/generic-functions.lisp index 6033072..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)) @@ -96,7 +98,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)) @@ -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)) @@ -183,7 +186,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 +239,6 @@ (defgeneric accessor-method-slot-name (m)) -(defgeneric class-constructors (class)) - (defgeneric class-default-initargs (class)) (defgeneric class-direct-default-initargs (class)) @@ -265,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)) @@ -313,7 +317,7 @@ (defgeneric add-method (generic-function method)) -(defgeneric change-class (instance new-class-name)) +(defgeneric (setf class-slot-cells) (new-value class)) (defgeneric class-slot-value (class slot-name)) @@ -324,19 +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 effective-slot-definition-class (class initargs)) +(defgeneric direct-slot-definition-class (class &rest initargs)) -(defgeneric inform-type-system-about-class (class name)) +(defgeneric effective-slot-definition-class (class &rest initargs)) (defgeneric legal-documentation-p (object x)) @@ -403,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)) @@ -445,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 @@ -462,25 +470,31 @@ operation &optional new-value)) -;;;; keyword arguments +;;;; &KEY arguments (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)) (defgeneric ensure-generic-function-using-class (generic-function - function-name + fun-name &key &allow-other-keys)) (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))