aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/com/jantuomi/borker/exception/InterpreterException.java
diff options
context:
space:
mode:
authorJan Tuomi <jans.tuomi@gmail.com>2016-06-28 21:39:10 +0300
committerJan Tuomi <jans.tuomi@gmail.com>2016-07-26 19:47:13 +0300
commit9c189c2d1ef35184ec9a9d08bdeeb52936902867 (patch)
tree48f1edea6c6c0c2a55f161c35ee8556063b10273 /src/main/com/jantuomi/borker/exception/InterpreterException.java
parent8f84c00978dc05007873a9fe1de6a18511dc3cf8 (diff)
Restructure classes
Diffstat (limited to 'src/main/com/jantuomi/borker/exception/InterpreterException.java')
-rw-r--r--src/main/com/jantuomi/borker/exception/InterpreterException.java53
1 files changed, 0 insertions, 53 deletions
diff --git a/src/main/com/jantuomi/borker/exception/InterpreterException.java b/src/main/com/jantuomi/borker/exception/InterpreterException.java
deleted file mode 100644
index 153da0a..0000000
--- a/src/main/com/jantuomi/borker/exception/InterpreterException.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package com.jantuomi.borker.exception;
-
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Created by jan on 12.6.2016.
- */
-public class InterpreterException extends Exception {
-
- public enum ExceptionType {
- IllegalTokenError,
- SyntaxError,
- TypeError,
- ArgumentError,
- UndeclaredSymbolError
- }
-
- public static Map<ExceptionType, String> errorTexts = new HashMap<>();
-
- static {
- errorTexts.put(ExceptionType.IllegalTokenError, "Unknown or illegal token %s found.");
- errorTexts.put(ExceptionType.SyntaxError, "Unexpected %s.");
- errorTexts.put(ExceptionType.TypeError, "Incompatible types %s and %s.");
- errorTexts.put(ExceptionType.ArgumentError, "The parameter list given to function %s is either of wrong length or the parameters are of wrong type. Actual: %s");
- errorTexts.put(ExceptionType.UndeclaredSymbolError, "No symbol %s defined, parameters: [%s].");
- }
-
- private ExceptionType exceptionType;
- private String completeMessage;
-
- public InterpreterException(ExceptionType exceptionType, int line, String... args) {
- super(exceptionType.toString(), null, false, false);
- this.exceptionType = exceptionType;
- this.completeMessage = formatMessage(exceptionType.toString() + ": " + what(exceptionType), line, args);
- }
-
- private static String formatMessage(String message, int line, String... args) {
-
- message = String.format(message, args);
- return String.format("\nline %d: ", line) + message;
- }
-
- public static String what(ExceptionType type) {
- return errorTexts.get(type);
- }
-
- @Override
- public void printStackTrace() {
- System.err.println(completeMessage);
- }
-}