From 47f9e8f85060b7707be0f42c464e284cfc585273 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Thu, 3 Jun 2021 11:35:27 +0100 Subject: Fix `ast_end_token` for `[?]T` types --- src/parser_pos.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/parser_pos.cpp') diff --git a/src/parser_pos.cpp b/src/parser_pos.cpp index 895818873..921836afe 100644 --- a/src/parser_pos.cpp +++ b/src/parser_pos.cpp @@ -147,7 +147,11 @@ Token ast_end_token(Ast *node) { return ast_end_token(node->TagExpr.expr); } return node->TagExpr.name; - case Ast_UnaryExpr: return ast_end_token(node->UnaryExpr.expr); + case Ast_UnaryExpr: + if (node->UnaryExpr.expr) { + return ast_end_token(node->UnaryExpr.expr); + } + return node->UnaryExpr.op; case Ast_BinaryExpr: return ast_end_token(node->BinaryExpr.right); case Ast_ParenExpr: return node->ParenExpr.close; case Ast_CallExpr: return node->CallExpr.close; -- cgit v1.2.3