diff options
| author | Vasil Bozhurski <vasil.bozhurski@sap.com> | 2025-02-09 01:52:29 +0200 |
|---|---|---|
| committer | Vasil Bozhurski <vasil.bozhurski@sap.com> | 2025-02-09 01:52:29 +0200 |
| commit | dad59ebc08287c168a9b83ee78d2c45ec6c46ffa (patch) | |
| tree | 7794461c2471d7233e781a7f50d0138700ea2926 | |
| parent | b0b9c23d38d5d00bd1c6ccc6f8064cce9c653e7d (diff) | |
handle comments inside empty Comp_Lit
| -rw-r--r-- | src/odin/printer/visit.odin | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/odin/printer/visit.odin b/src/odin/printer/visit.odin index a58a0de..abf9a0a 100644 --- a/src/odin/printer/visit.odin +++ b/src/odin/printer/visit.odin @@ -1795,15 +1795,21 @@ visit_expr :: proc( if should_newline { document = cons_with_nopl(document, visit_begin_brace(p, v.pos, .Comp_Lit)) set_source_position(p, v.open) - document = cons( - document, - nest( + + nested := empty() + if len(v.elems) > 0 { + nested = nest( cons( newline_position(p, 1, v.elems[0].pos), visit_comp_lit_exprs(p, v^, {.Add_Comma, .Trailing, .Enforce_Newline}), ), - ), - ) + ) + } else { + comments, _ := visit_comments(p, v.end) + nested = nest(comments) + } + + document = cons(document, nested) set_source_position(p, v.end) document = cons(document, newline(1), text_position(p, "}", v.end)) |