package me.tomassetti.turin.parser.ast.statements;
import com.google.common.collect.ImmutableList;
import me.tomassetti.turin.parser.ast.Node;
import me.tomassetti.turin.parser.ast.expressions.Expression;
public class ExpressionStatement extends Statement {
private Expression expression;
public ExpressionStatement(Expression expression) {
this.expression = expression;
this.expression.setParent(this);
}
@Override
public String toString() {
return "ExpressionStatement{" +
"expression=" + expression +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
ExpressionStatement that = (ExpressionStatement) o;
if (!expression.equals(that.expression)) return false;
return true;
}
@Override
public int hashCode() {
return expression.hashCode();
}
@Override
public Iterable<Node> getChildren() {
return ImmutableList.of(expression);
}
public Expression getExpression() {
return expression;
}
}