From 8afbad3aed3ec1a5b7fc4e68ecc25281ef258324 Mon Sep 17 00:00:00 2001 From: danielperano <51095634+danielperano@users.noreply.github.com> Date: Mon, 26 Feb 2024 17:14:07 -0800 Subject: [PATCH] Fix missing line numbering in if-else codegen --- .../main/java/chipmunk/compiler/codegen/ExpressionVisitor.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Lang/src/main/java/chipmunk/compiler/codegen/ExpressionVisitor.java b/Lang/src/main/java/chipmunk/compiler/codegen/ExpressionVisitor.java index 4fc31c6..ac4ea96 100644 --- a/Lang/src/main/java/chipmunk/compiler/codegen/ExpressionVisitor.java +++ b/Lang/src/main/java/chipmunk/compiler/codegen/ExpressionVisitor.java @@ -318,13 +318,16 @@ else if(node.is(NodeType.OPERATOR)){ var elseLabel = assembler.nextLabelName(); var endLabel = assembler.nextLabelName(); + assembler.onLine(test.getLineNumber()); test.visit(this); assembler._if(elseLabel); + assembler.onLine(ifBranch.getLineNumber()); ifBranch.visit(this); assembler._goto(endLabel); assembler.setLabelTarget(elseLabel); + assembler.onLine(elseBranch.getLineNumber()); elseBranch.visit(this); assembler.setLabelTarget(endLabel); }