[movitz-cvs] CVS update: movitz/compiler-types.lisp

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Sat Feb 14 13:56:20 UTC 2004


Update of /project/movitz/cvsroot/movitz
In directory common-lisp.net:/tmp/cvs-serv4007

Modified Files:
	compiler-types.lisp 
Log Message:
Improved member-type-encode to ensure that member objects are proper
movitz-objects.

Date: Sat Feb 14 08:56:19 2004
Author: ffjeld

Index: movitz/compiler-types.lisp
diff -u movitz/compiler-types.lisp:1.5 movitz/compiler-types.lisp:1.6
--- movitz/compiler-types.lisp:1.5	Thu Feb 12 12:51:41 2004
+++ movitz/compiler-types.lisp	Sat Feb 14 08:56:19 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.5 2004/02/12 17:51:41 ffjeld Exp $
+;;;; $Id: compiler-types.lisp,v 1.6 2004/02/14 13:56:19 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -536,15 +536,16 @@
   (multiple-value-bind (code integer-range members include complement)
       (type-specifier-encode nil)
     (dolist (x member-objects)
-      (multiple-value-setq (code integer-range members include complement)
-	(multiple-value-call #'encoded-types-or
-	  code integer-range members include complement
-	  (etypecase x
-	    (movitz-fixnum
-	     (type-values () :integer-range (make-numscope (movitz-fixnum-value x)
-							   (movitz-fixnum-value x))))
-	    (movitz-object
-	     (type-values () :members (list x)))))))
+      (let ((member (movitz-read x)))
+	(multiple-value-setq (code integer-range members include complement)
+	  (multiple-value-call #'encoded-types-or
+	    code integer-range members include complement
+	    (etypecase member
+	      (movitz-fixnum
+	       (type-values () :integer-range (make-numscope (movitz-fixnum-value member)
+							     (movitz-fixnum-value member))))
+	      (movitz-object
+	       (type-values () :members (list member))))))))
     (values code integer-range members include complement)))
 
 (defun encoded-emptyp (code integer-range members include complement)





More information about the Movitz-cvs mailing list