From 20dc1e124d606cf4298d5112b6d3c4f6c74e9b68 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 9 Mar 2016 18:11:17 +0000 Subject: Introduce Type interface --- .../org/zwobble/couscous/interpreter/MapBackedProject.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src/main/java/org/zwobble/couscous/interpreter/MapBackedProject.java') diff --git a/src/main/java/org/zwobble/couscous/interpreter/MapBackedProject.java b/src/main/java/org/zwobble/couscous/interpreter/MapBackedProject.java index eca6ba9..ebc31ae 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/MapBackedProject.java +++ b/src/main/java/org/zwobble/couscous/interpreter/MapBackedProject.java @@ -1,25 +1,27 @@ package org.zwobble.couscous.interpreter; import com.google.common.collect.ImmutableMap; -import org.zwobble.couscous.ast.TypeName; +import org.zwobble.couscous.ast.types.ScalarType; import org.zwobble.couscous.interpreter.types.InterpreterType; import java.util.Map; +import static org.zwobble.couscous.ast.types.Types.erasure; + public class MapBackedProject implements Project { public static Builder builder() { return new Builder(); } public static class Builder { - private final ImmutableMap.Builder classes; + private final ImmutableMap.Builder classes; private Builder() { classes = ImmutableMap.builder(); } public Builder addClass(InterpreterType clazz) { - classes.put(clazz.getName(), clazz); + classes.put(erasure(clazz.getType()), clazz); return this; } @@ -35,14 +37,14 @@ public class MapBackedProject implements Project { } } - private Map classes; + private Map classes; - public MapBackedProject(Map classes) { + public MapBackedProject(Map classes) { this.classes = classes; } @Override - public InterpreterType findClass(TypeName name) { + public InterpreterType findClass(ScalarType name) { if (classes.containsKey(name)) { return classes.get(name); } else { -- cgit v1.2.3