summaryrefslogtreecommitdiff
path: root/Shenanigans/src/org/archphantom/shenanigans/elements/expressions/statements
diff options
context:
space:
mode:
Diffstat (limited to 'Shenanigans/src/org/archphantom/shenanigans/elements/expressions/statements')
-rw-r--r--Shenanigans/src/org/archphantom/shenanigans/elements/expressions/statements/Assignment.java3
-rw-r--r--Shenanigans/src/org/archphantom/shenanigans/elements/expressions/statements/FunctionCall.java4
2 files changed, 3 insertions, 4 deletions
diff --git a/Shenanigans/src/org/archphantom/shenanigans/elements/expressions/statements/Assignment.java b/Shenanigans/src/org/archphantom/shenanigans/elements/expressions/statements/Assignment.java
index 34b7812..3536750 100644
--- a/Shenanigans/src/org/archphantom/shenanigans/elements/expressions/statements/Assignment.java
+++ b/Shenanigans/src/org/archphantom/shenanigans/elements/expressions/statements/Assignment.java
@@ -20,7 +20,8 @@ public class Assignment extends Expression {
String varname = identifier.substring(identifier.indexOf('.')+1);
Namespace ns;
if ((ns = program.getNamespace(nspacecall)) != null) {
- return ns.setVar(varname, value, vars, program);
+ Value val = value.evaluate(vars, program);
+ return ns.setVar(varname, val, vars, program);
} else {
return null;
}
diff --git a/Shenanigans/src/org/archphantom/shenanigans/elements/expressions/statements/FunctionCall.java b/Shenanigans/src/org/archphantom/shenanigans/elements/expressions/statements/FunctionCall.java
index e3ba9f8..2fa2d5a 100644
--- a/Shenanigans/src/org/archphantom/shenanigans/elements/expressions/statements/FunctionCall.java
+++ b/Shenanigans/src/org/archphantom/shenanigans/elements/expressions/statements/FunctionCall.java
@@ -1,6 +1,5 @@
package org.archphantom.shenanigans.elements.expressions.statements;
import java.util.ArrayList;
-
import org.archphantom.shenanigans.elements.Program;
import org.archphantom.shenanigans.elements.expressions.Expression;
import org.archphantom.shenanigans.elements.expressions.Variable;
@@ -28,10 +27,9 @@ public class FunctionCall extends Expression {
localVars.set(argNames.get(i), arguments.get(i).evaluate(vars, program));
}
Value retval = function.getValue(localVars, program);
- System.out.println("Function returned a "+retval.getClass().getSimpleName()+": "+retval.hashCode());
return retval;
} else {
- throw new RuntimeException("No such function exists.");
+ throw new RuntimeException("No such function exists: "+identifier+".");
}
}