#+sb-xc cl:class
(:make-load-form-fun class-make-load-form-fun)
(:include ctype
- (:class-info (type-class-or-lose #-sb-xc 'sb!xc:class
+ (class-info (type-class-or-lose #-sb-xc 'sb!xc:class
#+sb-xc 'cl:class)))
(:constructor nil)
#-no-ansi-print-object
;; that CL:CLASS-NAME is a generic function.)
(%name nil :type symbol)
;; the current layout for this class, or NIL if none assigned yet
- (layout nil :type (or sb!kernel::layout null))
+ (layout nil :type (or layout null))
;; How sure are we that this class won't be redefined?
;; :READ-ONLY = We are committed to not changing the effective
;; slots or superclasses.
;; renamed because some of us find it confusing to call something
;; a depth when it isn't quite.
(depthoid -1 :type layout-depthoid)
- ;; The number of top-level descriptor cells in each instance.
+ ;; the number of top level descriptor cells in each instance
(length 0 :type index)
;; If this layout has some kind of compiler meta-info, then this is
;; it. If a structure, then we store the DEFSTRUCT-DESCRIPTION here.
(let ((old-length (layout-length old-layout)))
(unless (= old-length length)
(warn "change in instance length of class ~S:~% ~
- ~A length: ~D~% ~
- ~A length: ~D"
+ ~A length: ~W~% ~
+ ~A length: ~W"
name
old-context old-length
context length)
(declaim (ftype (function (symbol index simple-vector layout-depthoid) layout)
find-and-init-or-check-layout))
(defun find-and-init-or-check-layout (name length inherits depthoid)
- (/show0 "entering FIND-AND-INIT-OR-CHECK-LAYOUT")
(let ((layout (find-layout name)))
(init-or-check-layout layout
(or (sb!xc:find-class name nil)
#-sb-xc (declare (type sb!xc:class new-value))
(ecase (info :type :kind name)
((nil))
+ (:forthcoming-defclass-type
+ ;; XXX Currently, nothing needs to be done in this case. Later, when
+ ;; PCL is integrated tighter into SBCL, this might need more work.
+ nil)
(:instance
(let ((old (class-of (sb!xc:find-class name)))
(new (class-of new-value)))
generic-sequence collection))
(null
:translation (member nil)
- :inherits (list sequence
+ :inherits (symbol list sequence
mutable-sequence mutable-collection
- generic-sequence collection symbol)
- :direct-superclasses (list symbol))
+ generic-sequence collection)
+ :direct-superclasses (symbol list))
(generic-number :state :read-only)
(number :translation number :inherits (generic-number))
(complex