aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/interpreter/Environment.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-10-04 20:57:00 +0100
committerMichael Williamson <mike@zwobble.org>2015-10-04 20:57:00 +0100
commitcdf51cdb9b3f8cef5896315496f348d9f7220903 (patch)
tree6dc623930652236499980f46da75547797511045 /src/main/java/org/zwobble/couscous/interpreter/Environment.java
parent6e45abd92526df9fce5d263eefed7fcaa400a86d (diff)
Add separate notion of VariableDeclaration
Diffstat (limited to 'src/main/java/org/zwobble/couscous/interpreter/Environment.java')
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/Environment.java7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/main/java/org/zwobble/couscous/interpreter/Environment.java b/src/main/java/org/zwobble/couscous/interpreter/Environment.java
index 21cfe04..6838ba5 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/Environment.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/Environment.java
@@ -4,6 +4,7 @@ import java.util.Map;
import java.util.Optional;
import org.zwobble.couscous.Project;
+import org.zwobble.couscous.ast.VariableDeclaration;
import org.zwobble.couscous.ast.VariableNode;
import org.zwobble.couscous.values.ConcreteType;
import org.zwobble.couscous.values.InterpreterValue;
@@ -20,7 +21,7 @@ public class Environment {
private final Project project;
private final Map<Integer, VariableEntry> stackFrame;
- public Environment(Project project, Map<VariableNode, Optional<InterpreterValue>> stackFrame) {
+ public Environment(Project project, Map<VariableDeclaration, Optional<InterpreterValue>> stackFrame) {
this.project = project;
this.stackFrame = stackFrame.entrySet()
.stream()
@@ -42,7 +43,7 @@ public class Environment {
}
public void put(VariableNode variable, InterpreterValue value) {
- put(variable.getId(), value);
+ put(variable.getDeclaration().getId(), value);
}
public ConcreteType<?> findClass(String className) {
@@ -50,7 +51,7 @@ public class Environment {
return project.findClass(className);
}
- public Environment withStackFrame(Map<VariableNode, Optional<InterpreterValue>> stackFrame) {
+ public Environment withStackFrame(Map<VariableDeclaration, Optional<InterpreterValue>> stackFrame) {
return new Environment(project, stackFrame);
}