raco decompile: show provides

This commit is contained in:
Matthew Flatt 2014-07-23 15:49:31 +01:00
parent 68de6454d9
commit bf748a03c9

View File

@ -216,6 +216,27 @@
(if (null? l) (if (null? l)
null null
`((require ,@l)))) `((require ,@l))))
(provide ,@(apply
append
(for/list ([p (in-list provides)])
(define phase (car p))
(define l
(for/list ([pv (in-list (append (cadr p) (caddr p)))])
(match pv
[(struct provided (name src src-name nom-src src-phase protected?))
(define n (if (eq? name src-name)
name
`(rename-out [,src-name ,name])))
(if protected?
`(protect-out ,n)
n)])))
(if (or (null? l) (eq? phase 0))
l
`((,@(case phase
[(#f) `(for-label)]
[(1) `(for-syntax)]
[else `(for-meta ,phase)])
,@l))))))
,@defns ,@defns
,@(for/list ([submod (in-list pre-submodules)]) ,@(for/list ([submod (in-list pre-submodules)])
(decompile-module submod orig-stack stx-ht 'module)) (decompile-module submod orig-stack stx-ht 'module))