protected BinaryLogicalOp(Expr left, Expr right)
: base(left, right) {
if (!(left.Type is LongType || left.Type is ULongType
|| left.Type is FloatType || left.Type is DoubleType)) {
throw new InvalidOperationException("Invalid operand type.");
}
if (!(right.Type is LongType || right.Type is ULongType
|| right.Type is FloatType || right.Type is DoubleType)) {
throw new InvalidOperationException("Invalid operand type.");
}
}