diff options
Diffstat (limited to 'Shenanigans/src/org/archphantom/shenanigans/elements/expressions/Variable.java')
| -rw-r--r-- | Shenanigans/src/org/archphantom/shenanigans/elements/expressions/Variable.java | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/Shenanigans/src/org/archphantom/shenanigans/elements/expressions/Variable.java b/Shenanigans/src/org/archphantom/shenanigans/elements/expressions/Variable.java index c857c29..4251286 100644 --- a/Shenanigans/src/org/archphantom/shenanigans/elements/expressions/Variable.java +++ b/Shenanigans/src/org/archphantom/shenanigans/elements/expressions/Variable.java @@ -17,12 +17,17 @@ public class Variable extends Expression { String varname = identifier.substring(identifier.indexOf('.')+1); Namespace ns; if ((ns = program.getNamespace(nspacecall)) != null) { - return ns.getVar(varname, vars, program).evaluate(vars, program); + return ns.getVar(varname, vars, program); } else { - return null; + throw new RuntimeException("No such variable: "+identifier); } } else { - return vars.get(identifier).evaluate(vars, program); + Value val; + if ((val = vars.get(identifier)) != null) { + return val; + } else { + throw new RuntimeException("No such variable: "+identifier); + } } } |
