From 2d56cf121246d06e6be71e4c955fe2a2d364311e Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Thu, 7 May 2026 22:39:38 +0200 Subject: [PATCH] match codegen --- src/codegen.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/codegen.rs b/src/codegen.rs index e57ec97..48a079b 100644 --- a/src/codegen.rs +++ b/src/codegen.rs @@ -472,6 +472,23 @@ impl ToRust for Statement { cg.add_indentedln(&format!("{} = {};", target.get_rust(), value.get_rust(),)); } + Statement::Match(expr, match_items) => { + cg.add_indentedln(&format!("match {} {{", expr.get_rust())); + cg.indent += 1; + + for itm in match_items { + cg.add_indentedln(&format!("{} =>", itm.0.get_rust())); + cg.add_indentedln("{"); + cg.indent += 1; + itm.1.to_rust(cg); + cg.indent -= 1; + cg.add_indentedln("}"); + } + + cg.indent -= 1; + cg.add_indentedln("}"); + } + Statement::If { initial, else_if,