|
From a114b871e460ef2ddcf7698bc6b18651c976626a Mon Sep 17 00:00:00 2001
|
|
From: Muh Muhten <muh.muhten@gmail.com>
|
|
Date: Tue, 19 Feb 2019 00:14:53 -0500
|
|
Subject: [PATCH 6/9] Replace TOP-before-imports special case with assert
|
|
|
|
The case isn't actually possible afaict.
|
|
---
|
|
src/compile.c | 11 ++++-------
|
|
1 file changed, 4 insertions(+), 7 deletions(-)
|
|
|
|
--- a/src/compile.c
|
|
+++ b/src/compile.c
|
|
@@ -469,10 +469,10 @@ block block_drop_unreferenced(block body
|
|
jv block_take_imports(block* body) {
|
|
jv imports = jv_array();
|
|
|
|
- inst* top = NULL;
|
|
- if (body->first && body->first->op == TOP) {
|
|
- top = block_take(body);
|
|
- }
|
|
+ /* Parser should never generate TOP before imports */
|
|
+ assert(!(body->first && body->first->op == TOP && body->first->next &&
|
|
+ (body->first->next->op == MODULEMETA || body->first->next->op == DEPS)));
|
|
+
|
|
while (body->first && (body->first->op == MODULEMETA || body->first->op == DEPS)) {
|
|
inst* dep = block_take(body);
|
|
if (dep->op == DEPS) {
|
|
@@ -480,9 +480,6 @@ jv block_take_imports(block* body) {
|
|
}
|
|
inst_free(dep);
|
|
}
|
|
- if (top) {
|
|
- *body = block_join(inst_block(top),*body);
|
|
- }
|
|
return imports;
|
|
}
|
|
|