Small bugfix
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Sat, 18 Jul 2020 00:01:14 +0000 (19:01 -0500)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Sat, 18 Jul 2020 00:01:14 +0000 (19:01 -0500)
onyx
src/onyxchecker.c
src/onyxparser.c

diff --git a/onyx b/onyx
index a645223c29179f5a3ad75a93ad2e4700b062c1bb..e31cecd7ec9539929585bb763571728fe42052b6 100755 (executable)
Binary files a/onyx and b/onyx differ
index 97b18cb70b1e14ef627acff14d99c07d417b8ed0..90a3e6cac5a5d7520dc62d331254f7b2443b595d 100644 (file)
@@ -213,7 +213,7 @@ static b32 check_binaryop(SemState* state, AstBinaryOp* binop) {
         if (!is_lval((AstNode *) binop->left)) {
             onyx_message_add(state->msgs,
                     ONYX_MESSAGE_TYPE_NOT_LVAL,
-                    binop->token->pos,
+                    binop->left->token->pos,
                     binop->left->token->text, binop->left->token->length);
             return 1;
         }
index 85c1d75381a630336ace6f28ed427ec462f5fc01..a6c5d20a308a126aa3ad04dd34364019eb0336f4 100644 (file)
@@ -268,9 +268,9 @@ static AstTyped* parse_factor(OnyxParser* parser) {
     }
 
     while (parser->curr->type == Token_Type_Keyword_Cast) {
-        consume_token(parser);
 
         AstUnaryOp* cast_node = make_node(AstUnaryOp, Ast_Kind_Unary_Op);
+        cast_node->token = expect_token(parser, Token_Type_Keyword_Cast);
         cast_node->type_node = parse_type(parser);
         cast_node->operation = Unary_Op_Cast;
         cast_node->expr = retval;