Working mapgen and fixed indentation

This commit is contained in:
2026-06-15 14:12:33 +02:00
parent 37e0a574d5
commit 5f0b1fa67a
3 changed files with 12 additions and 12 deletions
+7 -10
View File
@@ -41,7 +41,7 @@ impl RustCodegen {
output: String::new(),
indent: 0,
mapping: HashSet::new(),
position: RustMap(0, 0),
position: RustMap(1, 0),
}
}
@@ -50,15 +50,12 @@ impl RustCodegen {
}
fn add(&mut self, s: &str) {
for c in s.chars() {
match c {
'\n' => {
self.position.0 += 1;
self.position.1 = 0;
}
_ => {
self.position.1 += 1;
}
for b in s.bytes() {
if b == b'\n' {
self.position.0 += 1;
self.position.1 = 0;
} else {
self.position.1 += 1;
}
}
+2
View File
@@ -11,12 +11,14 @@ impl GenRust for Block {
for stmt in &self.statements {
ctx.expr_ensure_semicolon = true;
cg.add_indented("");
stmt.gen_rust(ctx, cg);
cg.addln("");
}
if let Some(soft_return) = &self.soft_return {
ctx.expr_ensure_semicolon = false;
cg.add_indented("");
soft_return.gen_rust(ctx, cg);
cg.addln("");
}
+3 -2
View File
@@ -73,7 +73,7 @@ impl GenRust for ImplDecl {
impl GenRust for FunctionDecl {
fn gen_rust(&self, ctx: &mut Context, cg: &mut RustCodegen) {
cg.add(&format!(
cg.add_indented(&format!(
"{}fn {}{}(",
self.visibility.get_rust(),
self.name.get_rust(),
@@ -97,8 +97,9 @@ impl GenRust for FunctionDecl {
if let Some(body) = &self.body {
cg.add(" ");
body.gen_rust(ctx, cg);
cg.addln("");
} else {
cg.add(";");
cg.addln(";");
}
}
}