aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/com
diff options
context:
space:
mode:
authorjantuomi <jans.tuomi@gmail.com>2016-08-03 09:52:01 +0300
committerjantuomi <jans.tuomi@gmail.com>2016-08-03 09:54:47 +0300
commit5988c9e3b4e8014da4624959723bb8163a296b3b (patch)
treeb7dadf859d3024aed347b005fb78f6666443fddb /src/main/com
parent422fc58603665d179046b133c296d64b76ca3464 (diff)
Insert line information to errors thrown during function calls
Diffstat (limited to 'src/main/com')
-rw-r--r--src/main/com/jantuomi/tunkki/core/parser/ast/CallNode.java9
-rw-r--r--src/main/com/jantuomi/tunkki/core/runtime/Function.java1
2 files changed, 8 insertions, 2 deletions
diff --git a/src/main/com/jantuomi/tunkki/core/parser/ast/CallNode.java b/src/main/com/jantuomi/tunkki/core/parser/ast/CallNode.java
index be3f0be..ed534a2 100644
--- a/src/main/com/jantuomi/tunkki/core/parser/ast/CallNode.java
+++ b/src/main/com/jantuomi/tunkki/core/parser/ast/CallNode.java
@@ -17,7 +17,14 @@ public class CallNode extends SymbolNode {
public Datatype evaluate() throws TunkkiError {
Datatype d = super.evaluate();
if (d.getType() == Datatype.Type.Callable) {
- return ((CallableDatatype) d).call(evaluateParameters());
+ try {
+ Datatype r = ((CallableDatatype) d).call(evaluateParameters());
+ return r;
+ }
+ catch (TunkkiError ex) {
+ ex.setLine(getLine());
+ throw ex;
+ }
} else {
return d;
}
diff --git a/src/main/com/jantuomi/tunkki/core/runtime/Function.java b/src/main/com/jantuomi/tunkki/core/runtime/Function.java
index b104dd0..4b08a80 100644
--- a/src/main/com/jantuomi/tunkki/core/runtime/Function.java
+++ b/src/main/com/jantuomi/tunkki/core/runtime/Function.java
@@ -12,7 +12,6 @@ import java.util.List;
public class Function {
private List<String> argumentNames;
-
private BlockBodyNode body;
public String getName() {