in src/main/java/net/hydromatic/linq4j/expressions/Expressions.java [1386:1405]
public static BinaryExpression makeBinary(ExpressionType binaryType,
Expression left, Expression right) {
final Type type;
switch (binaryType) {
case Equal:
case NotEqual:
case LessThan:
case LessThanOrEqual:
case GreaterThan:
case GreaterThanOrEqual:
case AndAlso:
case OrElse:
type = Boolean.TYPE;
break;
default:
type = larger(left.type, right.type);
break;
}
return new BinaryExpression(binaryType, type, left, right);
}