From: Brendan Hansen Date: Thu, 25 Jun 2020 19:44:52 +0000 (-0500) Subject: Changed order of error checking X-Git-Url: https://git.brendanfh.com/?a=commitdiff_plain;h=0823df62a70c4db04428a2bb0a4b94ae3db4a0b3;p=onyx.git Changed order of error checking constant is now checked before lval --- diff --git a/onyx b/onyx index e335e356..5c15d2c2 100755 Binary files a/onyx and b/onyx differ diff --git a/src/onyxtypecheck.c b/src/onyxtypecheck.c index 86110e5f..65c687c5 100644 --- a/src/onyxtypecheck.c +++ b/src/onyxtypecheck.c @@ -21,17 +21,17 @@ static void typecheck_assignment(OnyxSemPassState* state, OnyxAstNode* assign) { return; } - if ((assign->left->flags & ONYX_AST_FLAG_LVAL) == 0) { + if ((assign->left->flags & ONYX_AST_FLAG_CONST) != 0 && assign->left->type->is_known) { onyx_message_add(state->msgs, - ONYX_MESSAGE_TYPE_NOT_LVAL, + ONYX_MESSAGE_TYPE_ASSIGN_CONST, assign->token->pos, assign->left->token->token, assign->left->token->length); return; } - if ((assign->left->flags & ONYX_AST_FLAG_CONST) != 0 && assign->left->type->is_known) { + if ((assign->left->flags & ONYX_AST_FLAG_LVAL) == 0) { onyx_message_add(state->msgs, - ONYX_MESSAGE_TYPE_ASSIGN_CONST, + ONYX_MESSAGE_TYPE_NOT_LVAL, assign->token->pos, assign->left->token->token, assign->left->token->length); return;