From be7d4e251e3f1dbd0a94d6d131e915d73cba5499 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Mon, 11 Oct 2021 10:49:12 -0500 Subject: [PATCH] fixed aliases resolving to self --- bin/onyx | Bin 439816 -> 439816 bytes core/container/map.onyx | 16 ++++++++-------- core/container/set.onyx | 14 +++++++------- include/astnodes.h | 2 ++ src/symres.c | 9 ++++++++- src/utils.c | 15 +++++++++------ 6 files changed, 34 insertions(+), 22 deletions(-) diff --git a/bin/onyx b/bin/onyx index 2570cf38dbeb573582a7234fa23989cf1de7dfc3..00f961ef230241c11fd10ec491ce05c6733918f4 100755 GIT binary patch delta 53791 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 delta 53585 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 diff --git a/core/container/map.onyx b/core/container/map.onyx index c97d44ad..a1acf621 100644 --- a/core/container/map.onyx +++ b/core/container/map.onyx @@ -24,14 +24,14 @@ Map :: struct (K: type_expr, V: type_expr) { value : V; } - has :: (package core.map).has - get :: (package core.map).get - get_ptr :: (package core.map).get_ptr - put :: (package core.map).put - delete :: (package core.map).delete - update :: (package core.map).update - clear :: (package core.map).clear - empty :: (package core.map).empty + has :: has + get :: get + get_ptr :: get_ptr + put :: put + delete :: delete + update :: update + clear :: clear + empty :: empty } make :: ($Key: type_expr, $Value: type_expr, default := __zero_value(Value)) -> Map(Key, Value) { diff --git a/core/container/set.onyx b/core/container/set.onyx index d4fb02bf..551e537c 100644 --- a/core/container/set.onyx +++ b/core/container/set.onyx @@ -21,13 +21,13 @@ Set :: struct (T: type_expr) { value : T; } - has :: (package core.set).has - get :: (package core.set).get - insert :: (package core.set).insert - remove :: (package core.set).remove - clear :: (package core.set).clear - empty :: (package core.set).empty - iterator :: (package core.set).iterator + has :: has + get :: get + insert :: insert + remove :: remove + clear :: clear + empty :: empty + iterator :: iterator } make :: ($T: type_expr, default := __zero_value(T)) -> Set(T) { diff --git a/include/astnodes.h b/include/astnodes.h index bea7e3d5..c6da2856 100644 --- a/include/astnodes.h +++ b/include/astnodes.h @@ -263,6 +263,8 @@ typedef enum AstFlags { // :TEMPORARY Ast_Flag_Params_Introduced = BH_BIT(29), + + Ast_Flag_Symbol_Invisible = BH_BIT(30), } AstFlags; typedef enum UnaryOp { diff --git a/src/symres.c b/src/symres.c index e1d1232d..40e0201c 100644 --- a/src/symres.c +++ b/src/symres.c @@ -227,7 +227,9 @@ static SymresStatus symres_type(AstType** type) { case Ast_Kind_Alias: { AstAlias* alias = (AstAlias *) *type; + alias->flags |= Ast_Flag_Symbol_Invisible; SYMRES(type, (AstType **) &alias->alias); + alias->flags &= ~Ast_Flag_Symbol_Invisible; break; } @@ -436,7 +438,12 @@ static SymresStatus symres_expression(AstTyped** expr) { case Ast_Kind_Method_Call: SYMRES(method_call, (AstBinaryOp **) expr); break; case Ast_Kind_Size_Of: SYMRES(size_of, (AstSizeOf *)*expr); break; case Ast_Kind_Align_Of: SYMRES(align_of, (AstAlignOf *)*expr); break; - case Ast_Kind_Alias: SYMRES(expression, &((AstAlias *) *expr)->alias); break; + case Ast_Kind_Alias: { + (*expr)->flags |= Ast_Flag_Symbol_Invisible; + SYMRES(expression, &((AstAlias *) *expr)->alias); + (*expr)->flags &= ~Ast_Flag_Symbol_Invisible; + break; + } case Ast_Kind_Range_Literal: SYMRES(expression, &((AstRangeLiteral *)(*expr))->low); diff --git a/src/utils.c b/src/utils.c index eac3beca..52fbb2cf 100644 --- a/src/utils.c +++ b/src/utils.c @@ -132,18 +132,21 @@ void symbol_subpackage_introduce(Scope* scope, char* sym, AstPackage* package) { } AstNode* symbol_raw_resolve(Scope* start_scope, char* sym) { - AstNode* res = NULL; Scope* scope = start_scope; - while (res == NULL && scope != NULL) { + while (scope != NULL) { if (bh_table_has(AstNode *, scope->symbols, sym)) { - res = bh_table_get(AstNode *, scope->symbols, sym); - } else { - scope = scope->parent; + AstNode* res = bh_table_get(AstNode *, scope->symbols, sym); + + if ((res->flags & Ast_Flag_Symbol_Invisible) == 0) { + return res; + } } + + scope = scope->parent; } - return res; + return NULL; } AstNode* symbol_resolve(Scope* start_scope, OnyxToken* tkn) { -- 2.25.1