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)) [(struct certificate:nest (m1 m2))
(list* (encode-mark-map m1) (encode-mark-map m2))] (list* (encode-mark-map m1) (encode-mark-map m2))]
[(struct certificate:ref (val m)) [(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) (define (encode-wrapped w)
(match w (match w

View File

@ -524,7 +524,9 @@
(symtab-lookup cp symref) (symtab-lookup cp symref)
(decode-mark-map alist))] (decode-mark-map alist))]
[(list* (? list? nested) 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)) (define stx-memo (make-memo))
; XXX More memo use ; XXX More memo use

View File

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

View File

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