(class-layout (class-layout class))
(subclasses (class-subclasses class)))
- ;; Attempting to register ourselves with a temporary cookie is
- ;; almost certainly a programmer error. (I should know, I did it.)
- ;; -- WHN 19990927
+ ;; Attempting to register ourselves with a temporary undefined
+ ;; class placeholder is almost certainly a programmer error. (I
+ ;; should know, I did it.) -- WHN 19990927
(assert (not (undefined-class-p class)))
;; This assertion dates from classic CMU CL. The rationale is
;;; always of the desired class. The second result is any existing
;;; LAYOUT for this name.
(defun insured-find-class (name predicate constructor)
- (declare (function predicate constructor))
+ (declare (type function predicate constructor))
(let* ((old (sb!xc:find-class name nil))
(res (if (and old (funcall predicate old))
old
\f
;;;; CLASS type operations
-(define-type-class sb!xc:class)
+(!define-type-class sb!xc:class)
;;; Simple methods for TYPE= and SUBTYPEP should never be called when
;;; the two classes are equal, since there are EQ checks in those
;;; operations.
-(define-type-method (sb!xc:class :simple-=) (type1 type2)
+(!define-type-method (sb!xc:class :simple-=) (type1 type2)
(assert (not (eq type1 type2)))
(values nil t))
-(define-type-method (sb!xc:class :simple-subtypep) (class1 class2)
+(!define-type-method (sb!xc:class :simple-subtypep) (class1 class2)
(assert (not (eq class1 class2)))
(let ((subclasses (class-subclasses class2)))
(if (and subclasses (gethash class1 subclasses))
;;; they are structure classes, since a subclass of both might be
;;; defined. If either class is sealed, we can eliminate this
;;; possibility.
-(define-type-method (sb!xc:class :simple-intersection) (class1 class2)
+(!define-type-method (sb!xc:class :simple-intersection) (class1 class2)
(declare (type sb!xc:class class1 class2))
(cond ((eq class1 class2) class1)
((let ((subclasses (class-subclasses class2)))
(t
(values class1 nil))))
-(define-type-method (sb!xc:class :unparse) (type)
+(!define-type-method (sb!xc:class :unparse) (type)
(class-proper-name type))
\f
;;;; PCL stuff
:inherits (sequence mutable-sequence mutable-collection
generic-sequence collection))
(cons
- ;; MNA: cons compound-type patch
- ;; FIXIT :all commented out
- ; :translation cons
:codes (#.sb!vm:list-pointer-type)
+ :translation cons
:inherits (list sequence
mutable-sequence mutable-collection
generic-sequence collection))