Ported more code to use new contract bindings.

svn: r17727

original commit: 2bad47fd0fff59cde30406af4db42e6e65ffa899
This commit is contained in:
Carl Eastlund 2010-01-19 01:01:28 +00:00
parent 62f745be71
commit 6e0495d778

View File

@ -340,10 +340,12 @@
(list methods ...)
'(field-name ...)
#t)])
(make-proj-contract
(simple-contract
#:name
`(object-contract
,(build-compound-type-name 'method-name method-ctc-var) ...
,(build-compound-type-name 'field 'field-name field-ctc-var) ...)
#:projection
(lambda (blame)
(let ([method/app-var (method-var blame)]
...
@ -369,8 +371,7 @@
val
(method/app-var (vector-ref vtable (hash-ref method-ht 'method-name))) ...
(field/app-var (get-field field-name val)) ...
))))))
#f)))))))]))))
)))))))))))))]))))
(define (check-object val blame)