From b379d2c4bb6ddc151b00a0906d672a3805f8f228 Mon Sep 17 00:00:00 2001 From: Nick Gasson Date: Sat, 17 Feb 2024 17:15:38 +0000 Subject: [PATCH] Remove lib_index_kind function --- src/lib.c | 6 ------ src/lib.h | 1 - src/lower.c | 9 ++++++--- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/lib.c b/src/lib.c index cc48e964..6406be0a 100644 --- a/src/lib.c +++ b/src/lib.c @@ -1050,12 +1050,6 @@ void lib_save(lib_t lib) file_unlock(lib->lock_fd); } -int lib_index_kind(lib_t lib, ident_t ident) -{ - lib_index_t *it = lib_find_in_index(lib, ident); - return it != NULL ? it->kind : T_LAST_TREE_KIND; -} - void lib_walk_index(lib_t lib, lib_index_fn_t fn, void *context) { assert(lib != NULL); diff --git a/src/lib.h b/src/lib.h index 18e0f33b..6b6b68d2 100644 --- a/src/lib.h +++ b/src/lib.h @@ -62,7 +62,6 @@ timestamp_t lib_get_mtime(lib_t lib, ident_t ident); object_t *lib_load_handler(ident_t qual); bool lib_had_errors(lib_t lib, ident_t ident); unsigned lib_index_size(lib_t lib); -int lib_index_kind(lib_t lib, ident_t ident); typedef void (*lib_index_fn_t)(lib_t lib, ident_t ident, int kind, void *ctx); void lib_walk_index(lib_t lib, lib_index_fn_t fn, void *context); diff --git a/src/lower.c b/src/lower.c index 0e747e1a..31f8fea5 100644 --- a/src/lower.c +++ b/src/lower.c @@ -12412,14 +12412,17 @@ static void lower_deps_cb(ident_t unit_name, void *__ctx) { lower_unit_t *lu = __ctx; - lib_t lib = lib_require(ident_until(unit_name, '.')); + object_t *obj = lib_load_handler(unit_name); - const tree_kind_t kind = lib_index_kind(lib, unit_name); + tree_t unit = tree_from_object(obj); + if (unit == NULL) + return; + + const tree_kind_t kind = tree_kind(unit); if (kind != T_ENTITY && unit_name == lu->name) return; // Package body depends on package if (kind == T_PACKAGE && standard() >= STD_08) { - tree_t unit = lib_get(lib, unit_name); if (is_uninstantiated_package(unit)) return; // No code generated for uninstantiated packages } -- 2.39.2