-
- Downloads
More SLOT-VALUE etc. on conditions.
* src/pcl/slots.lisp (slot-value-using-class) (setf slot-boundp-using-class) <condition-class>: New methods. * src/pcl/std-class.lisp (initialize-internal-slot-functions): Use slot-name->class-table. (shared-initialize): Call update-pv-table-cache-info. (compute-slots) <around condition-class>: New method. * src/pcl/slots-boot.lisp (ensure-accessor): Use slot-name->class-table. (get-optimized-std-accessor-method-function) (get-optimized-std-slot-value-using-class-method-function): Handle condition classes. * src/pcl/methods.lisp (*condition-slot-value-using-class-method*) (*condition-setf-slot-value-using-class-method*) (*condition-slot-boundp-using-class-method*): New vars. (condition-svuc-method, set-condition-svuc-method): New functions. (update-std-or-str-methods): Handle conditions. * src/pcl/generic-functions.lisp (condition-class-p): New gf. * src/pcl/dfun.lisp (make-accessor-table): Use slot-name->class-table. * src/pcl/defs.lisp (*the-condition-class*): New var. (slot-name->class-table): New function. (condition): New class. (*early-class-predicates*): Add condition-class-p. * src/pcl/braid.lisp (bootstrap-meta-braid) (bootstrap-initialize-class): Add condition-class stuff. (bootstrap-make-slot-definitions): Simplified. (bootstrap-make-slot-definition): Use slot-name->class-table.
Showing
- pcl/braid.lisp 33 additions, 25 deletionspcl/braid.lisp
- pcl/defs.lisp 10 additions, 0 deletionspcl/defs.lisp
- pcl/dfun.lisp 2 additions, 2 deletionspcl/dfun.lisp
- pcl/generic-functions.lisp 2 additions, 4 deletionspcl/generic-functions.lisp
- pcl/methods.lisp 23 additions, 1 deletionpcl/methods.lisp
- pcl/slots-boot.lisp 69 additions, 43 deletionspcl/slots-boot.lisp
- pcl/slots.lisp 26 additions, 3 deletionspcl/slots.lisp
- pcl/std-class.lisp 12 additions, 6 deletionspcl/std-class.lisp
Loading
Please register or sign in to comment