diff options
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 | 14 |
1 files changed, 10 insertions, 4 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 4fff53e..3aaa073 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java +++ b/src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java @@ -1,10 +1,7 @@ package org.zwobble.couscous.interpreter.values; import org.zwobble.couscous.interpreter.NoSuchField; -import org.zwobble.couscous.values.IntegerValue; -import org.zwobble.couscous.values.PrimitiveValue; -import org.zwobble.couscous.values.PrimitiveValues; -import org.zwobble.couscous.values.StringValue; +import org.zwobble.couscous.values.*; import java.util.Optional; @@ -29,6 +26,15 @@ public final class StringInterpreterValue implements InterpreterValue { .method("toLowerCase", list(), (environment, arguments) -> of(arguments.getReceiver().value.toLowerCase())) + .method("equals", list(ObjectValues.OBJECT), (environment, arguments) -> { + InterpreterValue right = arguments.get(0); + if (right instanceof StringInterpreterValue) { + return new BooleanInterpreterValue(arguments.getReceiver().value.equals(((StringInterpreterValue)right).value)); + } else { + return InterpreterValues.FALSE; + } + }) + .build(); private final String value; |
