From d7152f5c82f516b9013600a70e104c6ae1b01444 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Sun, 7 Sep 2025 09:40:33 -0400 Subject: Be more correct about library names and also strip off `tomo-` prefixes/`-tomo` suffixes --- src/compile/headers.c | 2 +- src/compile/statements.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src/compile') diff --git a/src/compile/headers.c b/src/compile/headers.c index 6dc69f03..33a979cf 100644 --- a/src/compile/headers.c +++ b/src/compile/headers.c @@ -171,7 +171,7 @@ Text_t compile_statement_type_header(env_t *env, Path_t header_path, ast_t *ast) Path_t build_dir = Path$resolved(Path$parent(header_path), Path$current_dir()); switch (use->what) { case USE_MODULE: { - module_info_t mod = get_module_info(ast); + module_info_t mod = get_used_module_info(ast); glob_t tm_files; const char *folder = mod.version ? String(mod.name, "_", mod.version) : mod.name; if (glob(String(TOMO_PATH, "/lib/tomo_" TOMO_VERSION "/", folder, "/[!._0-9]*.tm"), GLOB_TILDE, NULL, diff --git a/src/compile/statements.c b/src/compile/statements.c index bde9ae36..3fc44ac4 100644 --- a/src/compile/statements.c +++ b/src/compile/statements.c @@ -188,7 +188,7 @@ static Text_t _compile_statement(env_t *env, ast_t *ast) { Text_t suffix = get_id_suffix(Path$as_c_string(path)); return with_source_info(env, ast, Texts("$initialize", suffix, "();\n")); } else if (use->what == USE_MODULE) { - module_info_t mod = get_module_info(ast); + module_info_t mod = get_used_module_info(ast); glob_t tm_files; const char *folder = mod.version ? String(mod.name, "_", mod.version) : mod.name; if (glob(String(TOMO_PATH, "/lib/tomo_" TOMO_VERSION "/", folder, "/[!._0-9]*.tm"), GLOB_TILDE, NULL, -- cgit v1.2.3 From bf18b23ff27bf2106292d54256f2a0c4ffbbcd44 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Tue, 9 Sep 2025 13:41:44 -0400 Subject: Typechecking/promotion for table lookup keys --- src/compile/indexing.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/compile') diff --git a/src/compile/indexing.c b/src/compile/indexing.c index 39af1160..1510e924 100644 --- a/src/compile/indexing.c +++ b/src/compile/indexing.c @@ -52,13 +52,13 @@ Text_t compile_indexing(env_t *env, ast_t *ast) { if (table_type->default_value) { return Texts("Table$get_or_default(", compile_to_pointer_depth(env, indexing->indexed, 0, false), ", ", compile_type(table_type->key_type), ", ", compile_type(table_type->value_type), ", ", - compile(env, indexing->index), ", ", + compile_to_type(env, indexing->index, table_type->key_type), ", ", compile_to_type(env, table_type->default_value, table_type->value_type), ", ", compile_type_info(container_t), ")"); } else { return Texts("Table$get_optional(", compile_to_pointer_depth(env, indexing->indexed, 0, false), ", ", compile_type(table_type->key_type), ", ", compile_type(table_type->value_type), ", ", - compile(env, indexing->index), + compile_to_type(env, indexing->index, table_type->key_type), ", " "_, ", promote_to_optional(table_type->value_type, Text("(*_)")), ", ", -- cgit v1.2.3