Changeset 12586
- Timestamp:
- 04/09/10 21:27:14 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/clos.lisp
r12583 r12586 53 53 54 54 (export '(class-precedence-list class-slots)) 55 (defconstant +the-standard-class+ (find-class 'standard-class)) 55 56 56 57 ;; Don't use DEFVAR, because that disallows loading clos.lisp … … 297 298 (defun std-finalize-inheritance (class) 298 299 (setf (class-precedence-list class) 299 (funcall (if (eq (class-of class) (find-class 'standard-class))300 (funcall (if (eq (class-of class) +the-standard-class+) 300 301 #'std-compute-class-precedence-list 301 302 #'compute-class-precedence-list) … … 305 306 (return-from std-finalize-inheritance))) 306 307 (setf (class-slots class) 307 (funcall (if (eq (class-of class) (find-class 'standard-class))308 (funcall (if (eq (class-of class) +the-standard-class+) 308 309 #'std-compute-slots 309 310 #'compute-slots) class)) … … 438 439 (mapcar #'(lambda (name) 439 440 (funcall 440 (if (eq (class-of class) (find-class 'standard-class))441 (if (eq (class-of class) +the-standard-class+) 441 442 #'std-compute-effective-slot-definition 442 443 #'compute-effective-slot-definition) … … 487 488 488 489 (defun slot-value (object slot-name) 489 (if (eq (class-of (class-of object)) (find-class 'standard-class))490 (if (eq (class-of (class-of object)) +the-standard-class+) 490 491 (std-slot-value object slot-name) 491 492 (slot-value-using-class (class-of object) object slot-name))) … … 494 495 495 496 (defun %set-slot-value (object slot-name new-value) 496 (if (eq (class-of (class-of object)) (find-class 'standard-class))497 (if (eq (class-of (class-of object)) +the-standard-class+) 497 498 (setf (std-slot-value object slot-name) new-value) 498 499 (set-slot-value-using-class new-value (class-of object) … … 502 503 503 504 (defun slot-boundp (object slot-name) 504 (if (eq (class-of (class-of object)) (find-class 'standard-class))505 (if (eq (class-of (class-of object)) +the-standard-class+) 505 506 (std-slot-boundp object slot-name) 506 507 (slot-boundp-using-class (class-of object) object slot-name))) … … 517 518 518 519 (defun slot-makunbound (object slot-name) 519 (if (eq (class-of (class-of object)) (find-class 'standard-class))520 (if (eq (class-of (class-of object)) +the-standard-class+) 520 521 (std-slot-makunbound object slot-name) 521 522 (slot-makunbound-using-class (class-of object) object slot-name))) … … 526 527 527 528 (defun slot-exists-p (object slot-name) 528 (if (eq (class-of (class-of object)) (find-class 'standard-class))529 (if (eq (class-of (class-of object)) +the-standard-class+) 529 530 (std-slot-exists-p object slot-name) 530 531 (slot-exists-p-using-class (class-of object) object slot-name))) … … 539 540 &allow-other-keys) 540 541 (declare (ignore metaclass)) 541 (let ((class (std-allocate-instance (find-class 'standard-class))))542 (let ((class (std-allocate-instance +the-standard-class+))) 542 543 (%set-class-name name class) 543 544 (%set-class-layout nil class) … … 570 571 (add-writer-method class writer (%slot-definition-name direct-slot))))) 571 572 (setf (class-direct-default-initargs class) direct-default-initargs) 572 (funcall (if (eq (class-of class) (find-class 'standard-class))573 (funcall (if (eq (class-of class) +the-standard-class+) 573 574 #'std-finalize-inheritance 574 575 #'finalize-inheritance) … … 614 615 ((typep old-class 'forward-referenced-class) 615 616 (let ((new-class (apply #'make-instance-standard-class 616 (find-class 'standard-class)617 +the-standard-class+ 617 618 :name name all-keys))) 618 619 (%set-find-class name new-class) … … 632 633 #'make-instance-standard-class) 633 634 (or metaclass 634 (find-class 'standard-class))635 +the-standard-class+) 635 636 :name name all-keys))) 636 637 (%set-find-class name class) … … 1779 1780 (defun add-reader-method (class function-name slot-name) 1780 1781 (let* ((lambda-expression 1781 (if (eq (class-of class) (find-class 'standard-class))1782 (if (eq (class-of class) +the-standard-class+) 1782 1783 `(lambda (object) (std-slot-value object ',slot-name)) 1783 1784 `(lambda (object) (slot-value object ',slot-name)))) … … 1806 1807 (defun add-writer-method (class function-name slot-name) 1807 1808 (let* ((lambda-expression 1808 (if (eq (class-of class) (find-class 'standard-class))1809 (if (eq (class-of class) +the-standard-class+) 1809 1810 `(lambda (new-value object) 1810 1811 (setf (std-slot-value object ',slot-name) new-value))
Note: See TracChangeset
for help on using the changeset viewer.