diff options
Diffstat (limited to 'src/main/java/org/zwobble/couscous/MapBackedProject.java')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/MapBackedProject.java | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/src/main/java/org/zwobble/couscous/MapBackedProject.java b/src/main/java/org/zwobble/couscous/MapBackedProject.java deleted file mode 100644 index 8547677..0000000 --- a/src/main/java/org/zwobble/couscous/MapBackedProject.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.zwobble.couscous; - -import java.util.Map; - -import org.zwobble.couscous.ast.TypeName; -import org.zwobble.couscous.interpreter.values.ConcreteType; - -import com.google.common.collect.ImmutableMap; - -import lombok.val; - -public class MapBackedProject implements Project { - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private final ImmutableMap.Builder<TypeName, ConcreteType> classes; - - private Builder() { - classes = ImmutableMap.builder(); - } - - public Builder addClass(ConcreteType clazz) { - classes.put(clazz.getName(), clazz); - return this; - } - - public Builder addClasses(Iterable<ConcreteType> classes) { - for (val clazz : classes) { - addClass(clazz); - } - return this; - } - - public Project build() { - return new MapBackedProject(classes.build()); - } - } - - private Map<TypeName, ConcreteType> classes; - - public MapBackedProject(Map<TypeName, ConcreteType> classes) { - this.classes = classes; - } - - @Override - public ConcreteType findClass(TypeName name) { - if (classes.containsKey(name)) { - return classes.get(name); - } else { - throw new IllegalArgumentException("Cannot find class: " + name); - } - - } -} |
