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

@@ -671,7 +671,7 @@ add_implicit_import(Ast_Scope *scope, Ast_Scope *add){
}
function Ast_File *
register_ast_file(Intern_String filename, Ast_Module *module, B32 global_implicit_load){
register_ast_file(Token *pos, Intern_String filename, Ast_Module *module, B32 global_implicit_load){
Ast_File *file = 0;
For(module->all_loaded_files){
if(it->filename == filename){
@@ -691,6 +691,7 @@ register_ast_file(Intern_String filename, Ast_Module *module, B32 global_implici
file->decls = {pctx->heap};
file->implicit_imports = {pctx->heap};
file->module->all_loaded_files.add(file);
file->pos = pos;
}
if(global_implicit_load) {
@@ -703,15 +704,15 @@ register_ast_file(Intern_String filename, Ast_Module *module, B32 global_implici
function Ast_File *
parse_load(B32 global_implicit_load){
Token *file = token_expect(TK_StringLit);
Ast_File *result = register_ast_file(file->intern_val, pctx->currently_parsed_file->module, global_implicit_load);
Ast_File *result = register_ast_file(file, file->intern_val, pctx->currently_parsed_file->module, global_implicit_load);
return result;
}
function Ast_Module *add_module(Intern_String filename);
function Ast_Module *add_module(Token *pos, Intern_String filename);
function Ast_Module *
parse_import(B32 global_implicit_import){
Token *file = token_expect(TK_StringLit);
Ast_Module *result = add_module(file->intern_val);
Ast_Module *result = add_module(file, file->intern_val);
if(global_implicit_import){
add_implicit_import(pctx->currently_parsed_file->module, result);
}