diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-02-06 17:38:26 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-02-06 17:38:26 +0000 |
| commit | 2e7d1bb669e3ee26efe060ca5ea92ef73cebff83 (patch) | |
| tree | 204c038ed8dff909f3bed79145144749b266d107 /src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java | |
| parent | a063cdcec0ecfe449a22f0134dc559a40583fc09 (diff) | |
Add return type to MethodSignature
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.java | 10 |
1 files changed, 5 insertions, 5 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 55a17cc..ae7d141 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java +++ b/src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java @@ -10,24 +10,24 @@ 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) - .method("length", list(), (environment, arguments) -> + .method("length", list(), IntegerValue.REF, (environment, arguments) -> new IntegerInterpreterValue(arguments.getReceiver().value.length())) - .method("substring", list(IntegerValue.REF, IntegerValue.REF), (environment, arguments) -> { + .method("substring", list(IntegerValue.REF, IntegerValue.REF), StringValue.REF, (environment, arguments) -> { IntegerInterpreterValue startIndex = (IntegerInterpreterValue)arguments.get(0); IntegerInterpreterValue endIndex = (IntegerInterpreterValue)arguments.get(1); return of(arguments.getReceiver().value.substring(startIndex.getValue(), endIndex.getValue())); }) - .method(Operator.ADD.getSymbol(), list(StringValue.REF), (environment, arguments) -> { + .method(Operator.ADD.getSymbol(), list(StringValue.REF), StringValue.REF, (environment, arguments) -> { StringInterpreterValue right = (StringInterpreterValue)arguments.get(0); return of(arguments.getReceiver().value + right.value); }) - .method("toLowerCase", list(), (environment, arguments) -> + .method("toLowerCase", list(), StringValue.REF, (environment, arguments) -> of(arguments.getReceiver().value.toLowerCase())) - .method("equals", list(ObjectValues.OBJECT), (environment, arguments) -> { + .method("equals", list(ObjectValues.OBJECT), BooleanValue.REF, (environment, arguments) -> { InterpreterValue right = arguments.get(0); if (right instanceof StringInterpreterValue) { return BooleanInterpreterValue.of(arguments.getReceiver().value.equals(((StringInterpreterValue)right).value)); |
