[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