From 4af4a402820ba834915c2340bbb7342d72833fa1 Mon Sep 17 00:00:00 2001 From: Troels Henriksen Date: Fri, 23 Sep 2022 15:28:36 +0200 Subject: [PATCH] Use original program when constructing ProgramStatement. This means that ProgramStatements now refer to the file they actually occur in, like is the case for the original SourceLine. This is used for various diagnostics messages. Fixes #160. --- src/rars/assembler/Assembler.java | 2 +- src/rars/assembler/SourceLine.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/rars/assembler/Assembler.java b/src/rars/assembler/Assembler.java index e4dc2164..9b7e6c68 100644 --- a/src/rars/assembler/Assembler.java +++ b/src/rars/assembler/Assembler.java @@ -488,7 +488,7 @@ private ArrayList parseLine(TokenList tokenList, String source "Extended (pseudo) instruction or format not permitted. See Settings.")); } if (OperandFormat.tokenOperandMatch(tokens, inst, errors)) { - programStatement = new ProgramStatement(this.fileCurrentlyBeingAssembled, source, + programStatement = new ProgramStatement(token.getOriginalProgram(), source, tokenList, tokens, inst, textAddress.get(), sourceLineNumber); // instruction length is 4 for all basic instruction, varies for extended instruction // Modified to permit use of compact expansion if address fits diff --git a/src/rars/assembler/SourceLine.java b/src/rars/assembler/SourceLine.java index a0fdcf47..fa19d5c7 100644 --- a/src/rars/assembler/SourceLine.java +++ b/src/rars/assembler/SourceLine.java @@ -97,4 +97,4 @@ public int getLineNumber() { public RISCVprogram getRISCVprogram() { return program; } -} \ No newline at end of file +}