
javarepl.Evaluation Maven / Gradle / Ivy
package javarepl;
import com.googlecode.totallylazy.Option;
import com.googlecode.totallylazy.functions.Function1;
import javarepl.expressions.Expression;
public class Evaluation {
private final Expression expression;
private final Option result;
private Evaluation(Expression expression, Option result) {
this.expression = expression;
this.result = result;
}
public Expression expression() {
return expression;
}
public Option result() {
return result;
}
public static Evaluation evaluation(Expression expression, Option result) {
return new Evaluation(expression, result);
}
@Override
public String toString() {
return expression + "=>" + result;
}
@Override
public int hashCode() {
return (expression != null ? expression.hashCode() : 0) +
(result != null ? result.hashCode() : 0);
}
@Override
public boolean equals(Object other) {
return other instanceof Evaluation &&
(expression != null && expression.equals(((Evaluation) other).expression)) &&
(result != null && result.equals(((Evaluation) other).result));
}
public static final class functions {
public static Function1> result() {
return value -> value.result;
}
public static Function1 expression() {
return value -> value.expression;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy