at the moment, ignoring submodule support till I have a better understanding

This commit is contained in:
Danny Yoo 2012-04-18 14:48:27 -04:00
parent d0f3a47657
commit 10feaaa876

View File

@ -371,32 +371,38 @@
(match form (match form
[(struct mod (name srcname self-modidx prefix provides requires [(struct mod (name srcname self-modidx prefix provides requires
body syntax-body unexported max-let-depth dummy lang-info body syntax-body unexported max-let-depth dummy lang-info
internal-context)) internal-context pre-submodules post-submodules))
(let ([self-path (cond
((current-module-path-index-resolver) [(symbol? name)
self-modidx ;; FIXME: no support for submodules yet.
(current-module-path))]) (let ([self-path
(cond ((current-module-path-index-resolver)
[(symbol? self-path) self-modidx
(make-Module name (current-module-path))])
(make-ModuleLocator self-path self-path) (cond
(parse-prefix prefix) [(symbol? self-path)
(parse-mod-requires self-modidx requires) (make-Module name
(parse-mod-provides self-modidx provides) (make-ModuleLocator self-path self-path)
(parse-mod-body body))] (parse-prefix prefix)
[else (parse-mod-requires self-modidx requires)
(let ([rewritten-path (rewrite-path self-path)]) (parse-mod-provides self-modidx provides)
(cond (parse-mod-body body))]
[(symbol? rewritten-path) [else
(make-Module name (let ([rewritten-path (rewrite-path self-path)])
(make-ModuleLocator rewritten-path (cond
(normalize-path self-path)) [(symbol? rewritten-path)
(parse-prefix prefix) (make-Module name
(parse-mod-requires self-modidx requires) (make-ModuleLocator rewritten-path
(parse-mod-provides self-modidx provides) (normalize-path self-path))
(parse-mod-body body))] (parse-prefix prefix)
[else (parse-mod-requires self-modidx requires)
(error 'parse-mod "Internal error: unable to resolve module path ~s" self-path)]))]))])) (parse-mod-provides self-modidx provides)
(parse-mod-body body))]
[else
(error 'parse-mod "Internal error: unable to resolve module path ~s" self-path)]))]))]
[else
(error 'parse-bytecode "Whalesong doesn't yet support submodules")])]))
;; parse-mod-requires: module-path-index (listof (pair (U Integer #f) (listof module-path-index))) -> (listof ModuleLocator) ;; parse-mod-requires: module-path-index (listof (pair (U Integer #f) (listof module-path-index))) -> (listof ModuleLocator)