package org.fugazi.ql.ast.expression.comparison;
import org.fugazi.ql.ast.expression.Expression;
import org.fugazi.ql.ast.expression.IExpressionVisitor;
import org.fugazi.ql.ast.form.form_data.QLFormDataStorage;
import org.fugazi.ql.ast.type.BoolType;
import org.fugazi.ql.ast.type.IntType;
import org.fugazi.ql.ast.type.Type;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Less extends Comparison {
public Less(Expression _left, Expression _right) {
super(_left, _right);
}
@Override
public String toString() {
return this.getLeft().toString() + " < " + this.getRight().toString();
}
@Override
public Type getReturnedType(QLFormDataStorage _formData) {
return new BoolType();
}
public List<Type> getSupportedTypes() {
List<Type> supportedTypes = new ArrayList<>(
Arrays.asList(new IntType())
);
return supportedTypes;
}
public <T> T accept(IExpressionVisitor<T> visitor) {
return visitor.visitLesser(this);
}
}