diff --git a/codegen-luajit/src/backend/expression.rs b/codegen-luajit/src/backend/expression.rs index 703c331..46449a1 100644 --- a/codegen-luajit/src/backend/expression.rs +++ b/codegen-luajit/src/backend/expression.rs @@ -46,7 +46,12 @@ impl Driver for LoadAt { fn write(&self, mng: &mut Manager, w: &mut dyn Write) -> Result<()> { write!(w, "load_{}(memory_at_0, ", self.what.as_name())?; self.pointer.write(mng, w)?; - write!(w, "+ {})", self.offset) + + if self.offset != 0 { + write!(w, "+ {}", self.offset)?; + } + + write!(w, ")") } } diff --git a/codegen-luajit/src/backend/statement.rs b/codegen-luajit/src/backend/statement.rs index 336b09b..8de1a9c 100644 --- a/codegen-luajit/src/backend/statement.rs +++ b/codegen-luajit/src/backend/statement.rs @@ -210,7 +210,12 @@ impl Driver for StoreAt { fn write(&self, mng: &mut Manager, w: &mut dyn Write) -> Result<()> { write!(w, "store_{}(memory_at_0, ", self.what.as_name())?; self.pointer.write(mng, w)?; - write!(w, "+ {}, ", self.offset)?; + + if self.offset != 0 { + write!(w, "+ {}", self.offset)?; + } + + write!(w, ", ")?; self.value.write(mng, w)?; write!(w, ")") } diff --git a/codegen-luau/src/backend/expression.rs b/codegen-luau/src/backend/expression.rs index 17477cd..24e721a 100644 --- a/codegen-luau/src/backend/expression.rs +++ b/codegen-luau/src/backend/expression.rs @@ -43,7 +43,12 @@ impl Driver for LoadAt { fn write(&self, mng: &mut Manager, w: &mut dyn Write) -> Result<()> { write!(w, "load_{}(memory_at_0, ", self.what.as_name())?; self.pointer.write(mng, w)?; - write!(w, "+ {})", self.offset) + + if self.offset != 0 { + write!(w, "+ {}", self.offset)?; + } + + write!(w, ")") } } diff --git a/codegen-luau/src/backend/statement.rs b/codegen-luau/src/backend/statement.rs index 8f4bd6c..5b4e042 100644 --- a/codegen-luau/src/backend/statement.rs +++ b/codegen-luau/src/backend/statement.rs @@ -221,7 +221,12 @@ impl Driver for StoreAt { fn write(&self, mng: &mut Manager, w: &mut dyn Write) -> Result<()> { write!(w, "store_{}(memory_at_0, ", self.what.as_name())?; self.pointer.write(mng, w)?; - write!(w, "+ {}, ", self.offset)?; + + if self.offset != 0 { + write!(w, "+ {}", self.offset)?; + } + + write!(w, ", ")?; self.value.write(mng, w)?; write!(w, ")") }