summaryrefslogtreecommitdiff
path: root/src/main/java/no/eliashaugsbakk/kompilator/parsing
diff options
context:
space:
mode:
authorElias Haugsbakk <[email protected]>2026-09-21 15:38:24 +0200
committerElias Haugsbakk <[email protected]>2026-09-21 15:38:24 +0200
commit025cee42eaf5f8b1c409e1a3a8fe3df8dac8d262 (patch)
tree98674234b46b1c7c745a1ec01d21ab10276d938f /src/main/java/no/eliashaugsbakk/kompilator/parsing
parentef85091be57ecef84e97799d56b3d9c4600ca1c2 (diff)
refactor exception handling to differentiate internal exceptions from compilation failerdev
Diffstat (limited to 'src/main/java/no/eliashaugsbakk/kompilator/parsing')
-rw-r--r--src/main/java/no/eliashaugsbakk/kompilator/parsing/Parser.java1
-rw-r--r--src/main/java/no/eliashaugsbakk/kompilator/parsing/ParserException.java16
2 files changed, 8 insertions, 9 deletions
diff --git a/src/main/java/no/eliashaugsbakk/kompilator/parsing/Parser.java b/src/main/java/no/eliashaugsbakk/kompilator/parsing/Parser.java
index 1f65b38..483cdda 100644
--- a/src/main/java/no/eliashaugsbakk/kompilator/parsing/Parser.java
+++ b/src/main/java/no/eliashaugsbakk/kompilator/parsing/Parser.java
@@ -24,7 +24,6 @@ import no.eliashaugsbakk.kompilator.parsing.node.statement.Assignment;
import no.eliashaugsbakk.kompilator.parsing.node.statement.ExpressionStatement;
import no.eliashaugsbakk.kompilator.parsing.node.statement.IdentifierDeclaration;
import no.eliashaugsbakk.kompilator.parsing.node.statement.Statement;
-import no.eliashaugsbakk.kompilator.tokenization.Position;
import no.eliashaugsbakk.kompilator.tokenization.Token;
/*
diff --git a/src/main/java/no/eliashaugsbakk/kompilator/parsing/ParserException.java b/src/main/java/no/eliashaugsbakk/kompilator/parsing/ParserException.java
index 562094a..edae1f8 100644
--- a/src/main/java/no/eliashaugsbakk/kompilator/parsing/ParserException.java
+++ b/src/main/java/no/eliashaugsbakk/kompilator/parsing/ParserException.java
@@ -1,15 +1,15 @@
package no.eliashaugsbakk.kompilator.parsing;
+import no.eliashaugsbakk.kompilator.CompilationException;
import no.eliashaugsbakk.kompilator.tokenization.Position;
-public class ParserException extends Exception {
+public class ParserException extends CompilationException {
public ParserException(Position position, String message) {
- String pos;
- if (position == null) {
- pos = "ukjent posisjon";
- } else {
- pos = position.line() + ":" + position.column();
- }
- super(pos + ", " + message);
+ super(format(position, message));
+ }
+
+ private static String format(Position position, String message) {
+ String pos = position == null ? "ukjent posisjon" : position.line() + ":" + position.column();
+ return pos + ", " + message;
}
}