Changeset 9511


Ignore:
Timestamp:
May 16, 2008, 1:18:41 AM (11 years ago)
Author:
gb
Message:

Try to ensure that more "standard" slots are now present in
CLASS and BUILT-IN-CLASS, so we can use simpler accessors in some cases.

Maintain class-proper-name in (SETF (CLASS-NAME)).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/working-0711-perf/ccl/level-1/l1-clos.lisp

    r9450 r9511  
    150150           documentation class nil (ensure-slot-id name) #'true)))
    151151
    152 (defmethod class-slots ((class class)))
    153 (defmethod class-direct-slots ((class class)))
    154 (defmethod class-default-initargs ((class class)))
    155 (defmethod class-direct-default-initargs ((class class)))
    156152
    157153(defmethod compile-time-class-p ((class class)) nil)
     
    10081004   (:name direct-subclasses  :initform nil  :initfunction ,#'false :readers (class-direct-subclasses))
    10091005   (:name dependents :initform nil :initfunction ,#'false)
    1010    (:name class-ctype :initform nil :initfunction ,#'false))
     1006   (:name class-ctype :initform nil :initfunction ,#'false)
     1007   (:name direct-slots :initform nil :initfunction ,#'false
     1008                  :readers (class-direct-slots)
     1009                  :writers ((setf class-direct-slots)))
     1010   (:name slots :initform nil :initfunction ,#'false
     1011    :readers (class-slots)
     1012    :writers ((setf class-slots)))
     1013   (:name info :initform (cons nil nil) :initfunction ,(lambda () (cons nil nil)) :readers (class-info))
     1014   (:name direct-default-initargs  :initform nil  :initfunction ,#'false :readers (class-direct-default-initargs))
     1015   (:name default-initargs :initform nil  :initfunction ,#'false :readers (class-default-initargs)))
    10111016 :primary-p t)
    10121017
     
    10251030 'slots-class
    10261031 :direct-superclasses '(class)
    1027  :direct-slots `((:name direct-slots :initform nil :initfunction ,#'false
    1028                    :readers (class-direct-slots)
    1029                   :writers ((setf class-direct-slots)))
    1030                  (:name slots :initform nil :initfunction ,#'false
    1031                    :readers (class-slots))
    1032                  (:name kernel-p :initform nil :initfunction ,#'false)
    1033                  (:name direct-default-initargs  :initform nil  :initfunction ,#'false :readers (class-direct-default-initargs))
    1034                  (:name default-initargs :initform nil  :initfunction ,#'false :readers (class-default-initargs))
    1035                  (:name alist :initform nil  :initfunction ,#'false))
     1032 :direct-slots `((:name alist :initform nil  :initfunction ,#'false))
    10361033 :primary-p t)
    10371034
     
    16771674(defmethod make-load-form ((c class-cell) &optional env)
    16781675  (declare (ignore env))
    1679   `(find-class-cell ,(class-cell-name c)))
     1676  `(find-class-cell ',(class-cell-name c) t))
    16801677
    16811678
     
    16841681  (check-type new symbol)
    16851682  (when (and (standard-instance-p class)
    1686              (%class.kernel-p class)
     1683             (%class-kernel-p class)
    16871684             (not (eq new (%class.name class)))
    16881685             *warn-if-redefine-kernel*)
     
    17041701    (clear-type-cache))
    17051702  (reinitialize-instance class :name new)
     1703  (setf (%class-proper-name class)
     1704        (if (eq (find-class new nil) class)
     1705          new))
    17061706  new)
    17071707
Note: See TracChangeset for help on using the changeset viewer.