Changeset 13958


Ignore:
Timestamp:
06/11/12 11:47:06 (9 years ago)
Author:
rschlatte
Message:

Implement compute-default-initargs

Location:
trunk/abcl/src/org/armedbear/lisp
Files:
2 edited

Legend:

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

    r13957 r13958  
    503503;;; finalize-inheritance
    504504
    505 (defun std-compute-class-default-initargs (class)
     505(declaim (notinline compute-default-initargs))
     506(defun compute-default-initargs (class)
     507  (std-compute-default-initargs class))
     508
     509(defun std-compute-default-initargs (class)
    506510  (delete-duplicates
    507511   (mapcan #'(lambda (c)
     
    556560          (make-layout class (nreverse instance-slots) (nreverse shared-slots))))
    557561  (setf (class-default-initargs class)
    558         (std-compute-class-default-initargs class))
     562        (compute-default-initargs class))
    559563  (setf (class-finalized-p class) t))
    560564
     
    36303634       (std-finalize-inheritance class)))
    36313635
     3636;;; Default initargs
     3637
     3638;;; AMOP pg. 174
     3639(atomic-defgeneric compute-default-initargs (class)
     3640  (:method ((class standard-class))
     3641    (std-compute-default-initargs class))
     3642  (:method ((class funcallable-standard-class))
     3643    (std-compute-default-initargs class)))
     3644
    36323645;;; Class precedence lists
    36333646
  • trunk/abcl/src/org/armedbear/lisp/mop.lisp

    r13955 r13958  
    5656          compute-effective-slot-definition
    5757          compute-class-precedence-list
     58          compute-default-initargs
    5859          compute-effective-slot-definition
    5960          compute-slots
Note: See TracChangeset for help on using the changeset viewer.