fixing pr11036 by adding plain certificates

This commit is contained in:
Blake Johnson 2010-09-10 12:58:56 -06:00 committed by Jay McCarthy
parent 4e2f0f262f
commit 170ab47dc2
4 changed files with 13 additions and 2 deletions

View File

@ -356,7 +356,9 @@
[(struct certificate:nest (m1 m2))
(list* (encode-mark-map m1) (encode-mark-map m2))]
[(struct certificate:ref (val m))
(list* #f (make-protected-symref val) (encode-mark-map m))]))
(list* #f (make-protected-symref val) (encode-mark-map m))]
[(struct certificate:plain (m))
(encode-mark-map m)]))
(define (encode-wrapped w)
(match w

View File

@ -524,7 +524,9 @@
(symtab-lookup cp symref)
(decode-mark-map alist))]
[(list* (? list? nested) alist)
(make-certificate:nest (decode-mark-map nested) (decode-mark-map alist))])))
(make-certificate:nest (decode-mark-map nested) (decode-mark-map alist))]
[alist
(make-certificate:plain (decode-mark-map alist))])))
(define stx-memo (make-memo))
; XXX More memo use

View File

@ -63,6 +63,9 @@
(define-form-struct (certificate:ref certificate)
([val any/c]
[map mark-map?]))
(define-form-struct (certificate:plain certificate)
([map mark-map?]))
(define-form-struct wrap ())
(define-form-struct wrapped ([datum any/c]

View File

@ -555,6 +555,10 @@ A nested certificate.}
A reference certificate.}
@defstruct+[(certificate:plain certificate) ([map (listof number? module-path-index? ...)])]{
A plain certificate.}
@defstruct+[(wrap zo) ()]{