return leftRedirect.isArray() && !rightRedirect.isArray()?leftRedirect:rightRedirect;
} else if (isBoolIntrinsicOp(op)) {
return boolean_TYPE;
} else if (isArrayOp(op)) {
ClassNode arrayType = getType(expr.getLeftExpression(), classNode);
<BUG>return arrayType.getComponentType();
} else if (op==FIND_REGEX) {</BUG>
return Matcher_TYPE;
}
else if (isNumberType(leftRedirect) && isNumberType(rightRedirect)) {

return leftRedirect.isArray() && !rightRedirect.isArray()?leftRedirect:rightRedirect;
} else if (isBoolIntrinsicOp(op)) {
return boolean_TYPE;
} else if (isArrayOp(op)) {
ClassNode arrayType = getType(expr.getLeftExpression(), classNode);
final ClassNode componentType = arrayType.getComponentType();
return componentType==null?ClassHelper.OBJECT_TYPE:componentType;
} else if (op==FIND_REGEX) {
return Matcher_TYPE;
}
else if (isNumberType(leftRedirect) && isNumberType(rightRedirect)) {
