diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-01-08 21:11:42 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-01-08 21:11:42 +0000 |
| commit | 785907ae2284350e0091e903825f2f717a9c29cc (patch) | |
| tree | eb051f710fa25311b22cfb2187fa6e80c1cf3953 /src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java | |
| parent | 7638649357e9cc2c339e743dc84b5249c6cdc0de (diff) | |
Replace constructor with StringInterpreterValue with static constructor
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 | 18 |
1 files changed, 11 insertions, 7 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 b19d849..e8fd83b 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java +++ b/src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java @@ -18,18 +18,26 @@ public final class StringInterpreterValue implements InterpreterValue { .method("substring", list(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())); + return of(arguments.getReceiver().value.substring(startIndex.getValue(), endIndex.getValue())); }) .method("add", list(StringValue.REF), (environment, arguments) -> { StringInterpreterValue right = (StringInterpreterValue)arguments.get(0); - return new StringInterpreterValue(arguments.getReceiver().value + right.value); + return of(arguments.getReceiver().value + right.value); }) .build(); private final String value; - + + private StringInterpreterValue(final String value) { + this.value = value; + } + + public static StringInterpreterValue of(final String value) { + return new StringInterpreterValue(value); + } + @Override public ConcreteType getType() { return TYPE; @@ -50,10 +58,6 @@ public final class StringInterpreterValue implements InterpreterValue { throw new NoSuchField(fieldName); } - public StringInterpreterValue(final String value) { - this.value = value; - } - public String getValue() { return this.value; } |
