From 34c97fbce322b16821563a8bafe91a31b4084806 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 8 Jan 2016 21:29:07 +0000 Subject: Use static constructor for BooleanInterpreterValue --- .../interpreter/values/BooleanInterpreterValue.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'src/main/java/org/zwobble/couscous/interpreter/values/BooleanInterpreterValue.java') diff --git a/src/main/java/org/zwobble/couscous/interpreter/values/BooleanInterpreterValue.java b/src/main/java/org/zwobble/couscous/interpreter/values/BooleanInterpreterValue.java index 03a0289..c94b21d 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/values/BooleanInterpreterValue.java +++ b/src/main/java/org/zwobble/couscous/interpreter/values/BooleanInterpreterValue.java @@ -10,14 +10,23 @@ public final class BooleanInterpreterValue implements InterpreterValue { public static final BooleanInterpreterValue TRUE = new BooleanInterpreterValue(true); public static final BooleanInterpreterValue FALSE = new BooleanInterpreterValue(false); + public static BooleanInterpreterValue of(final boolean value) { + return value ? TRUE : FALSE; + } + private static final ConcreteType TYPE = ConcreteType.builder(BooleanInterpreterValue.class, "boolean") - .method("negate", Collections.emptyList(), (environment, arguments) -> - new BooleanInterpreterValue(!arguments.getReceiver().getValue())) + .method("negate", Collections.emptyList(), (environment, arguments) -> + of(!arguments.getReceiver().getValue())) .build(); + private final boolean value; - + + private BooleanInterpreterValue(final boolean value) { + this.value = value; + } + public boolean getValue() { return value; } @@ -42,10 +51,6 @@ public final class BooleanInterpreterValue implements InterpreterValue { throw new NoSuchField(fieldName); } - public BooleanInterpreterValue(final boolean value) { - this.value = value; - } - @java.lang.Override public boolean equals(final java.lang.Object o) { if (o == this) return true; -- cgit v1.2.3