From d0a60667514ade477b1d00fd8f7f6aa6922fa9e7 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Wed, 2 Jun 2021 09:24:33 -0500 Subject: [PATCH] bugfixes with polymorphic function calls with unresolved symbols --- bin/onyx | Bin 366176 -> 366232 bytes include/onyxastnodes.h | 9 +++++-- src/onyx.c | 4 +-- src/onyxchecker.c | 60 +++++++++++++---------------------------- src/onyxentities.c | 18 +++++++------ src/onyxsymres.c | 1 + src/onyxutils.c | 12 +++++++-- 7 files changed, 48 insertions(+), 56 deletions(-) diff --git a/bin/onyx b/bin/onyx index 407ea599341575beec977b3bb52657ee4ab94e11..e9b6fe51867680d8a7e1827e297e9256ca2dd6f7 100755 GIT binary patch delta 86287 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 diff --git a/include/onyxastnodes.h b/include/onyxastnodes.h index a75694f1..01680a4f 100644 --- a/include/onyxastnodes.h +++ b/include/onyxastnodes.h @@ -232,7 +232,9 @@ typedef enum AstFlags { Ast_Flag_Has_Been_Symres = BH_BIT(26), - Ast_Flag_Static_If_Resolved = BH_BIT(27), + Ast_Flag_Has_Been_Checked = BH_BIT(27), + + Ast_Flag_Static_If_Resolved = BH_BIT(28), } AstFlags; typedef enum UnaryOp { @@ -796,6 +798,9 @@ struct AstFunction { OnyxToken* foreign_name; }; }; + + struct Entity* entity_header; + struct Entity* entity_body; }; struct AstOverloadedFunction { @@ -1017,7 +1022,7 @@ typedef struct EntityHeap { void entity_heap_init(EntityHeap* entities); void entity_heap_insert_existing(EntityHeap* entities, Entity* e); -void entity_heap_insert(EntityHeap* entities, Entity e); +Entity* entity_heap_insert(EntityHeap* entities, Entity e); Entity* entity_heap_top(EntityHeap* entities); void entity_heap_change_top(EntityHeap* entities, Entity* new_top); void entity_heap_remove_top(EntityHeap* entities); diff --git a/src/onyx.c b/src/onyx.c index dd22f2d9..dee800b2 100644 --- a/src/onyx.c +++ b/src/onyx.c @@ -333,8 +333,8 @@ static void output_dummy_progress_bar() { if (bh_arr_length(eh->entities) == 0) return; static const char* state_colors[] = { - "\e[91m", "\e[93m", "\e[94m", "\e[93m", "\e[97m", - "\e[95m", "\e[97m", "\e[95m", "\e[96m", "\e[92m", + "\e[91m", "\e[93m", "\e[94m", "\e[93m", + "\e[97m", "\e[95m", "\e[96m", "\e[92m", }; printf("\e[2;1H"); diff --git a/src/onyxchecker.c b/src/onyxchecker.c index 1725f282..76c3bd8a 100644 --- a/src/onyxchecker.c +++ b/src/onyxchecker.c @@ -146,7 +146,7 @@ CheckStatus check_if(AstIfWhile* ifnode) { CHECK(expression, &ifnode->cond); if (!type_is_bool(ifnode->cond->type)) { - onyx_report_error(ifnode->cond->token->pos, "expected boolean type for condition"); + onyx_report_error(ifnode->cond->token->pos, "Expected expression of type 'bool' for condition, got '%s'", type_get_name(ifnode->cond->type)); return Check_Error; } @@ -163,7 +163,7 @@ CheckStatus check_while(AstIfWhile* whilenode) { CHECK(expression, &whilenode->cond); if (!type_is_bool(whilenode->cond->type)) { - onyx_report_error(whilenode->cond->token->pos, "expected boolean type for condition"); + onyx_report_error(whilenode->cond->token->pos, "Expected expression of type 'bool' for condition, got '%s'", type_get_name(whilenode->cond->type)); return Check_Error; } @@ -405,6 +405,8 @@ CheckStatus check_call(AstCall* call) { // SPEED CLEANUP: Keeping an original copy for basically no reason except that sometimes you // need to know the baked argument values in code generation. + // This should only be done once, but right now it is being done everytime this is checked, + // which can be multiple if we have to yield on a callee's type. arguments_clone(&call->original_args, &call->args); if (call->callee->kind == Ast_Kind_Overloaded_Function) { @@ -426,10 +428,7 @@ CheckStatus check_call(AstCall* call) { // NOTE: Build callee's type fill_in_type((AstTyped *) callee); - if (callee->type == NULL) { - onyx_report_error(call->token->pos, "There was an error with looking up the type of this function."); - return Check_Error; - } + if (callee->type == NULL) return Check_Yield_Macro; if (callee->type->kind != Type_Kind_Function) { onyx_report_error(call->token->pos, @@ -1582,6 +1581,7 @@ CheckStatus check_block(AstBlock* block) { CheckStatus check_function(AstFunction* func) { if (func->flags & Ast_Flag_Already_Checked) return Check_Success; + if (func->entity_header && func->entity_header->state < Entity_State_Code_Gen) return Check_Yield_Macro; expected_return_type = func->type->Function.return_type; if (func->body) { @@ -1809,6 +1809,7 @@ CheckStatus check_type(AstType* type) { CheckStatus check_static_if(AstIf* static_if) { expression_types_must_be_known = 1; CheckStatus result = check_expression(&static_if->cond); + if (result == Check_Yield_Macro) return Check_Yield_Macro; expression_types_must_be_known = 0; if (result > Check_Errors_Start || !(static_if->cond->flags & Ast_Flag_Comptime)) { @@ -1866,21 +1867,14 @@ void check_entity(Entity* ent) { switch (ent->type) { case Entity_Type_Foreign_Function_Header: - case Entity_Type_Function_Header: - cs = check_function_header(ent->function); - break; - - case Entity_Type_Function: - cs = check_function(ent->function); - break; - - case Entity_Type_Overloaded_Function: - cs = check_overloaded_function(ent->overloaded_function); - break; - - case Entity_Type_Global: - cs = check_global(ent->global); - break; + case Entity_Type_Function_Header: cs = check_function_header(ent->function); break; + case Entity_Type_Function: cs = check_function(ent->function); break; + case Entity_Type_Overloaded_Function: cs = check_overloaded_function(ent->overloaded_function); break; + case Entity_Type_Global: cs = check_global(ent->global); break; + case Entity_Type_Struct_Member_Default: cs = check_struct_defaults((AstStructType *) ent->type_alias); break; + case Entity_Type_Memory_Reservation_Type: cs = check_memres_type(ent->mem_res); break; + case Entity_Type_Memory_Reservation: cs = check_memres(ent->mem_res); break; + case Entity_Type_Static_If: cs = check_static_if(ent->static_if); break; case Entity_Type_Expression: cs = check_expression(&ent->expr); @@ -1894,28 +1888,10 @@ void check_entity(Entity* ent) { cs = check_type(ent->type_alias); break; - case Entity_Type_Struct_Member_Default: - cs = check_struct_defaults((AstStructType *) ent->type_alias); - break; - - case Entity_Type_Memory_Reservation_Type: - cs = check_memres_type(ent->mem_res); - break; - - case Entity_Type_Memory_Reservation: - cs = check_memres(ent->mem_res); - break; - - case Entity_Type_Static_If: - cs = check_static_if(ent->static_if); - break; - default: break; } - if (cs == Check_Success) ent->state = Entity_State_Code_Gen; - if (cs == Check_Complete) ent->state = Entity_State_Finalized; - else if (cs == Check_Yield_Macro) { - ent->macro_attempts++; - } + if (cs == Check_Success) ent->state = Entity_State_Code_Gen; + if (cs == Check_Complete) ent->state = Entity_State_Finalized; + if (cs == Check_Yield_Macro) ent->macro_attempts++; } diff --git a/src/onyxentities.c b/src/onyxentities.c index 8020dfe5..630ae73f 100644 --- a/src/onyxentities.c +++ b/src/onyxentities.c @@ -4,8 +4,8 @@ static inline i32 entity_phase(Entity* e1) { if (e1->state <= Entity_State_Parse) return 1; - if (e1->state < Entity_State_Code_Gen) return 2; - return 3; + if (e1->state < Entity_State_Code_Gen) return 3; + return 4; } // NOTE: Returns >0 if e1 should be processed after e2. @@ -96,11 +96,10 @@ void entity_heap_insert_existing(EntityHeap* entities, Entity* e) { entities->all_count[e->state][e->type]++; } -// nocheckin -// Temporary wrapper -void entity_heap_insert(EntityHeap* entities, Entity e) { +Entity* entity_heap_insert(EntityHeap* entities, Entity e) { Entity* entity = entity_heap_register(entities, e); entity_heap_insert_existing(entities, entity); + return entity; } Entity* entity_heap_top(EntityHeap* entities) { @@ -134,8 +133,8 @@ void entity_heap_remove_top(EntityHeap* entities) { // NOTE(Brendan Hansen): Uses the entity heap in the context structure void add_entities_for_node(bh_arr(Entity *) *target_arr, AstNode* node, Scope* scope, Package* package) { -#define ENTITY_INSERT(_ent) { \ - Entity* entity = entity_heap_register(entities, _ent); \ +#define ENTITY_INSERT(_ent) \ + entity = entity_heap_register(entities, _ent); \ if (target_arr) { \ bh_arr(Entity *) __tmp_arr = *target_arr; \ bh_arr_push(__tmp_arr, entity); \ @@ -143,9 +142,10 @@ void add_entities_for_node(bh_arr(Entity *) *target_arr, AstNode* node, Scope* s } else { \ entity_heap_insert_existing(entities, entity); \ } \ - } + EntityHeap* entities = &context.entities; + Entity* entity; Entity ent; ent.state = Entity_State_Resolve_Symbols; @@ -187,10 +187,12 @@ void add_entities_for_node(bh_arr(Entity *) *target_arr, AstNode* node, Scope* s ent.type = Entity_Type_Function_Header; ent.function = (AstFunction *) node; ENTITY_INSERT(ent); + ((AstFunction *) node)->entity_header = entity; ent.type = Entity_Type_Function; ent.function = (AstFunction *) node; ENTITY_INSERT(ent); + ((AstFunction *) node)->entity_body = entity; } break; } diff --git a/src/onyxsymres.c b/src/onyxsymres.c index eaed4488..b053f77e 100644 --- a/src/onyxsymres.c +++ b/src/onyxsymres.c @@ -819,6 +819,7 @@ SymresStatus symres_function_header(AstFunction* func) { SymresStatus symres_function(AstFunction* func) { if (func->scope == NULL) func->scope = scope_create(context.ast_alloc, curr_scope, func->token->pos); + if (func->entity_header && func->entity_header->state < Entity_State_Check_Types) return Symres_Yield_Macro; scope_enter(func->scope); diff --git a/src/onyxutils.c b/src/onyxutils.c index 321f4a4d..f0c1b9c0 100644 --- a/src/onyxutils.c +++ b/src/onyxutils.c @@ -324,8 +324,11 @@ static b32 add_solidified_function_entities(AstSolidifiedFunction solidified_fun .scope = solidified_func.poly_scope, }; - entity_heap_insert(&context.entities, func_header_entity); - entity_heap_insert(&context.entities, func_entity); + Entity* entity_header = entity_heap_insert(&context.entities, func_header_entity); + Entity* entity_body = entity_heap_insert(&context.entities, func_entity); + + solidified_func.func->entity_header = entity_header; + solidified_func.func->entity_body = entity_body; return 1; } @@ -1268,6 +1271,8 @@ AstStructType* polymorphic_struct_lookup(AstPolyStructType* ps_type, bh_arr(AstP } void entity_bring_to_state(Entity* ent, EntityState state) { + EntityState last_state = ent->state; + while (ent->state != state) { switch (ent->state) { case Entity_State_Resolve_Symbols: symres_entity(ent); break; @@ -1277,6 +1282,9 @@ void entity_bring_to_state(Entity* ent, EntityState state) { default: return; } + if (ent->state == last_state) break; + last_state = ent->state; + if (onyx_has_errors()) return; } } -- 2.25.1