Skip to content

Commit

Permalink
clippy
Browse files Browse the repository at this point in the history
  • Loading branch information
chriseth committed Sep 25, 2024
1 parent 26930b1 commit 4a23a7a
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 26 deletions.
51 changes: 26 additions & 25 deletions jit-compiler/src/codegen.rs
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ impl<'a, T: FieldElement> CodeGenerator<'a, T> {
.map(|MatchArm { pattern, value }| {
Ok(format!(
"{} => {},",
self.format_pattern(pattern),
format_pattern(pattern),
self.format_expr(value)?,
))
})
Expand All @@ -289,35 +289,36 @@ impl<'a, T: FieldElement> CodeGenerator<'a, T> {
})
}

fn format_pattern(&mut self, pattern: &Pattern) -> String {
match pattern {
Pattern::CatchAll(_) => "_".to_string(),
Pattern::Ellipsis(_) => "..".to_string(),
Pattern::Number(_, n) => n.to_string(),
Pattern::String(_, s) => quote(s),
Pattern::Tuple(_, items) => format!(
"({})",
items.iter().map(|p| self.format_pattern(p)).join(", ")
),
Pattern::Array(_, items) => format!(
"[{}]",
items.iter().map(|p| self.format_pattern(p)).join(", ")
),
Pattern::Variable(_, var) => var.clone(),
Pattern::Enum(_, name, None) => escape_symbol(&name.to_string()),
Pattern::Enum(_, name, Some(fields)) => format!(
"{}({})",
escape_symbol(&name.to_string()),
fields.iter().map(|p| self.format_pattern(p)).join(", ")
),
}
}

fn format_statement(&mut self, s: &StatementInsideBlock<Expression>) -> Result<String, String> {
Err(format!("Implement {s}"))
}
}

fn format_pattern(pattern: &Pattern) -> String {
match pattern {
Pattern::CatchAll(_) => "_".to_string(),
Pattern::Ellipsis(_) => "..".to_string(),
Pattern::Number(_, n) => {
// TODO this should probably fail if the number is too large.
n.to_string()
}
Pattern::String(_, s) => quote(s),
Pattern::Tuple(_, items) => {
format!("({})", items.iter().map(format_pattern).join(", "))
}
Pattern::Array(_, items) => {
format!("[{}]", items.iter().map(format_pattern).join(", "))
}
Pattern::Variable(_, var) => var.clone(),
Pattern::Enum(_, name, None) => escape_symbol(&name.to_string()),
Pattern::Enum(_, name, Some(fields)) => format!(
"{}({})",
escape_symbol(&name.to_string()),
fields.iter().map(format_pattern).join(", ")
),
}
}

pub fn escape_symbol(s: &str) -> String {
// TODO better escaping
s.replace('.', "_").replace("::", "_")
Expand Down
2 changes: 1 addition & 1 deletion jit-compiler/src/compiler.rs
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ pub fn call_cargo(code: &str) -> Result<(Temp, String), String> {
let lib_path = dir
.join("target")
.join("release")
.join(&format!("libpowdr_jit_compiled.{extension}"));
.join(format!("libpowdr_jit_compiled.{extension}"));
Ok((dir, lib_path.to_str().unwrap().to_string()))
}

Expand Down

0 comments on commit 4a23a7a

Please sign in to comment.