aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java
diff options
context:
space:
mode:
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.java14
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;