From 4c758cc0d26c00da670432dd4a129fe48ed6a317 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Sat, 16 Jan 2021 13:29:24 -0600 Subject: [PATCH] add little bit more safety when using types in expressions --- onyx.exe | Bin 424960 -> 424960 bytes src/onyxastnodes.c | 4 ++++ src/onyxsymres.c | 5 +++++ 3 files changed, 9 insertions(+) diff --git a/onyx.exe b/onyx.exe index 1f1fd9c0ddaaf32a2c6d87db9558c406fa920f05..56828a13b16cdfeb13578536daadaa748e06d502 100644 GIT binary patch delta 43966 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
K* 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 delta 43854 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 diff --git a/src/onyxastnodes.c b/src/onyxastnodes.c index 8d53e8ff..51a12a11 100644 --- a/src/onyxastnodes.c +++ b/src/onyxastnodes.c @@ -472,6 +472,10 @@ Type* resolve_expression_type(AstTyped* node) { node->type = resolve_expression_type(((AstArgument *) node)->value); } + if (node_is_type((AstNode *) node)) { + return NULL; + } + if (node->type == NULL) node->type = type_build_from_ast(semstate.allocator, node->type_node); diff --git a/src/onyxsymres.c b/src/onyxsymres.c index e44c4b97..c61fc523 100644 --- a/src/onyxsymres.c +++ b/src/onyxsymres.c @@ -353,6 +353,11 @@ static void symres_array_literal(AstArrayLiteral* al) { } static void symres_expression(AstTyped** expr) { + if (node_is_type((AstNode *) *expr)) { + *((AstType **) expr) = symres_type((AstType *) *expr); + return; + } + switch ((*expr)->kind) { case Ast_Kind_Symbol: *expr = (AstTyped *) symbol_resolve(semstate.curr_scope, ((AstNode *) *expr)->token); -- 2.25.1