about summary refs log tree commit diff
path: root/boot/visit.c
diff options
context:
space:
mode:
authorMel <mel@rnrd.eu>2025-07-06 03:57:37 +0200
committerMel <mel@rnrd.eu>2025-07-06 03:57:37 +0200
commit660808af50780dae5292c8064d5bddd77246c52b (patch)
treee8ee1f609977e116c0766b2344310f682bbe639a /boot/visit.c
parentebd176b8e7eb14060375a28d6ac50500d9d2c808 (diff)
downloadcatskill-660808af50780dae5292c8064d5bddd77246c52b.tar.zst
catskill-660808af50780dae5292c8064d5bddd77246c52b.zip
Correct handling of empty block nodes
Signed-off-by: Mel <mel@rnrd.eu>
Diffstat (limited to 'boot/visit.c')
-rw-r--r--boot/visit.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/boot/visit.c b/boot/visit.c
index 781c227..68e95bf 100644
--- a/boot/visit.c
+++ b/boot/visit.c
@@ -984,14 +984,17 @@ printer_visit_block_node(struct Visit* visit, struct Block_Node* node)
 {
     TREE_PRINTER_PREAMBLE
 
-    PRINT("(block\n");
-    printer->indentation_level++;
-    FOR_EACH (struct Statement*, statement, node->statements) {
-        VISIT(visit_statement, statement);
+    PRINT("(block");
+    if (node->statements) {
         PRINT("\n");
+        printer->indentation_level++;
+        FOR_EACH (struct Statement*, statement, node->statements) {
+            VISIT(visit_statement, statement);
+            PRINT("\n");
+        }
+        printer->indentation_level--;
+        tree_printer_indent(printer);
     }
-    printer->indentation_level--;
-    tree_printer_indent(printer);
     PRINT(")");
 }