summaryrefslogtreecommitdiff
path: root/src/main/java/no/eliashaugsbakk/kompilator/semanticAnalysis
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/no/eliashaugsbakk/kompilator/semanticAnalysis')
-rw-r--r--src/main/java/no/eliashaugsbakk/kompilator/semanticAnalysis/Analyzer.java2
-rw-r--r--src/main/java/no/eliashaugsbakk/kompilator/semanticAnalysis/SemanticException.java16
2 files changed, 9 insertions, 9 deletions
diff --git a/src/main/java/no/eliashaugsbakk/kompilator/semanticAnalysis/Analyzer.java b/src/main/java/no/eliashaugsbakk/kompilator/semanticAnalysis/Analyzer.java
index 2b4dbb9..7b2adf0 100644
--- a/src/main/java/no/eliashaugsbakk/kompilator/semanticAnalysis/Analyzer.java
+++ b/src/main/java/no/eliashaugsbakk/kompilator/semanticAnalysis/Analyzer.java
@@ -153,7 +153,7 @@ public class Analyzer {
*/
private Type typeOf(Expression expr) throws SemanticException {
switch (expr) {
- case null -> throw new SemanticException(expr.position, "Uttrykket kan ikke være null");
+ case null -> throw new SemanticException(null, "Uttrykket kan ikke være null");
case StringLiteral _ -> {
return new Type("streng", false);
}
diff --git a/src/main/java/no/eliashaugsbakk/kompilator/semanticAnalysis/SemanticException.java b/src/main/java/no/eliashaugsbakk/kompilator/semanticAnalysis/SemanticException.java
index 7783fcc..f56522d 100644
--- a/src/main/java/no/eliashaugsbakk/kompilator/semanticAnalysis/SemanticException.java
+++ b/src/main/java/no/eliashaugsbakk/kompilator/semanticAnalysis/SemanticException.java
@@ -1,15 +1,15 @@
package no.eliashaugsbakk.kompilator.semanticAnalysis;
+import no.eliashaugsbakk.kompilator.CompilationException;
import no.eliashaugsbakk.kompilator.tokenization.Position;
-public class SemanticException extends Exception {
+public class SemanticException extends CompilationException {
public SemanticException(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;
}
}