Skip to content
Snippets Groups Projects
Commit b4a15e0c authored by wlott's avatar wlott
Browse files

Fixed string and simple-string to include generic-string and vector in

their inherits lists.  Fixed built-in class creation stuff to use -1 for
the inheritance depth if any of the supertypes have -1 for the inheritance
depth.
parent 707c3843
No related branches found
No related tags found
No related merge requests found
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
;;; ;;;
(ext:file-comment (ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/class.lisp,v 1.22 1993/04/04 14:11:04 wlott Exp $") "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/class.lisp,v 1.23 1993/05/13 16:49:48 wlott Exp $")
;;; ;;;
;;; ********************************************************************** ;;; **********************************************************************
;;; ;;;
...@@ -534,16 +534,16 @@ ...@@ -534,16 +534,16 @@
collection)) collection))
(string (string
:translation string :codes (#.vm:complex-string-type) :translation string :codes (#.vm:complex-string-type)
:inherits (generic-vector array generic-array :inherits (vector generic-vector array generic-array
mutable-explicit-key-collection explicit-key-collection mutable-explicit-key-collection explicit-key-collection
sequence mutable-sequence mutable-collection sequence generic-string mutable-sequence
generic-sequence collection)) mutable-collection generic-sequence collection))
(simple-string (simple-string
:translation simple-string :codes (#.vm:simple-string-type) :translation simple-string :codes (#.vm:simple-string-type)
:inherits (string generic-vector array generic-array :inherits (string vector generic-vector array generic-array
mutable-explicit-key-collection explicit-key-collection mutable-explicit-key-collection explicit-key-collection
sequence mutable-sequence mutable-collection sequence generic-string mutable-sequence
generic-sequence collection)) mutable-collection generic-sequence collection))
(generic-number :state :read-only) (generic-number :state :read-only)
(number :translation number) (number :translation number)
...@@ -609,14 +609,17 @@ ...@@ -609,14 +609,17 @@
(setf (info type class name) class) (setf (info type class name) class)
(unless trans-p (unless trans-p
(setf (info type builtin name) class)) (setf (info type builtin name) class))
(register-layout (let* ((inheritance-depth (if hierarchical (length inherits) -1))
(find-layout name 0 (inherit-layouts
(map 'vector (map 'vector
#'(lambda (x) #'(lambda (x)
(class-layout (find-class x))) (let ((super-layout (class-layout (find-class x))))
inherits) (when (= (layout-inheritance-depth super-layout) -1)
(if hierarchical (length inherits) -1)) (setf inheritance-depth -1))))
:invalidate nil))))) inherits)))
(register-layout
(find-layout name 0 inherit-layouts inheritance-depth)
:invalidate nil))))))
;;; Now that we have set up the class heterarchy, seal the sealed classes. ;;; Now that we have set up the class heterarchy, seal the sealed classes.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment