use crate::decompiler::cfg::ssa::{SsaExpr, SsaVariable};
pub(super) fn is_literal(e: &SsaExpr) -> bool {
matches!(e, SsaExpr::Literal(_))
}
pub(super) fn strip_version(name: &str) -> String {
match name.rsplit_once('_') {
Some((base, digits))
if !digits.is_empty() && digits.chars().all(|c| c.is_ascii_digit()) =>
{
base.to_string()
}
_ => name.to_string(),
}
}
pub(super) fn var_name(var: &SsaVariable) -> String {
if var.base == "?" {
"?".to_string()
} else {
format!("{}_{}", var.base, var.version)
}
}