;;;; classes
(sb!xc:deftype name-for-class () t)
-(defknown classoid-name (classoid) name-for-class (flushable))
+(defknown classoid-name (classoid) symbol (flushable))
(defknown find-classoid (name-for-class &optional t)
(or classoid null) ())
(defknown classoid-of (t) classoid (flushable))
(defknown deposit-field (integer byte-specifier integer) integer
(movable foldable flushable))
(defknown random ((or (float (0.0)) (integer 1)) &optional random-state)
- (or (float 0.0) (integer 0)) ())
+ (or (float 0.0) (integer 0))
+ (explicit-check))
(defknown make-random-state (&optional
(or (member nil t) random-state unsigned-byte
(simple-array (unsigned-byte 8) (*))
(defknown array-has-fill-pointer-p (array) boolean
(movable foldable flushable))
-(defknown fill-pointer (vector) index (foldable unsafely-flushable))
-(defknown vector-push (t vector) (or index null) ()
+(defknown fill-pointer (complex-vector) index
+ (unsafely-flushable explicit-check))
+(defknown vector-push (t complex-vector) (or index null)
+ (explicit-check)
:destroyed-constant-args (nth-constant-args 2))
-(defknown vector-push-extend (t vector &optional (and index (integer 1)))
- index ()
+(defknown vector-push-extend (t complex-vector &optional (and index (integer 1))) index
+ (explicit-check)
:destroyed-constant-args (nth-constant-args 2))
-(defknown vector-pop (vector) t ()
+(defknown vector-pop (complex-vector) t
+ (explicit-check)
:destroyed-constant-args (nth-constant-args 1))
;;; FIXME: complicated :DESTROYED-CONSTANT-ARGS
(flushable unsafe))
(defknown make-string-output-stream
(&key (:element-type type-specifier))
- stream
+ string-output-stream
(flushable))
(defknown get-output-stream-string (stream) simple-string ())
(defknown streamp (t) boolean (movable foldable flushable))
\f
;;;; from the "Conditions" chapter:
-(defknown cell-error-name (cell-error) t)
(defknown error (t &rest t) nil)
(defknown cerror (format-control t &rest t) null)
(defknown invalid-method-error (t format-control &rest t) *) ; FIXME: first arg is METHOD
(defknown method-combination-error (format-control &rest t) *)
(defknown signal (t &rest t) null)
-(defknown simple-condition-format-control (condition)
- format-control)
-(defknown simple-condition-format-arguments (condition)
- list)
(defknown warn (t &rest t) null)
(defknown invoke-debugger (condition) nil)
(defknown break (&optional format-control &rest t) null)
(defknown %typep (t (or type-specifier ctype)) boolean
(movable flushable explicit-check))
(defknown %instance-typep (t (or type-specifier ctype)) boolean
- (movable flushable explicit-check))
+ (movable flushable explicit-check always-translatable))
(defknown %cleanup-point () t)
(defknown %special-bind (t t) t)
;; FIXME: This function does not return, but due to the implementation
;; of FILTER-LVAR we cannot write it here.
-(defknown %compile-time-type-error (t t t) *)
+(defknown %compile-time-type-error (t t t t) *)
(defknown sb!kernel::case-failure (t t t) nil)
(defknown %odd-key-args-error () nil)
(defknown %check-bound (array index fixnum) index (movable foldable flushable))
(defknown data-vector-ref (simple-array index) t
(foldable explicit-check always-translatable))
-(defknown data-vector-ref-with-offset (simple-array fixnum fixnum) t
+(defknown data-vector-ref-with-offset (simple-array index fixnum) t
(foldable explicit-check always-translatable))
(defknown data-vector-set (array index t) t
(unsafe explicit-check always-translatable))
(defknown %set-symbol-plist (symbol list) list (unsafe))
(defknown %setnth (unsigned-byte list t) t (unsafe)
:destroyed-constant-args (nth-constant-args 2))
-(defknown %set-fill-pointer (vector index) index (unsafe)
+(defknown %set-fill-pointer (complex-vector index) index
+ (unsafe explicit-check)
:destroyed-constant-args (nth-constant-args 1))
\f
;;;; ALIEN and call-out-to-C stuff