X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Ftypetran.lisp;h=3117ce28b2a7c64d6687f9749c1593fef85e5180;hb=422b88abf96f4842a3d0999cd3b80d96f5a153d6;hp=03b4c0b5f6e95b6dcc63880c2ebd016979e7d712;hpb=e33fb894f991b2926d8f3bace9058e4c0b2c3a37;p=sbcl.git diff --git a/src/compiler/typetran.lisp b/src/compiler/typetran.lisp index 03b4c0b..3117ce2 100644 --- a/src/compiler/typetran.lisp +++ b/src/compiler/typetran.lisp @@ -97,8 +97,7 @@ ;;; If FIND-CLASS is called on a constant class, locate the CLASS-CELL ;;; at load time. -(deftransform find-class ((name) ((constant-argument symbol)) * - :when :both) +(deftransform find-class ((name) ((constant-arg symbol)) *) (let* ((name (continuation-value name)) (cell (find-class-cell name))) `(or (class-cell-class ',cell) @@ -271,8 +270,8 @@ (satisfies `(if (funcall #',(second spec) ,object) t nil)) ((not and) (once-only ((n-obj object)) - `(,(first spec) ,@(mapcar #'(lambda (x) - `(typep ,n-obj ',x)) + `(,(first spec) ,@(mapcar (lambda (x) + `(typep ,n-obj ',x)) (rest spec)))))))))) ;;; Do source transformation for TYPEP of a known union type. If a @@ -385,7 +384,7 @@ ;;; then we also check whether the layout for the object is invalid ;;; and signal an error if so. Otherwise, look up the indirect ;;; class-cell and call CLASS-CELL-TYPEP at runtime. -(deftransform %instance-typep ((object spec) (* *) * :node node :when :both) +(deftransform %instance-typep ((object spec) (* *) * :node node) (aver (constant-continuation-p spec)) (let* ((spec (continuation-value spec)) (class (specifier-type spec)) @@ -507,8 +506,8 @@ (member-type `(member ,object ',(member-type-members type))) (args-type - (compiler-warning "illegal type specifier for TYPEP: ~S" - (cadr spec)) + (compiler-warn "illegal type specifier for TYPEP: ~S" + (cadr spec)) `(%typep ,object ,spec)) (t nil)) (typecase type @@ -526,7 +525,7 @@ ;;;; coercion -(deftransform coerce ((x type) (* *) * :when :both) +(deftransform coerce ((x type) (* *) *) (unless (constant-continuation-p type) (give-up-ir1-transform)) (let ((tspec (specifier-type (continuation-value type))))