aboutsummaryrefslogtreecommitdiffstats
path: root/src/compiler.rs
diff options
context:
space:
mode:
authorEdvard Thörnros <edvard.thornros@gmail.com>2021-02-11 18:17:20 +0100
committerGitHub <noreply@github.com>2021-02-11 18:17:20 +0100
commit44bbfc1a07d3b970c106408f6de3e83168db8f50 (patch)
treef67305b25707d2b43f021b605dfeed5a850df376 /src/compiler.rs
parent646810e4eae76f228f034f1d8debd4239505e473 (diff)
parent9596dadf3ad99aefec2547f4f8294d772811d8be (diff)
downloadsylt-44bbfc1a07d3b970c106408f6de3e83168db8f50.tar.gz
Merge pull request #61 from FredTheDino/fix-ass-ops
fix ass ops
Diffstat (limited to 'src/compiler.rs')
-rw-r--r--src/compiler.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/compiler.rs b/src/compiler.rs
index 7f0d32d..a7fc30b 100644
--- a/src/compiler.rs
+++ b/src/compiler.rs
@@ -799,7 +799,11 @@ impl Compiler {
if let Some(var) = self.find_variable(&name) {
if let Some(op) = op {
- add_op(self, block, Op::Copy);
+ if var.upvalue {
+ add_op(self, block, Op::ReadUpvalue(var.slot));
+ } else {
+ add_op(self, block, Op::ReadLocal(var.slot));
+ }
self.expression(block);
add_op(self, block, op);
} else {