Remove empty array declarations

This commit is contained in:
Rerumu 2022-06-26 04:18:15 -04:00
parent 901b062a41
commit 64ddfd03f9
2 changed files with 9 additions and 4 deletions

View File

@ -41,10 +41,12 @@ fn reader_to_code(reader: OperatorsReader) -> Vec<Operator> {
} }
fn write_named_array(name: &str, len: usize, w: &mut dyn Write) -> Result<()> { fn write_named_array(name: &str, len: usize, w: &mut dyn Write) -> Result<()> {
let hash = len.min(1); let len = match len.checked_sub(1) {
let len = len.saturating_sub(1); Some(len) => len,
None => return Ok(()),
};
write!(w, "local {name} = table_new({len}, {hash})") write!(w, "local {name} = table_new({len}, 1)")
} }
fn write_constant(init: &InitExpr, type_info: &TypeInfo, w: &mut dyn Write) -> Result<()> { fn write_constant(init: &InitExpr, type_info: &TypeInfo, w: &mut dyn Write) -> Result<()> {

View File

@ -41,7 +41,10 @@ fn reader_to_code(reader: OperatorsReader) -> Vec<Operator> {
} }
fn write_named_array(name: &str, len: usize, w: &mut dyn Write) -> Result<()> { fn write_named_array(name: &str, len: usize, w: &mut dyn Write) -> Result<()> {
let len = len.saturating_sub(1); let len = match len.checked_sub(1) {
Some(len) => len,
None => return Ok(()),
};
write!(w, "local {name} = table.create({len})") write!(w, "local {name} = table.create({len})")
} }