aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.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/values/StringInterpreterValue.java
parentd3e9fb5ce2a13bdb0ee39e9625494e8c5d2a9383 (diff)
Split ConcreteType up into specialised type implementations
Diffstat (limited to 'src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java')
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java6
1 files changed, 4 insertions, 2 deletions
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;
}