(let ((layout (find-layout name)))
(init-or-check-layout layout
(or (find-classoid name nil)
- (make-undefined-classoid name))
+ (layout-classoid layout))
length
inherits
depthoid)))
(setq
*built-in-classes*
'((t :state :read-only :translation t)
- (character :enumerable t :translation base-char
- :prototype-form (code-char 42))
- (base-char :enumerable t
- :inherits (character)
- :codes (#.sb!vm:base-char-widetag)
+ (character :enumerable t
+ :codes (#.sb!vm:character-widetag)
+ :translation (character-set)
:prototype-form (code-char 42))
(symbol :codes (#.sb!vm:symbol-header-widetag)
:prototype-form '#:mu)
:inherits (base-string simple-string string vector simple-array
array sequence)
:prototype-form (make-array 0 :element-type 'base-char))
+ #!+sb-unicode
+ (character-string
+ :translation (vector character)
+ :codes (#.sb!vm:complex-character-string-widetag)
+ :direct-superclasses (string)
+ :inherits (string vector array sequence)
+ :prototype-form (make-array 0 :element-type 'character :fill-pointer t))
+ #!+sb-unicode
+ (simple-character-string
+ :translation (simple-array character (*))
+ :codes (#.sb!vm:simple-character-string-widetag)
+ :direct-superclasses (character-string simple-string)
+ :inherits (character-string simple-string string vector simple-array
+ array sequence)
+ :prototype-form (make-array 0 :element-type 'character))
(list
:translation (or cons (member nil))
:inherits (sequence))
:inherits (symbol list sequence)
:direct-superclasses (symbol list)
:prototype-form 'nil)
-
(stream
:state :read-only
:depth 3
- :inherits (instance)
- :prototype-form (make-broadcast-stream)))))
+ :inherits (instance))
+ (file-stream
+ :state :read-only
+ :depth 5
+ :inherits (stream))
+ (string-stream
+ :state :read-only
+ :depth 5
+ :inherits (stream)))))
;;; See also src/code/class-init.lisp where we finish setting up the
;;; translations for built-in types.