From 368f2dd010defaf5f4b6deb70f45285cee8f244d Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 25 Oct 2015 19:18:09 +0000 Subject: Remove lombok --- .../interpreter/values/StringInterpreterValue.java | 72 ++++++++++++++-------- 1 file changed, 45 insertions(+), 27 deletions(-) (limited to 'src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java') 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 15bde43..42ee713 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java +++ b/src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java @@ -1,53 +1,71 @@ package org.zwobble.couscous.interpreter.values; import java.util.Optional; - 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 static java.util.Arrays.asList; -import lombok.Value; -import lombok.val; - -@Value -public class StringInterpreterValue implements InterpreterValue { - public static final ConcreteType TYPE = ConcreteType.builder(StringInterpreterValue.class, StringValue.REF) - .method("length", asList(), - (environment, arguments) -> - new IntegerInterpreterValue(arguments.getReceiver().value.length())) - - .method("substring", asList(IntegerValue.REF, IntegerValue.REF), - (environment, arguments) -> { - val startIndex = (IntegerInterpreterValue)arguments.get(0); - val endIndex = (IntegerInterpreterValue)arguments.get(1); - return new StringInterpreterValue(arguments.getReceiver().value.substring(startIndex.getValue(), endIndex.getValue())); - }) - - .build(); - - String value; - +public final class StringInterpreterValue implements InterpreterValue { + public static final ConcreteType TYPE = ConcreteType.builder(StringInterpreterValue.class, StringValue.REF).method("length", asList(), (environment, arguments) -> new IntegerInterpreterValue(arguments.getReceiver().value.length())).method("substring", asList(IntegerValue.REF, IntegerValue.REF), (environment, arguments) -> { + IntegerInterpreterValue startIndex = (IntegerInterpreterValue)arguments.get(0); + IntegerInterpreterValue endIndex = (IntegerInterpreterValue)arguments.get(1); + return new StringInterpreterValue(arguments.getReceiver().value.substring(startIndex.getValue(), endIndex.getValue())); + }).build(); + private final String value; + @Override public ConcreteType getType() { return TYPE; } - + @Override public Optional toPrimitiveValue() { return Optional.of(PrimitiveValues.value(value)); } - + @Override public InterpreterValue getField(String fieldName) { throw new NoSuchField(fieldName); } - + @Override public void setField(String fieldName, InterpreterValue value) { throw new NoSuchField(fieldName); } -} + + public StringInterpreterValue(final String value) { + this.value = value; + } + + public String getValue() { + return this.value; + } + + @java.lang.Override + public boolean equals(final java.lang.Object o) { + if (o == this) return true; + if (!(o instanceof StringInterpreterValue)) return false; + final StringInterpreterValue other = (StringInterpreterValue)o; + final java.lang.Object this$value = this.getValue(); + final java.lang.Object other$value = other.getValue(); + if (this$value == null ? other$value != null : !this$value.equals(other$value)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + final java.lang.Object $value = this.getValue(); + result = result * PRIME + ($value == null ? 43 : $value.hashCode()); + return result; + } + + @java.lang.Override + public java.lang.String toString() { + return "StringInterpreterValue(value=" + this.getValue() + ")"; + } +} \ No newline at end of file -- cgit v1.2.3