aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEduardo Julian2019-09-18 21:33:23 -0400
committerEduardo Julian2019-09-18 21:33:23 -0400
commit343c16f6f960eb1e7c75804ee83d4d8dba8a11e7 (patch)
treec87cd84d7b657eb596c15c29e088669f471523be
parent5d9fe393959c4c9c9bcbd04cef3115f7f834612f (diff)
Fixed a bug wherein definitions created while processing module referrals did not make it into the generation buffer.
Diffstat (limited to '')
-rw-r--r--stdlib/source/lux/tool/compiler/default/init.lux5
-rw-r--r--stdlib/source/lux/tool/compiler/phase/generation.lux2
2 files changed, 5 insertions, 2 deletions
diff --git a/stdlib/source/lux/tool/compiler/default/init.lux b/stdlib/source/lux/tool/compiler/default/init.lux
index fc9a805f7..40549f8d0 100644
--- a/stdlib/source/lux/tool/compiler/default/init.lux
+++ b/stdlib/source/lux/tool/compiler/default/init.lux
@@ -237,7 +237,10 @@
///directive.lift-analysis
extension.lift
macro.current-module)
- _ (monad.map @ execute! (get@ #///directive.referrals requirements))]
+ _ (///directive.lift-generation
+ (generation.set-buffer buffer))
+ _ (monad.map @ execute! (get@ #///directive.referrals requirements))
+ buffer (..get-current-buffer buffer)]
(..iterate expander module source buffer (..module-aliases analysis-module))))))})])
)))))}))))
diff --git a/stdlib/source/lux/tool/compiler/phase/generation.lux b/stdlib/source/lux/tool/compiler/phase/generation.lux
index cbd0bba9b..198ca4bb4 100644
--- a/stdlib/source/lux/tool/compiler/phase/generation.lux
+++ b/stdlib/source/lux/tool/compiler/phase/generation.lux
@@ -233,7 +233,7 @@
(case ?buffer
(#.Some buffer)
(if (row.any? (|>> product.left (name@= name)) buffer)
- (//.throw cannot-overwrite-output name)
+ (//.throw ..cannot-overwrite-output name)
(extension.update (set@ #buffer (#.Some (row.add [name code] buffer)))))
#.None