aboutsummaryrefslogtreecommitdiff
path: root/src/parser_pos.cpp
diff options
context:
space:
mode:
authorgingerBill <gingerBill@users.noreply.github.com>2021-08-16 12:03:43 +0100
committerGitHub <noreply@github.com>2021-08-16 12:03:43 +0100
commit5f072591ba70abf6df59f4ed9372649e7ebda710 (patch)
tree8c9d02259b75be22736d65d4a595ee933a26a259 /src/parser_pos.cpp
parentd62f189d7261160a2d3c66bfba2fda182a863fbd (diff)
parente3fef2dadef2b10342222f0314583f6f53e39ff4 (diff)
Merge pull request #1082 from odin-lang/or_else-or_return-operator
`or_else` and `or_return` operators
Diffstat (limited to 'src/parser_pos.cpp')
-rw-r--r--src/parser_pos.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/parser_pos.cpp b/src/parser_pos.cpp
index 921836afe..0f2ac438a 100644
--- a/src/parser_pos.cpp
+++ b/src/parser_pos.cpp
@@ -41,6 +41,8 @@ Token ast_token(Ast *node) {
case Ast_DerefExpr: return node->DerefExpr.op;
case Ast_TernaryIfExpr: return ast_token(node->TernaryIfExpr.x);
case Ast_TernaryWhenExpr: return ast_token(node->TernaryWhenExpr.x);
+ case Ast_OrElseExpr: return ast_token(node->OrElseExpr.x);
+ case Ast_OrReturnExpr: return ast_token(node->OrReturnExpr.expr);
case Ast_TypeAssertion: return ast_token(node->TypeAssertion.expr);
case Ast_TypeCast: return node->TypeCast.token;
case Ast_AutoCast: return node->AutoCast.token;
@@ -175,6 +177,8 @@ Token ast_end_token(Ast *node) {
case Ast_DerefExpr: return node->DerefExpr.op;
case Ast_TernaryIfExpr: return ast_end_token(node->TernaryIfExpr.y);
case Ast_TernaryWhenExpr: return ast_end_token(node->TernaryWhenExpr.y);
+ case Ast_OrElseExpr: return ast_end_token(node->OrElseExpr.y);
+ case Ast_OrReturnExpr: return node->OrReturnExpr.token;
case Ast_TypeAssertion: return ast_end_token(node->TypeAssertion.type);
case Ast_TypeCast: return ast_end_token(node->TypeCast.expr);
case Ast_AutoCast: return ast_end_token(node->AutoCast.expr);