X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fgeneric-functions.lisp;h=be8ddec39aa8ba21a7ce18675cdec9be79c58bdf;hb=a1007bcf38130a9a08e32f04a69e6836f76329d2;hp=44cae16f90c8b222b9e8d94cd375686ce9492ed8;hpb=a530bbe337109d898d5b4a001fc8f1afa3b5dc39;p=sbcl.git diff --git a/src/pcl/generic-functions.lisp b/src/pcl/generic-functions.lisp index 44cae16..be8ddec 100644 --- a/src/pcl/generic-functions.lisp +++ b/src/pcl/generic-functions.lisp @@ -7,9 +7,6 @@ ;;;; warranty. See the COPYING and CREDITS files for more information. (in-package "SB-PCL") - -(sb-int:file-comment - "$Header$") ;;;; class predicates @@ -87,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)) @@ -99,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)) @@ -179,6 +178,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)) @@ -186,7 +188,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)) @@ -238,8 +241,6 @@ (defgeneric accessor-method-slot-name (m)) -(defgeneric class-constructors (class)) - (defgeneric class-default-initargs (class)) (defgeneric class-direct-default-initargs (class)) @@ -268,6 +269,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)) @@ -316,8 +319,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)) @@ -327,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 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)) @@ -406,12 +401,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)) @@ -448,12 +455,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 @@ -465,25 +472,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))