diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-10-06 10:55:08 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-10-06 10:55:08 +0100 |
| commit | a7669795d1d58e4962f16272cb5e92783cf01c64 (patch) | |
| tree | 770b1810be9a3e15172be151359d85ff7240a4f4 /src/main/java/org/zwobble/couscous/interpreter/values | |
| parent | 92d6bef1c9df704a22a01a9e61653681e95ec073 (diff) | |
Create notion of ClassName
Diffstat (limited to 'src/main/java/org/zwobble/couscous/interpreter/values')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/interpreter/values/ConcreteType.java | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/main/java/org/zwobble/couscous/interpreter/values/ConcreteType.java b/src/main/java/org/zwobble/couscous/interpreter/values/ConcreteType.java index b2abd2b..04156d5 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/values/ConcreteType.java +++ b/src/main/java/org/zwobble/couscous/interpreter/values/ConcreteType.java @@ -5,6 +5,7 @@ import java.util.Map; import java.util.function.BiFunction; import java.util.stream.Collectors; +import org.zwobble.couscous.ast.ClassName; import org.zwobble.couscous.ast.ClassNode; import org.zwobble.couscous.interpreter.Arguments; import org.zwobble.couscous.interpreter.Environment; @@ -27,9 +28,9 @@ public class ConcreteType<T> { ImmutableMap.builder(); private final ImmutableMap.Builder<String, StaticMethodValue> staticMethods = ImmutableMap.builder(); - private final String name; + private final ClassName name; - public Builder(String name) { + public Builder(ClassName name) { this.name = name; } @@ -75,12 +76,12 @@ public class ConcreteType<T> { staticMethods); } - private String name; + private ClassName name; private Map<String, MethodValue<T>> methods; private Map<String, StaticMethodValue> staticMethods; public ConcreteType( - String name, + ClassName name, Map<String, MethodValue<T>> methods, Map<String, StaticMethodValue> staticMethods) { this.name = name; @@ -88,16 +89,16 @@ public class ConcreteType<T> { this.staticMethods = staticMethods; } - public String getName() { + public ClassName getName() { return name; } public static <T> ConcreteType.Builder<T> builder(TypeReference reference) { - return new Builder<>(reference.getName()); + return builder(reference.getName()); } public static <T> ConcreteType.Builder<T> builder(String name) { - return new Builder<>(name); + return new Builder<>(ClassName.of(name)); } @SuppressWarnings("unchecked") @@ -131,7 +132,7 @@ public class ConcreteType<T> { } public TypeReference getReference() { - return typeRef(name); + return typeRef(name.getQualifiedName()); } @Override |
