add token for parsing pointer dereference

This commit is contained in:
Brendan Hansknecht
2019-10-31 21:53:46 -07:00
committed by Andrew Kelley
parent dd4e9fb16b
commit c1e8fdf812
8 changed files with 36 additions and 7 deletions

View File

@@ -2693,10 +2693,12 @@ static AstNode *ast_parse_suffix_op(ParseContext *pc) {
return res;
}
Token *dot_asterisk = eat_token_if(pc, TokenIdDotStar);
if (dot_asterisk != nullptr)
return ast_create_node(pc, NodeTypePtrDeref, dot_asterisk);
Token *dot = eat_token_if(pc, TokenIdDot);
if (dot != nullptr) {
if (eat_token_if(pc, TokenIdStar) != nullptr)
return ast_create_node(pc, NodeTypePtrDeref, dot);
if (eat_token_if(pc, TokenIdQuestion) != nullptr)
return ast_create_node(pc, NodeTypeUnwrapOptional, dot);