aboutsummaryrefslogtreecommitdiffstats
path: root/main/core/parser/ast/AdditionNode.java
diff options
context:
space:
mode:
authorJan Tuomi <jans.tuomi@gmail.com>2016-06-22 22:33:33 +0300
committerJan Tuomi <jans.tuomi@gmail.com>2016-07-26 19:47:10 +0300
commitfa02123ab00be8b8fe212c5d34ed021f1b63de74 (patch)
treea16534cafb01cf7e7dc12713815a2bc7188834b1 /main/core/parser/ast/AdditionNode.java
parent695f7f3e2613d96a597e15a8c6142019098745c8 (diff)
Add double type and fix exception types
Diffstat (limited to 'main/core/parser/ast/AdditionNode.java')
-rw-r--r--main/core/parser/ast/AdditionNode.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/main/core/parser/ast/AdditionNode.java b/main/core/parser/ast/AdditionNode.java
index 0820370..00db230 100644
--- a/main/core/parser/ast/AdditionNode.java
+++ b/main/core/parser/ast/AdditionNode.java
@@ -2,6 +2,7 @@ package com.jantuomi.interpreter.main.core.parser.ast;
import com.jantuomi.interpreter.main.core.parser.datatype.DataContainer;
import com.jantuomi.interpreter.main.core.tokenizer.token.Token;
+import com.jantuomi.interpreter.main.exception.ExceptionManager;
import com.jantuomi.interpreter.main.exception.InterpreterException;
import java.util.Arrays;
@@ -22,7 +23,13 @@ public class AdditionNode extends BinaryOperatorNode {
DataContainer operand2 = rhs.evaluate();
DataContainer result = operand1.add(operand2);
- return result;
+ if (result != null) {
+ return result;
+ } else {
+ ExceptionManager.raise(InterpreterException.ExceptionType.TypeError, source.getLine(),
+ operand1.getType().toString(), operand2.getType().toString());
+ return null;
+ }
}
@Override