Fix make-array transforms.
[sbcl.git] / src / code / class-init.lisp
1 ;;;; When this file's top level forms are run, it precomputes the
2 ;;;; translations for built in classes. This stuff is split off from
3 ;;;; the other type stuff to get around problems with everything
4 ;;;; needing to be loaded before everything else. This file is the
5 ;;;; first to exercise the type machinery.
6
7 ;;;; This software is part of the SBCL system. See the README file for
8 ;;;; more information.
9 ;;;;
10 ;;;; This software is derived from the CMU CL system, which was
11 ;;;; written at Carnegie Mellon University and released into the
12 ;;;; public domain. The software is in the public domain and is
13 ;;;; provided with absolutely no warranty. See the COPYING and CREDITS
14 ;;;; files for more information.
15
16 (in-package "SB!KERNEL")
17
18 ;;; built-in classes
19 (/show0 "beginning class-init.lisp")
20 (dolist (x *built-in-classes*)
21   (destructuring-bind (name &key (translation nil trans-p) &allow-other-keys)
22       x
23     (/show0 "doing class with NAME=..")
24     (/primitive-print (symbol-name name))
25     (when trans-p
26       (/show0 "in TRANS-P case")
27       (let ((classoid (classoid-cell-classoid (find-classoid-cell name :create t)))
28             (type (specifier-type translation)))
29         (setf (built-in-classoid-translation classoid) type)
30         (setf (info :type :builtin name) type)))))
31
32 (/show0 "done with class-init.lisp")