aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/values/StringValue.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/zwobble/couscous/values/StringValue.java')
-rw-r--r--src/main/java/org/zwobble/couscous/values/StringValue.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/main/java/org/zwobble/couscous/values/StringValue.java b/src/main/java/org/zwobble/couscous/values/StringValue.java
index e8a7c0e..0e24ac6 100644
--- a/src/main/java/org/zwobble/couscous/values/StringValue.java
+++ b/src/main/java/org/zwobble/couscous/values/StringValue.java
@@ -1,17 +1,20 @@
package org.zwobble.couscous.values;
import static java.util.Arrays.asList;
+import static org.zwobble.couscous.values.TypeReference.typeRef;
import lombok.Value;
import lombok.val;
@Value
public class StringValue implements InterpreterValue {
- public static final ConcreteType<?> TYPE = ConcreteType.<StringValue>builder("String")
- .method("length", () -> asList(),
+ public static final TypeReference REF = typeRef("java.lang.String");
+
+ public static final ConcreteType<?> TYPE = ConcreteType.<StringValue>builder(REF)
+ .method("length", asList(),
(receiver, arguments) -> new IntegerValue(receiver.value.length()))
- .method("substring", () -> asList(IntegerValue.TYPE, IntegerValue.TYPE),
+ .method("substring", asList(IntegerValue.REF, IntegerValue.REF),
(receiver, arguments) -> {
val startIndex = (IntegerValue)arguments.get(0);
val endIndex = (IntegerValue)arguments.get(1);