aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVasil Bozhurski <vasil.bozhurski@sap.com>2025-02-09 01:52:29 +0200
committerVasil Bozhurski <vasil.bozhurski@sap.com>2025-02-09 01:52:29 +0200
commitdad59ebc08287c168a9b83ee78d2c45ec6c46ffa (patch)
tree7794461c2471d7233e781a7f50d0138700ea2926
parentb0b9c23d38d5d00bd1c6ccc6f8064cce9c653e7d (diff)
handle comments inside empty Comp_Lit
-rw-r--r--src/odin/printer/visit.odin16
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))