From b7e0010d6e8e5413fcd66eae158111db509eb27b Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 28 Feb 2016 19:18:28 +0000 Subject: Split ConcreteType up into specialised type implementations --- .../zwobble/couscous/interpreter/values/StringInterpreterValue.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java') diff --git a/src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java b/src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java index ae7d141..2fe72d7 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java +++ b/src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java @@ -2,6 +2,8 @@ package org.zwobble.couscous.interpreter.values; import org.zwobble.couscous.ast.Operator; import org.zwobble.couscous.interpreter.errors.NoSuchField; +import org.zwobble.couscous.interpreter.types.InterpreterType; +import org.zwobble.couscous.interpreter.types.IntrinsicInterpreterType; import org.zwobble.couscous.values.*; import java.util.Optional; @@ -9,7 +11,7 @@ import java.util.Optional; import static org.zwobble.couscous.util.ExtraLists.list; public final class StringInterpreterValue implements InterpreterValue { - public static final ConcreteType TYPE = ConcreteType.builder(StringInterpreterValue.class, StringValue.REF) + public static final InterpreterType TYPE = IntrinsicInterpreterType.builder(StringInterpreterValue.class, StringValue.REF) .method("length", list(), IntegerValue.REF, (environment, arguments) -> new IntegerInterpreterValue(arguments.getReceiver().value.length())) @@ -49,7 +51,7 @@ public final class StringInterpreterValue implements InterpreterValue { } @Override - public ConcreteType getType() { + public InterpreterType getType() { return TYPE; } -- cgit v1.2.3