aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/values/StringValue.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-10-02 19:22:31 +0100
committerMichael Williamson <mike@zwobble.org>2015-10-02 19:22:31 +0100
commit003b55c6758f4202bff786b8324d1ded6d141a88 (patch)
tree564169cbaaa99cfcdd33c85c943fea8995797a22 /src/main/java/org/zwobble/couscous/values/StringValue.java
parent90dae189f638148a7b72add782023088cf22e847 (diff)
Use type references instead of deferred types
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);