diff options
| author | GeonoTRON2000 <geono@thegt.org> | 2014-05-02 22:17:23 -0700 |
|---|---|---|
| committer | GeonoTRON2000 <geono@thegt.org> | 2014-05-02 22:17:23 -0700 |
| commit | 18ef4f2b18d9a5d305c0c6df9902b6599cdaab5c (patch) | |
| tree | bc0f26e66230f3da35fba60ee82a1c8b4ee8d00a /Shenanigans/src/org/archphantom/shenanigans/elements/expressions | |
| parent | 196117c0da164c226e111cc72a6cc169634f91c5 (diff) | |
| download | shenanigans-18ef4f2b18d9a5d305c0c6df9902b6599cdaab5c.tar.gz | |
Fixed glitches with namespace variable storage, added NamespaceAccess
tester.
Diffstat (limited to 'Shenanigans/src/org/archphantom/shenanigans/elements/expressions')
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+"."); } } |
