fix tainting issue
This commit is contained in:
parent
14175fc208
commit
e5aabb5cc5
17
strace.rkt
17
strace.rkt
|
@ -66,17 +66,26 @@
|
||||||
|
|
||||||
(define-runtime-path coverage.rkt "coverage.rkt")
|
(define-runtime-path coverage.rkt "coverage.rkt")
|
||||||
(define (add-cover-require expr [top #t])
|
(define (add-cover-require expr [top #t])
|
||||||
(syntax-parse expr
|
(define inspector (variable-reference->module-declaration-inspector
|
||||||
|
(#%variable-reference)))
|
||||||
|
(syntax-parse (syntax-disarm expr inspector)
|
||||||
#:literal-sets (kernel-literals)
|
#:literal-sets (kernel-literals)
|
||||||
[(module name lang (#%module-begin b ...))
|
[(module name lang mb)
|
||||||
(with-syntax ([cover cover-name]
|
(with-syntax ([cover cover-name]
|
||||||
[srcloc srcloc-name]
|
[srcloc srcloc-name]
|
||||||
[(body ...) (map (lambda (e) (add-cover-require e #f)) (syntax->list #'(b ...)))])
|
)
|
||||||
|
(syntax-parse (syntax-disarm #'mb inspector)
|
||||||
|
#:literal-sets (kernel-literals)
|
||||||
|
[(#%module-begin b ...)
|
||||||
|
(with-syntax ([(body ...)
|
||||||
|
(map (lambda (e) (add-cover-require e #f)) (syntax->list #'(b ...)))])
|
||||||
|
(syntax-rearm
|
||||||
(namespace-syntax-introduce
|
(namespace-syntax-introduce
|
||||||
(quasisyntax/loc expr
|
(quasisyntax/loc expr
|
||||||
(module name lang
|
(module name lang
|
||||||
(#%module-begin
|
(#%module-begin
|
||||||
(#%require (rename (file #,(->absolute coverage.rkt)) cover coverage))
|
(#%require (rename (file #,(->absolute coverage.rkt)) cover coverage))
|
||||||
(#%require (rename racket/base srcloc make-srcloc))
|
(#%require (rename racket/base srcloc make-srcloc))
|
||||||
body ...)))))]
|
body ...))))
|
||||||
|
expr))]))]
|
||||||
[_ (if top #f expr)]))
|
[_ (if top #f expr)]))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user