diff options
| author | Gustav Sörnäs <gustav@sornas.net> | 2021-02-07 20:58:39 +0100 |
|---|---|---|
| committer | Gustav Sörnäs <gustav@sornas.net> | 2021-02-07 21:45:28 +0100 |
| commit | 4b94cf9c048233f90c2a93bff165f5ae9bf7d37a (patch) | |
| tree | 61ab629e6d03c54ab967162c86dd5bd2c67fa5df /src | |
| parent | 98df292fe4142fcc836013341579ed4437a2a464 (diff) | |
| download | sylt-break-continue.tar.gz | |
change order of patch argsbreak-continue
Diffstat (limited to 'src')
| -rw-r--r-- | src/compiler.rs | 11 | ||||
| -rw-r--r-- | src/lib.rs | 2 |
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())); }); } @@ -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; } } |
