aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/interpreter/MapBackedProject.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-02-28 19:18:28 +0000
committerMichael Williamson <mike@zwobble.org>2016-02-29 08:04:42 +0000
commitb7e0010d6e8e5413fcd66eae158111db509eb27b (patch)
tree35fafacd7819788b185f803a0c3797a2f54a1dca /src/main/java/org/zwobble/couscous/interpreter/MapBackedProject.java
parentd3e9fb5ce2a13bdb0ee39e9625494e8c5d2a9383 (diff)
Split ConcreteType up into specialised type implementations
Diffstat (limited to 'src/main/java/org/zwobble/couscous/interpreter/MapBackedProject.java')
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/MapBackedProject.java23
1 files changed, 12 insertions, 11 deletions
diff --git a/src/main/java/org/zwobble/couscous/interpreter/MapBackedProject.java b/src/main/java/org/zwobble/couscous/interpreter/MapBackedProject.java
index 7f16b8f..eca6ba9 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/MapBackedProject.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/MapBackedProject.java
@@ -1,30 +1,30 @@
package org.zwobble.couscous.interpreter;
-import java.util.Map;
-import org.zwobble.couscous.ast.TypeName;
-import org.zwobble.couscous.interpreter.values.ConcreteType;
import com.google.common.collect.ImmutableMap;
+import org.zwobble.couscous.ast.TypeName;
+import org.zwobble.couscous.interpreter.types.InterpreterType;
+
+import java.util.Map;
public class MapBackedProject implements Project {
-
public static Builder builder() {
return new Builder();
}
public static class Builder {
- private final ImmutableMap.Builder<TypeName, ConcreteType> classes;
+ private final ImmutableMap.Builder<TypeName, InterpreterType> classes;
private Builder() {
classes = ImmutableMap.builder();
}
- public Builder addClass(ConcreteType clazz) {
+ public Builder addClass(InterpreterType clazz) {
classes.put(clazz.getName(), clazz);
return this;
}
- public Builder addClasses(Iterable<ConcreteType> classes) {
- for (ConcreteType clazz : classes) {
+ public Builder addClasses(Iterable<InterpreterType> classes) {
+ for (InterpreterType clazz : classes) {
addClass(clazz);
}
return this;
@@ -34,14 +34,15 @@ public class MapBackedProject implements Project {
return new MapBackedProject(classes.build());
}
}
- private Map<TypeName, ConcreteType> classes;
+
+ private Map<TypeName, InterpreterType> classes;
- public MapBackedProject(Map<TypeName, ConcreteType> classes) {
+ public MapBackedProject(Map<TypeName, InterpreterType> classes) {
this.classes = classes;
}
@Override
- public ConcreteType findClass(TypeName name) {
+ public InterpreterType findClass(TypeName name) {
if (classes.containsKey(name)) {
return classes.get(name);
} else {