diff options
| author | jantuomi <jans.tuomi@gmail.com> | 2016-08-03 09:52:01 +0300 |
|---|---|---|
| committer | jantuomi <jans.tuomi@gmail.com> | 2016-08-03 09:54:47 +0300 |
| commit | 5988c9e3b4e8014da4624959723bb8163a296b3b (patch) | |
| tree | b7dadf859d3024aed347b005fb78f6666443fddb /src | |
| parent | 422fc58603665d179046b133c296d64b76ca3464 (diff) | |
Insert line information to errors thrown during function calls
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/com/jantuomi/tunkki/core/parser/ast/CallNode.java | 9 | ||||
| -rw-r--r-- | src/main/com/jantuomi/tunkki/core/runtime/Function.java | 1 |
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() { |
