expander: improve module-name formatting in some error messages

This commit is contained in:
Matthew Flatt 2020-06-29 09:15:48 -06:00
parent 0527c9c9e2
commit e99332af69
2 changed files with 21 additions and 6 deletions

View File

@ -235,25 +235,28 @@
(when (module-cross-phase-persistent? prior-m)
(raise-arguments-error 'module
"cannot redeclare cross-phase persistent module"
"module name" mod-name))
"module name" (module-name->error-string mod-name)))
(when (and prior-mi
(or (module-instance-attached? prior-mi)
(not (inspector-superior? (current-code-inspector)
(namespace-inspector (module-instance-namespace prior-mi))))))
(raise-arguments-error 'module
"current code inspector cannot redeclare module"
"module name" mod-name)))
"module name" (module-name->error-string mod-name))))
(define (raise-unknown-module-error who mod-name)
(raise-arguments-error who
"unknown module"
"module name" mod-name))
"module name" (module-name->error-string mod-name)))
(define (namespace->module-linklet-info ns name phase-level)
(define m (namespace->module ns name))
(and m
((module-phase-level-linklet-info-callback m) phase-level ns (module-inspector m))))
(define (module-name->error-string mod-name)
(unquoted-printing-string (format "~a" mod-name)))
;; ----------------------------------------
(define (namespace->module-instance ns name 0-phase

View File

@ -14164,7 +14164,11 @@ static const char *startup_source =
"(begin"
"(if(module-cross-phase-persistent? prior-m_0)"
"(let-values()"
" (raise-arguments-error 'module \"cannot redeclare cross-phase persistent module\" \"module name\" mod-name_0))"
"(raise-arguments-error"
" 'module"
" \"cannot redeclare cross-phase persistent module\""
" \"module name\""
"(module-name->error-string mod-name_0)))"
"(void))"
"(if(if prior-mi_0"
"(let-values(((or-part_0)(module-instance-attached? prior-mi_0)))"
@ -14176,11 +14180,16 @@ static const char *startup_source =
"(namespace-inspector(module-instance-namespace prior-mi_0))))))"
" #f)"
"(let-values()"
" (raise-arguments-error 'module \"current code inspector cannot redeclare module\" \"module name\" mod-name_0))"
"(raise-arguments-error"
" 'module"
" \"current code inspector cannot redeclare module\""
" \"module name\""
"(module-name->error-string mod-name_0)))"
"(void))))))"
"(define-values"
"(raise-unknown-module-error)"
" (lambda (who_0 mod-name_0) (begin (raise-arguments-error who_0 \"unknown module\" \"module name\" mod-name_0))))"
"(lambda(who_0 mod-name_0)"
" (begin (raise-arguments-error who_0 \"unknown module\" \"module name\" (module-name->error-string mod-name_0)))))"
"(define-values"
"(namespace->module-linklet-info)"
"(lambda(ns_0 name_0 phase-level_0)"
@ -14188,6 +14197,9 @@ static const char *startup_source =
"(let-values(((m_0)(namespace->module ns_0 name_0)))"
"(if m_0((module-phase-level-linklet-info-callback m_0) phase-level_0 ns_0(module-inspector m_0)) #f)))))"
"(define-values"
"(module-name->error-string)"
" (lambda (mod-name_0) (begin (unquoted-printing-string (format \"~a\" mod-name_0)))))"
"(define-values"
"(namespace->module-instance.1)"
"(lambda(check-available-at-phase-level56_0"
" complain-on-failure?55_0"