Utility predicates for packing: UNBOUNDED-SC-P and UNBOUNDED-TN-P
[sbcl.git] / src / pcl / generic-functions.lisp
index af9bc26..0b633a6 100644 (file)
 
 (defgeneric short-combination-operator (short-method-combination))
 
-(defgeneric slot-definition-boundp-function (effective-slot-definition))
-
 (defgeneric slot-definition-class (slot-definition))
 
 (defgeneric slot-definition-defstruct-accessor-symbol
 
 (defgeneric slot-definition-name (slot-definition))
 
-(defgeneric slot-definition-reader-function (effective-slot-definition))
+(defgeneric slot-definition-info (effective-slot-definition))
 
 (defgeneric slot-definition-readers (slot-definition))
 
 (defgeneric slot-definition-type (slot-definition))
 
-(defgeneric slot-definition-writer-function (effective-slot-definition))
-
 (defgeneric slot-definition-writers (slot-definition))
 
 (defgeneric specializer-object (class-eq-specializer))
 (defgeneric (setf slot-definition-allocation) (new-value
                                                standard-slot-definition))
 
-(defgeneric (setf slot-definition-boundp-function)
-  (new-value effective-slot-definition))
-
 (defgeneric (setf slot-definition-class) (new-value slot-definition))
 
 (defgeneric (setf slot-definition-defstruct-accessor-symbol)
 
 (defgeneric (setf slot-definition-name) (new-value slot-definition))
 
-(defgeneric (setf slot-definition-reader-function) (new-value
-                                                    effective-slot-definition))
+(defgeneric (setf slot-definition-info) (new-value effective-slot-definition))
 
 (defgeneric (setf slot-definition-readers) (new-value slot-definition))
 
 
 (defgeneric function-keywords (method))
 
+(defgeneric function-keyword-parameters (method))
+
 (defgeneric generic-function-argument-precedence-order (gf))
 
 (defgeneric generic-function-lambda-list (gf))
 
 (defgeneric method-lambda-list (m))
 
-(defgeneric method-pretty-arglist (method))
-
 (defgeneric method-qualifiers (m))
 
 (defgeneric method-specializers (m))
 
 (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))
 ;;; This controls DESCRIBE-OBJECT (SLOT-OBJECT STREAM) behavior.
 (defgeneric slots-to-inspect (class object))
 
-(defgeneric update-gf-dfun (class gf))
+(defgeneric unparse-specializer-using-class (generic-function specializer))
 
 (defgeneric validate-superclass (class superclass))
 
 \f
 ;;;; 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):
 
 (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))
 \f
 ;;;; 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))
 \f
 ;;;; 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))
 \f
 ;;;; optional arguments
 
 \f
 ;;;; &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
                                                  fun-name
                                                  &key &allow-other-keys))
 
-(defgeneric initialize-instance (gf &key &allow-other-keys))
+(defgeneric initialize-instance (instance &rest initargs &key &allow-other-keys))
 
 (defgeneric make-instance (class &rest initargs &key &allow-other-keys))
 
 
 (defgeneric reader-method-class (class direct-slot &rest initargs))
 
-(defgeneric reinitialize-instance (gf &rest args &key &allow-other-keys))
+(defgeneric reinitialize-instance (instance &rest initargs &key &allow-other-keys))
 
-(defgeneric shared-initialize (generic-function
-                               slot-names
+(defgeneric shared-initialize (instance slot-names &rest initargs
                                &key &allow-other-keys))
 
 (defgeneric update-dependent (metaobject dependent &rest initargs))