Changeset 10338


Ignore:
Timestamp:
11/04/05 00:27:18 (16 years ago)
Author:
piso
Message:

SYS:CLASS-PRECEDENCE-LIST => SYS:%CLASS-PRECEDENCE-LIST
SYS:%SET-CLASS-PRECEDENCE-LIST => SYS:SET-CLASS-PRECEDENCE-LIST
MOP:CLASS-PRECEDENCE-LIST

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/j/src/org/armedbear/lisp/clos.lisp

    r10335 r10338  
    22;;;
    33;;; Copyright (C) 2003-2005 Peter Graves
    4 ;;; $Id: clos.lisp,v 1.191 2005-11-03 23:51:22 piso Exp $
     4;;; $Id: clos.lisp,v 1.192 2005-11-04 00:27:18 piso Exp $
    55;;;
    66;;; This program is free software; you can redistribute it and/or
     
    4040(in-package #:mop)
    4141
     42(export '(class-precedence-list))
     43
    4244(defmacro push-on-end (value location)
    4345  `(setf ,location (nconc ,location (list ,value))))
     
    7779(defsetf class-direct-default-initargs %set-class-direct-default-initargs)
    7880(defsetf class-default-initargs %set-class-default-initargs)
    79 (defsetf class-precedence-list %set-class-precedence-list)
    8081(defsetf class-finalized-p %set-class-finalized-p)
    8182(defsetf std-instance-layout %set-std-instance-layout)
     
    239240
    240241(defun std-finalize-inheritance (class)
    241   (setf (class-precedence-list class)
    242         (funcall (if (eq (class-of class) the-class-standard-class)
    243                      #'std-compute-class-precedence-list
    244                      #'compute-class-precedence-list)
    245                  class))
    246   (dolist (class (class-precedence-list class))
     242  (set-class-precedence-list
     243   class
     244   (funcall (if (eq (class-of class) the-class-standard-class)
     245                #'std-compute-class-precedence-list
     246                #'compute-class-precedence-list)
     247            class))
     248  (dolist (class (%class-precedence-list class))
    247249    (when (typep class 'forward-referenced-class)
    248250      (return-from std-finalize-inheritance)))
     
    376378(defun std-compute-slots (class)
    377379  (let* ((all-slots (mapappend #'class-direct-slots
    378                                (class-precedence-list class)))
     380                               (%class-precedence-list class)))
    379381         (all-names (remove-duplicates
    380382                     (mapcar #'%slot-definition-name all-slots))))
     
    11681170
    11691171(defun subclassp (c1 c2)
    1170   (dolist (class (class-precedence-list c1) nil)
     1172  (dolist (class (%class-precedence-list c1) nil)
    11711173    (when (eq class c2)
    11721174      (return t))))
     
    13781380
    13791381(defun sub-specializer-p (c1 c2 c-arg)
    1380   (find c2 (cdr (memq c1 (class-precedence-list c-arg)))))
     1382  (find c2 (cdr (memq c1 (%class-precedence-list c-arg)))))
    13811383
    13821384(defun std-method-more-specific-p (method1 method2 required-classes argument-precedence-order)
     
    17461748  (%set-class-name class new-value))
    17471749
     1750(defgeneric class-precedence-list (class))
     1751
     1752(defmethod class-precedence-list ((class class))
     1753  (%class-precedence-list class))
     1754
    17481755(defgeneric documentation (x doc-type))
    17491756
Note: See TracChangeset for help on using the changeset viewer.