Bind libraries backward for consistent shadowing
This commit is contained in:
1 parent
141bb78e96
commit
abed751e96
9 files changed
+32
-4
No files matched your search
+1
-1
@@ -400,7 +400,7 @@ block block_bind_library(block binder, block body, int bindflags, const char *li
|
||||
matchlen += 2;
|
||||
}
|
||||
assert(block_has_only_binders(binder, bindflags));
|
||||
for (inst *curr = binder.first; curr; curr = curr->next) {
|
||||
for (inst *curr = binder.last; curr; curr = curr->prev) {
|
||||
int bindflags2 = bindflags;
|
||||
char* cname = curr->symbol;
|
||||
char* tname = jv_mem_alloc(strlen(curr->symbol)+matchlen+1);
|
||||
|
||||
+5
-1
@@ -240,7 +240,11 @@ static int process_dependencies(jq_state *jq, jv jq_origin, jv lib_origin, block
|
||||
block bk = *src_block;
|
||||
int nerrors = 0;
|
||||
|
||||
jv_array_foreach(deps, i, dep) {
|
||||
// XXX This is a backward jv_array_foreach because bindings go in reverse
|
||||
for (int i = jv_array_length(jv_copy(deps)); i > 0; ) {
|
||||
i--;
|
||||
jv dep = jv_array_get(jv_copy(deps), i);
|
||||
|
||||
const char *as_str = NULL;
|
||||
int is_data = jv_get_kind(jv_object_get(jv_copy(dep), jv_string("is_data"))) == JV_KIND_TRUE;
|
||||
int raw = 0;
|
||||
|
||||
Reference in new issue
Block a user