[movitz-cvs] CVS update: movitz/compiler-types.lisp
Frode Vatvedt Fjeld
ffjeld at common-lisp.net
Sun Apr 18 23:10:31 UTC 2004
Update of /project/movitz/cvsroot/movitz
In directory common-lisp.net:/tmp/cvs-serv7552
Modified Files:
compiler-types.lisp
Log Message:
Changed how to deal with unknown types, slightly.
Date: Sun Apr 18 19:10:31 2004
Author: ffjeld
Index: movitz/compiler-types.lisp
diff -u movitz/compiler-types.lisp:1.10 movitz/compiler-types.lisp:1.11
--- movitz/compiler-types.lisp:1.10 Tue Apr 6 09:35:41 2004
+++ movitz/compiler-types.lisp Sun Apr 18 19:10:30 2004
@@ -10,7 +10,7 @@
;;;; Author: Frode Vatvedt Fjeld <frodef at acm.org>
;;;; Created at: Wed Sep 10 00:40:07 2003
;;;;
-;;;; $Id: compiler-types.lisp,v 1.10 2004/04/06 13:35:41 ffjeld Exp $
+;;;; $Id: compiler-types.lisp,v 1.11 2004/04/18 23:10:30 ffjeld Exp $
;;;;
;;;;------------------------------------------------------------------
@@ -363,7 +363,7 @@
(numscope-intersection integer-range0 integer-range1))
(intersection members0 members1)
(mapcar (lambda (sub0)
- `(and ,sub0 (:encoded ,code1 ,integer-range1 ,members1 ,include1 nil)))
+ `(and ,sub0 ,(encoded-type-decode code1 integer-range1 members1 include1 nil)))
include0)
nil))
((and (null include0) include1)
@@ -373,7 +373,7 @@
(numscope-intersection integer-range0 integer-range1))
(intersection members0 members1)
(mapcar (lambda (sub1)
- `(and ,sub1 (:encoded ,code0 ,integer-range0 ,members0 ,include0 nil)))
+ `(and ,sub1 ,(encoded-type-decode code0 integer-range0 members0 include0 nil)))
include1)
nil))
(t (warn "and with two includes..")
@@ -436,14 +436,12 @@
(t (let ((deriver (and (boundp 'muerte::*compiler-derived-typespecs*)
(gethash type-specifier
(symbol-value 'muerte::*compiler-derived-typespecs*)))))
- (assert deriver (type-specifier)
- "Unknown type ~S." type-specifier)
- (type-specifier-encode (funcall deriver))))))
+ (if deriver
+ (type-specifier-encode (funcall deriver))
+ (type-values () :include (list type-specifier)))))))
((listp type-specifier)
(check-type (car type-specifier) symbol)
(case (car type-specifier)
- (:encoded
- (multiple-value-list (cdr type-specifier)))
(satisfies
(type-values () :include (list type-specifier)))
(member
More information about the Movitz-cvs
mailing list