/[cmucl]/src/code/pred.lisp
ViewVC logotype

Diff of /src/code/pred.lisp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.27 by wlott, Wed Apr 15 17:05:50 1992 UTC revision 1.28 by wlott, Sat Dec 5 22:10:02 1992 UTC
# Line 92  Line 92 
92        simple-array-unsigned-byte-32-p        simple-array-unsigned-byte-32-p
93        simple-array-single-float-p        simple-array-single-float-p
94        simple-array-double-float-p        simple-array-double-float-p
95          dylan::dylan-function-p
96        )))        )))
97    
98  (macrolet  (macrolet
# Line 198  Line 199 
199    (declare (type (or list symbol) type))    (declare (type (or list symbol) type))
200    (%typep object type))    (%typep object type))
201    
202    (eval-when (compile eval)
203      (defmacro only-if-bound (name object)
204        `(and (fboundp ',name)
205              (let ((object ,object))
206                (declare (optimize (inhibit-warnings 3)))
207                (,name object)))))
208    
209  ;;; %TYPEP -- internal.  ;;; %TYPEP -- internal.
210  ;;;  ;;;
211  ;;; The actual typep engine.  The compiler only generates calls to this  ;;; The actual typep engine.  The compiler only generates calls to this
# Line 213  Line 221 
221    (declare (type ctype type))    (declare (type ctype type))
222    (etypecase type    (etypecase type
223      (named-type      (named-type
224       (ecase (named-type-name type)       (case (named-type-name type)
225         ((* t)         ((* t)
226          t)          t)
227         ((nil)         ((nil)
# Line 236  Line 244 
244         (lra (lra-p object))         (lra (lra-p object))
245         (fdefn (fdefn-p object))         (fdefn (fdefn-p object))
246         (scavenger-hook (scavenger-hook-p object))         (scavenger-hook (scavenger-hook-p object))
247         (structure (structurep object))))         (structure (structurep object))
248           (dylan::dylan-function (dylan::dylan-function-p object))
249           (dylan::generic-function
250            (only-if-bound dylan::generic-function-p object))
251           (dylan::exit-function
252            (only-if-bound dylan::exit-function-p object))
253           (dylan::next-method-func
254            (only-if-bound dylan::next-method-func-p object))
255           (dylan::method
256            (only-if-bound dylan::method-p object))
257           (dylan::defined-method
258            (only-if-bound dylan::defined-method-p object))
259           (dylan::builtin-method
260            (only-if-bound dylan::builtin-method-p object))
261           (dylan::slot-accessor-method
262            (only-if-bound dylan::slot-accessor-method-p object))
263           (dylan::slot-setter-method
264            (only-if-bound dylan::slot-setter-method-p object))
265           (dylan::slot-getter-method
266            (only-if-bound dylan::slot-getter-method-p object))
267           (t nil)))
268      (numeric-type      (numeric-type
269       (and (numberp object)       (and (numberp object)
270            (let ((num (if (complexp object) (realpart object) object)))            (let ((num (if (complexp object) (realpart object) object)))

Legend:
Removed from v.1.27  
changed lines
  Added in v.1.28

  ViewVC Help
Powered by ViewVC 1.1.5