diff options
| author | gingerBill <gingerBill@users.noreply.github.com> | 2023-06-23 12:11:46 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-06-23 12:11:46 +0100 |
| commit | 9841b11a5423e2cba67c19fbd06e28732d36109c (patch) | |
| tree | 7c067cbc1501c4a044a80944ca282dd7da974074 /src/parser_pos.cpp | |
| parent | 5a6d5374d780e726be82f3576b4f647d9096d012 (diff) | |
| parent | c48057081e451c81524c7727ec3ccf434a45726f (diff) | |
Merge pull request #2597 from odin-lang/ordered-named-arguments
Allowing for Positional and Named Arguments in Procedure Calls
Diffstat (limited to 'src/parser_pos.cpp')
| -rw-r--r-- | src/parser_pos.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/parser_pos.cpp b/src/parser_pos.cpp index 52d49e897..3d2e8f27d 100644 --- a/src/parser_pos.cpp +++ b/src/parser_pos.cpp @@ -37,11 +37,15 @@ gb_internal Token ast_token(Ast *node) { return ast_token(node->ImplicitSelectorExpr.selector); } return node->ImplicitSelectorExpr.token; - case Ast_IndexExpr: return node->IndexExpr.open; - case Ast_MatrixIndexExpr: return node->MatrixIndexExpr.open; - case Ast_SliceExpr: return node->SliceExpr.open; + case Ast_IndexExpr: return ast_token(node->IndexExpr.expr); + case Ast_MatrixIndexExpr: return ast_token(node->MatrixIndexExpr.expr); + case Ast_SliceExpr: return ast_token(node->SliceExpr.expr); case Ast_Ellipsis: return node->Ellipsis.token; - case Ast_FieldValue: return node->FieldValue.eq; + case Ast_FieldValue: + if (node->FieldValue.field) { + return ast_token(node->FieldValue.field); + } + return node->FieldValue.eq; case Ast_EnumFieldValue: return ast_token(node->EnumFieldValue.name); case Ast_DerefExpr: return node->DerefExpr.op; case Ast_TernaryIfExpr: return ast_token(node->TernaryIfExpr.x); |