~ chicken-core (chicken-5) ec693515dc6be72d6b3aaba0632c0e69a57d7235


commit ec693515dc6be72d6b3aaba0632c0e69a57d7235
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Tue Jun 1 08:52:32 2010 +0200
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Tue Jun 1 08:52:32 2010 +0200

    use tinyclos-style api for instance-of type-conversion

diff --git a/support.scm b/support.scm
index ac6c8a05..057386ce 100644
--- a/support.scm
+++ b/support.scm
@@ -974,10 +974,10 @@
 			(let ([tmp (gensym)])
 			  `(let ([,tmp ,param])
 			     (if ,tmp
-				 (slot-value ,param 'this)
+				 (slot-ref ,param 'this)
 				 '#f) ) ) ]
 		       [(nonnull-instance)
-			`(slot-value ,param 'this) ]
+			`(slot-ref ,param 'this) ]
 		       [(const) (repeat (cadr t))]
 		       [(enum)
 			(if unsafe param `(##sys#foreign-integer-argument ,param))]
@@ -1091,9 +1091,9 @@
 	  `(let ((,tmp ,body))
 	     (and ,tmp
 		  (not (##sys#null-pointer? ,tmp))
-		  (make-instance ,(caddr type) 'this ,tmp) ) ) ) ]
+		  (make ,(caddr type) 'this ,tmp) ) ) ) ]
        [(and (list? type) (= 3 (length type)) (eq? 'nonnull-instance (car type)))
-	`(make-instance ,(caddr type) 'this ,body) ]
+	`(make ,(caddr type) 'this ,body) ]
        [else body] ) ] ) )
 
 
Trap