diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2024-09-04 05:05:31 -0400 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2024-09-04 05:05:31 -0400 |
| commit | 97a964aa861e7c0066a0bf1f67469fbb93febcad (patch) | |
| tree | 02d46451d6f1e95f293287a78bcd83fb3214786e | |
| parent | af15e89303ba7e37e9f25c2cead4910ab5d09202 (diff) | |
Implicit filename for table getting
| -rw-r--r-- | builtins/table.h | 4 | ||||
| -rw-r--r-- | compile.c | 1 |
2 files changed, 2 insertions, 3 deletions
diff --git a/builtins/table.h b/builtins/table.h index da60b3be..5284d1cc 100644 --- a/builtins/table.h +++ b/builtins/table.h @@ -31,11 +31,11 @@ table_t Table$from_entries(array_t entries, const TypeInfo *type); void *Table$get(table_t t, const void *key, const TypeInfo *type); -#define Table$get_value_or_fail(table_expr, key_t, val_t, key_expr, info_expr, filename, start, end) ({ \ +#define Table$get_value_or_fail(table_expr, key_t, val_t, key_expr, info_expr, start, end) ({ \ const table_t t = table_expr; key_t k = key_expr; const TypeInfo* info = info_expr; \ val_t *v = Table$get(t, &k, info); \ if (__builtin_expect(v == NULL, 0)) \ - fail_source(filename, start, end, "The key %r is not in this table\n", generic_as_text(&k, no, info->TableInfo.key)); \ + fail_source(__SOURCE_FILE__, start, end, "The key %r is not in this table\n", generic_as_text(&k, no, info->TableInfo.key)); \ *v; }) #define Table$get_value_or_default(table_expr, key_t, val_t, key_expr, default_val, info_expr) ({ \ const table_t t = table_expr; const key_t k = key_expr; \ @@ -2469,7 +2469,6 @@ CORD compile(env_t *env, ast_t *ast) file_t *f = ast->file; return CORD_all("Table$get_value_or_fail(", self, ", ", compile_type(table->key_type), ", ", compile_type(table->value_type), ", ", compile_arguments(env, ast, arg_spec, call->args), ", ", compile_type_info(env, self_value_t), ", ", - CORD_quoted(f->filename), ", ", CORD_asprintf("%ld", (int64_t)(ast->start - f->text)), ", ", CORD_asprintf("%ld", (int64_t)(ast->end - f->text)), ")"); |
