summaryrefslogtreecommitdiff
path: root/src/parser/parser_expr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser/parser_expr.c')
-rw-r--r--src/parser/parser_expr.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/parser/parser_expr.c b/src/parser/parser_expr.c
index be97707..bfbdb28 100644
--- a/src/parser/parser_expr.c
+++ b/src/parser/parser_expr.c
@@ -2093,8 +2093,10 @@ ASTNode *parse_primary(ParserContext *ctx, Lexer *l)
{
if (sig->defaults[i])
{
- ASTNode *def = ast_create(NODE_RAW_STMT);
- def->raw_stmt.content = xstrdup(sig->defaults[i]);
+ Lexer def_l;
+ lexer_init(&def_l, sig->defaults[i]);
+ ASTNode *def = parse_expression(ctx, &def_l);
+
if (!head)
{
head = def;