aboutsummaryrefslogtreecommitdiff
path: root/src/parser.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2018-05-20 17:39:49 +0100
committergingerBill <bill@gingerbill.org>2018-05-20 17:39:49 +0100
commit718b80ba398b8980c37f79dded101bcf20d187d2 (patch)
treec097af84ff567e4841f0a61fc886e23572e6758f /src/parser.cpp
parent4d052d5119653c80f4c7b7c6695256e0540a55a5 (diff)
Fix demo for removing default struct values
Diffstat (limited to 'src/parser.cpp')
-rw-r--r--src/parser.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/parser.cpp b/src/parser.cpp
index c32af2427..1fcc7140d 100644
--- a/src/parser.cpp
+++ b/src/parser.cpp
@@ -2889,7 +2889,7 @@ AstNode *parse_struct_field_list(AstFile *f, isize *name_count_) {
isize total_name_count = 0;
- AstNode *params = parse_field_list(f, &total_name_count, FieldFlag_Struct, Token_CloseBrace, true, false);
+ AstNode *params = parse_field_list(f, &total_name_count, FieldFlag_Struct, Token_CloseBrace, false, false);
if (name_count_) *name_count_ = total_name_count;
return params;
}
@@ -2948,7 +2948,6 @@ AstNode *parse_field_list(AstFile *f, isize *name_count_, u32 allowed_flags, Tok
}
if (allow_token(f, Token_Eq)) {
- // TODO(bill): Should this be true==lhs or false==rhs?
default_value = parse_expr(f, false);
if (!allow_default_parameters) {
syntax_error(f->curr_token, "Default parameters are only allowed for procedures");
@@ -3001,10 +3000,10 @@ AstNode *parse_field_list(AstFile *f, isize *name_count_, u32 allowed_flags, Tok
}
if (allow_token(f, Token_Eq)) {
- // TODO(bill): Should this be true==lhs or false==rhs?
default_value = parse_expr(f, false);
if (!allow_default_parameters) {
syntax_error(f->curr_token, "Default parameters are only allowed for procedures");
+ default_value = nullptr;
}
}