fixed bug in parser on when

This commit is contained in:
Daniel Gavin
2021-04-14 18:43:04 +02:00
parent aded272b33
commit 1de928df78
3 changed files with 15 additions and 15 deletions
+9 -10
View File
@@ -256,12 +256,14 @@ align_switch_smt :: proc(p: ^Printer, index: int) {
length += len(format_token.text) + format_token.spaces_before;
}
if case_count > brace_token.parameter_count {
if case_count >= brace_token.parameter_count {
break;
}
}
fmt.println(case_count, brace_token);
case_count = 0;
for line, line_index in p.lines[brace_line+1:] {
@@ -291,10 +293,10 @@ align_switch_smt :: proc(p: ^Printer, index: int) {
length += len(format_token.text) + format_token.spaces_before;
if case_count > brace_token.parameter_count {
break;
}
}
if case_count >= brace_token.parameter_count {
break;
}
}
@@ -331,8 +333,6 @@ align_struct :: proc(p: ^Printer, index: int) {
largest := 0;
colon_count := 0;
for line, line_index in p.lines[brace_line+1:] {
length := 0;
@@ -352,7 +352,7 @@ align_struct :: proc(p: ^Printer, index: int) {
length += len(format_token.text) + format_token.spaces_before;
}
if colon_count > brace_token.parameter_count {
if colon_count >= brace_token.parameter_count {
break;
}
}
@@ -371,19 +371,18 @@ align_struct :: proc(p: ^Printer, index: int) {
if format_token.kind == .Colon {
colon_count += 1;
line.format_tokens[i+1].spaces_before += (largest - length) - 1;
line.format_tokens[i+1].spaces_before = largest - length + 1;
break;
}
length += len(format_token.text) + format_token.spaces_before;
}
if colon_count > brace_token.parameter_count {
if colon_count >= brace_token.parameter_count {
break;
}
}
}
align_blocks :: proc(p: ^Printer) {
+4 -5
View File
@@ -1259,14 +1259,13 @@ visit_field_list :: proc(p: ^Printer, list: ^ast.Field_List, add_comma := false,
visit_exprs(p, field.names, true);
if len(field.names) != 0 {
push_generic_token(p, .Colon, 0);
}
if field.type != nil {
if len(field.names) != 0 {
push_generic_token(p, .Colon, 0);
}
visit_expr(p, field.type);
} else {
push_generic_token(p, .Colon, 0);
push_generic_token(p, .Colon, 1);
push_generic_token(p, .Eq, 0);
visit_expr(p, field.default_value);
}