Ported more code to use new contract bindings.
svn: r17727 original commit: 2bad47fd0fff59cde30406af4db42e6e65ffa899
This commit is contained in:
parent
62f745be71
commit
6e0495d778
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue
Block a user