Add file scopes for the packages

This commit is contained in:
gingerBill
2018-05-27 00:10:38 +01:00
parent c067b90403
commit eb11edabe0
8 changed files with 136 additions and 154 deletions

View File

@@ -342,18 +342,17 @@ bool find_or_generate_polymorphic_procedure(Checker *c, Entity *base_entity, Typ
// NOTE(bill): Set the scope afterwards as this is not real overloading
entity->scope = scope->parent;
AstPackage *package = nullptr;
AstFile *file = nullptr;
{
Scope *s = entity->scope;
while (s != nullptr && s->package == nullptr) {
package = s->package;
while (s != nullptr && s->file == nullptr) {
file = s->file;
s = s->parent;
}
}
ProcedureInfo proc_info = {};
// proc_info.file = file;
proc_info.package = package;
proc_info.file = file;
proc_info.token = token;
proc_info.decl = d;
proc_info.type = final_proc_type;
@@ -5363,7 +5362,7 @@ ExprKind check_expr_base_internal(Checker *c, Operand *o, AstNode *node, Type *t
return kind;
}
check_procedure_later(c, c->curr_ast_package, empty_token, decl, type, pl->body, pl->tags);
check_procedure_later(c, c->curr_ast_file, empty_token, decl, type, pl->body, pl->tags);
}
check_close_scope(c);