aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/interpreter/values/StringValue.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-10-05 12:55:11 +0100
committerMichael Williamson <mike@zwobble.org>2015-10-05 12:55:11 +0100
commitcc1543421aafac336be05ac0b75cecc2da4b6818 (patch)
tree584570ddd0af5ec866173354aa442ce215de0fab /src/main/java/org/zwobble/couscous/interpreter/values/StringValue.java
parent2f9374c7f32a761413da4c5484bec88a76c855d2 (diff)
Split interpreter values from primitives
Diffstat (limited to 'src/main/java/org/zwobble/couscous/interpreter/values/StringValue.java')
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/values/StringValue.java34
1 files changed, 0 insertions, 34 deletions
diff --git a/src/main/java/org/zwobble/couscous/interpreter/values/StringValue.java b/src/main/java/org/zwobble/couscous/interpreter/values/StringValue.java
deleted file mode 100644
index 43a4bde..0000000
--- a/src/main/java/org/zwobble/couscous/interpreter/values/StringValue.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.zwobble.couscous.interpreter.values;
-
-import org.zwobble.couscous.values.TypeReference;
-
-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 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.REF, IntegerValue.REF),
- (receiver, arguments) -> {
- val startIndex = (IntegerValue)arguments.get(0);
- val endIndex = (IntegerValue)arguments.get(1);
- return new StringValue(receiver.value.substring(startIndex.getValue(), endIndex.getValue()));
- })
-
- .build();
-
- String value;
-
- @Override
- public ConcreteType<?> getType() {
- return TYPE;
- }
-}