Add error messages when file not found + error position

This commit is contained in:
Krzosa Karol
2022-06-18 09:58:48 +02:00
parent 3ba8bd08fb
commit 499faac256
5 changed files with 19 additions and 16 deletions

View File

@@ -597,11 +597,13 @@ gen_ast(Ast *ast){
function void
parse_file(Ast_File *file){
assert(file);
Scratch scratch;
file->filecontent = os_read_file(pctx->perm, file->filename.s);
assert(file);
assert(file->filecontent.len);
assert(file->filename.len);
if(file->filecontent.len == 0){
compiler_error(file->pos, "Failed to open file \"%Q\"", file->filename);
}
pctx->currently_parsed_file = file;
@@ -685,7 +687,7 @@ parse_all_modules(){
}
function Ast_Module *
add_module(Intern_String filename){
add_module(Token *pos, Intern_String filename){
For(pctx->modules){
if(it->name == filename){
log_info("Returning registered module: %Q\n", filename);
@@ -694,8 +696,8 @@ add_module(Intern_String filename){
}
log_info("Adding module: %Q\n", filename);
Ast_Module *result = ast_module(filename);
register_ast_file(result->name, result, true);
Ast_Module *result = ast_module(pos, filename);
register_ast_file(pos, result->name, result, true);
pctx->modules.add(result);
return result;
}