aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/interpreter/Environment.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-10-01 21:49:18 +0100
committerMichael Williamson <mike@zwobble.org>2015-10-01 21:49:18 +0100
commit30d2215800deafbdcfb134f1356777ec0139bb7a (patch)
treee687fa289e269bd91ab19b027d6d8a96b9c96b4d /src/main/java/org/zwobble/couscous/interpreter/Environment.java
parent8187130b8a8aabbcf983e530413d6969141d6da2 (diff)
Use normal method call exec in interpreter entry point
Diffstat (limited to 'src/main/java/org/zwobble/couscous/interpreter/Environment.java')
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/Environment.java15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/main/java/org/zwobble/couscous/interpreter/Environment.java b/src/main/java/org/zwobble/couscous/interpreter/Environment.java
index ea4a5e4..76aa56b 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/Environment.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/Environment.java
@@ -3,14 +3,16 @@ package org.zwobble.couscous.interpreter;
import java.util.HashMap;
import java.util.Map;
+import org.zwobble.couscous.Project;
import org.zwobble.couscous.values.ConcreteType;
-import org.zwobble.couscous.values.IntegerValue;
import org.zwobble.couscous.values.InterpreterValue;
public class Environment {
- private Map<Integer, InterpreterValue> stackFrame;
+ private final Map<Integer, InterpreterValue> stackFrame;
+ private final Project project;
- public Environment(Map<Integer, InterpreterValue> stackFrame) {
+ public Environment(Project project, Map<Integer, InterpreterValue> stackFrame) {
+ this.project = project;
this.stackFrame = new HashMap<>(stackFrame);
}
@@ -23,10 +25,7 @@ public class Environment {
}
public ConcreteType<?> findClass(String className) {
- if (className == "java.lang.Integer") {
- return IntegerValue.TYPE;
- } else {
- throw new UnsupportedOperationException();
- }
+ // TODO: handle missing classes
+ return project.findClass(className);
}
}