X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fgeneric-functions.lisp;h=e0ed65af7fe6a6edec3f601eb4f4befec2c11909;hb=05e9b542c5700416b8fd9f3ba9bb91bb6ab84b3a;hp=f91ced07205162d2bb16e9274ba4769b68ee3534;hpb=479ef26343b45753fc019b6535d3aa0ee54cb324;p=sbcl.git diff --git a/src/pcl/generic-functions.lisp b/src/pcl/generic-functions.lisp index f91ced0..e0ed65a 100644 --- a/src/pcl/generic-functions.lisp +++ b/src/pcl/generic-functions.lisp @@ -26,8 +26,6 @@ (defgeneric generic-function-p (object)) -(defgeneric legal-lambda-list-p (object x)) - (defgeneric method-combination-p (object)) (defgeneric method-p (object)) @@ -76,8 +74,6 @@ (defgeneric class-precedence-list (pcl-class)) -(defgeneric class-predicate-name (class)) - (defgeneric class-wrapper (pcl-class)) (defgeneric definition-source (definition-source-mixin)) @@ -106,9 +102,7 @@ (defgeneric method-combination-options (standard-method-combination)) -(defgeneric method-combination-type (standard-method-combination)) - -(defgeneric method-fast-function (standard-method)) +(defgeneric method-combination-type-name (standard-method-combination)) (defgeneric method-generic-function (standard-method)) @@ -171,16 +165,16 @@ (defgeneric (setf class-slots) (new-value slot-class)) (defgeneric (setf generic-function-method-class) (new-value - standard-generic-function)) + standard-generic-function)) (defgeneric (setf generic-function-method-combination) (new-value standard-generic-function)) (defgeneric (setf generic-function-declarations) (new-value - standard-generic-function)) + standard-generic-function)) (defgeneric (setf generic-function-methods) (new-value - standard-generic-function)) + standard-generic-function)) (defgeneric (setf generic-function-name) (new-value standard-generic-function)) @@ -194,7 +188,7 @@ (defgeneric (setf object-plist) (new-value plist-mixin)) (defgeneric (setf slot-definition-allocation) (new-value - standard-slot-definition)) + standard-slot-definition)) (defgeneric (setf slot-definition-boundp-function) (new-value effective-slot-definition)) @@ -222,7 +216,7 @@ (defgeneric (setf slot-definition-name) (new-value slot-definition)) (defgeneric (setf slot-definition-reader-function) (new-value - effective-slot-definition)) + effective-slot-definition)) (defgeneric (setf slot-definition-readers) (new-value slot-definition)) @@ -235,8 +229,6 @@ ;;;; 1 argument -(defgeneric accessor-method-class (method)) - (defgeneric accessor-method-slot-name (m)) (defgeneric class-default-initargs (class)) @@ -283,8 +275,6 @@ (defgeneric method-lambda-list (m)) -(defgeneric method-pretty-arglist (method)) - (defgeneric method-qualifiers (m)) (defgeneric method-specializers (m)) @@ -317,6 +307,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)) @@ -334,20 +326,6 @@ (defgeneric effective-slot-definition-class (class &rest initargs)) -(defgeneric legal-documentation-p (object x)) - -(defgeneric legal-method-function-p (object x)) - -(defgeneric legal-qualifier-p (object x)) - -(defgeneric legal-qualifiers-p (object x)) - -(defgeneric legal-slot-name-p (object x)) - -(defgeneric legal-specializer-p (object x)) - -(defgeneric legal-specializers-p (object x)) - (defgeneric make-boundp-method-function (class slot-name)) (defgeneric make-reader-method-function (class slot-name)) @@ -356,6 +334,8 @@ (defgeneric map-dependents (metaobject function)) +(defgeneric parse-specializer-using-class (generic-function specializer-name)) + (defgeneric remove-boundp-method (class generic-function)) (defgeneric remove-dependent (metaobject dependent)) @@ -379,9 +359,11 @@ ;;; This controls DESCRIBE-OBJECT (SLOT-OBJECT STREAM) behavior. (defgeneric slots-to-inspect (class object)) +(defgeneric unparse-specializer-using-class (generic-function specializer)) + (defgeneric update-gf-dfun (class gf)) -(defgeneric validate-superclass (fsc class)) +(defgeneric validate-superclass (class superclass)) (defgeneric (setf documentation) (new-value slotd doc-type) (:argument-precedence-order doc-type slotd new-value)) @@ -391,12 +373,6 @@ ;;;; 3 arguments -(defgeneric add-boundp-method (class generic-function slot-name)) - -(defgeneric add-reader-method (class generic-function slot-name)) - -(defgeneric add-writer-method (class generic-function slot-name)) - (defgeneric (setf class-slot-value) (nv class slot-name)) ;;; CMUCL comment (from Gerd Moellmann/Pierre Mai, 2002-10-19): @@ -408,8 +384,8 @@ ;;; COMPUTE-EFFECTIVE-METHOD returns one value as do Allegro and ;;; Lispworks. (defgeneric compute-effective-method (generic-function - combin - applicable-methods)) + combin + applicable-methods)) (defgeneric compute-effective-slot-definition (class name dslotds)) @@ -419,6 +395,8 @@ (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)) @@ -433,51 +411,60 @@ ;;;; 4 arguments -(defgeneric make-method-lambda (proto-generic-function - proto-method - lambda-expression - environment)) +(defgeneric make-method-lambda + (proto-generic-function proto-method lambda-expression environment)) + +(defgeneric make-method-specializers-form + (proto-generic-function proto-method specializer-names environment)) (defgeneric (setf slot-value-using-class) (new-value class object slotd)) ;;;; 5 arguments -(defgeneric make-method-initargs-form (proto-generic-function - proto-method - lambda-expression - lambda-list - environment)) +;;; FIXME: This is currently unused -- where should we call it? Or should we just +;;; delete it. +(defgeneric add-boundp-method (class generic-function slot-name slot-documentation source-location)) + +(defgeneric add-reader-method (class generic-function slot-name slot-documentation source-location)) + +(defgeneric add-writer-method (class generic-function slot-name slot-documentation source-location)) + +(defgeneric make-method-initargs-form + (proto-generic-function proto-method lambda-expression lambda-list + environment)) ;;;; optional arguments (defgeneric get-method (generic-function - qualifiers - specializers - &optional errorp)) + qualifiers + specializers + &optional errorp)) (defgeneric find-method (generic-function - qualifiers - specializers - &optional errorp)) + qualifiers + specializers + &optional errorp)) (defgeneric slot-missing (class - instance - slot-name - operation - &optional new-value)) + instance + slot-name + operation + &optional new-value)) ;;;; &KEY arguments +;;; FIXME: make the declared &KEY arguments here agree with those that +;;; AMOP specifies. (defgeneric allocate-instance (class &rest initargs)) (defgeneric ensure-class-using-class (class - name - &rest args - &key &allow-other-keys)) + name + &rest args + &key &allow-other-keys)) (defgeneric ensure-generic-function-using-class (generic-function - fun-name - &key &allow-other-keys)) + fun-name + &key &allow-other-keys)) (defgeneric initialize-instance (gf &key &allow-other-keys)) @@ -496,19 +483,19 @@ (defgeneric reinitialize-instance (gf &rest args &key &allow-other-keys)) (defgeneric shared-initialize (generic-function - slot-names - &key &allow-other-keys)) + slot-names + &key &allow-other-keys)) (defgeneric update-dependent (metaobject dependent &rest initargs)) (defgeneric update-instance-for-different-class (previous - current - &rest initargs)) + current + &rest initargs)) (defgeneric update-instance-for-redefined-class (instance - added-slots - discarded-slots - property-list - &rest initargs)) + added-slots + discarded-slots + property-list + &rest initargs)) (defgeneric writer-method-class (class direct-slot &rest initargs))