aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/compiler.rs11
-rw-r--r--src/lib.rs2
2 files changed, 6 insertions, 7 deletions
diff --git a/src/compiler.rs b/src/compiler.rs
index d12ee4b..c579c98 100644
--- a/src/compiler.rs
+++ b/src/compiler.rs
@@ -753,16 +753,16 @@ impl Compiler {
self.eat();
let else_jmp = add_op(self, block, Op::Illegal);
- block.patch(Op::JmpFalse(block.curr()), jump);
+ block.patch(jump, Op::JmpFalse(block.curr()));
match self.peek() {
Token::If => self.if_statment(block),
Token::LeftBrace => self.scope(block),
_ => error!(self, "Epected 'if' or '{' after else."),
}
- block.patch(Op::Jmp(block.curr()), else_jmp);
+ block.patch(else_jmp, Op::Jmp(block.curr()));
} else {
- block.patch(Op::JmpFalse(block.curr()), jump);
+ block.patch(jump, Op::JmpFalse(block.curr()));
}
}
@@ -799,12 +799,11 @@ impl Compiler {
});
add_op(self, block, Op::Jmp(cond));
- // patch_jmp!(Op::Jmp, cond_cont => block.curr());
- block.patch(Op::Jmp(block.curr()), cond_cont);
+ block.patch(cond_cont, Op::Jmp(block.curr()));
self.scope(block);
add_op(self, block, Op::Jmp(inc));
- block.patch(Op::JmpFalse(block.curr()), cond_out);
+ block.patch(cond_out, Op::JmpFalse(block.curr()));
});
}
diff --git a/src/lib.rs b/src/lib.rs
index cca1a58..b5d557f 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -692,7 +692,7 @@ impl Block {
self.ops.len()
}
- fn patch(&mut self, op: Op, pos: usize) {
+ fn patch(&mut self, pos: usize, op: Op) {
self.ops[pos] = op;
}
}