@Override protected String visitArithmeticBinary(ArithmeticBinaryExpression node, Void context) { return formatBinaryExpression(node.getType().getValue(), node.getLeft(), node.getRight()); }
@Override protected Void visitArithmeticBinary(ArithmeticBinaryExpression node, Integer indentLevel) { print(indentLevel, node.getType().toString()); super.visitArithmeticBinary(node, indentLevel + 1); return null; }
@Override protected String visitArithmeticBinary(ArithmeticBinaryExpression node, Boolean unmangleNames) { return formatBinaryExpression(node.getType().getValue(), node.getLeft(), node.getRight(), unmangleNames); }
@Override protected String visitArithmeticBinary(ArithmeticBinaryExpression node, Boolean unmangleNames) { return formatBinaryExpression(node.getType().getValue(), node.getLeft(), node.getRight(), unmangleNames); }
@Override protected RowExpression visitArithmeticBinary(ArithmeticBinaryExpression node, Void context) { RowExpression left = process(node.getLeft(), context); RowExpression right = process(node.getRight(), context); return call( arithmeticExpressionSignature(node.getType(), types.get(node), left.getType(), right.getType()), types.get(node), left, right); }
@Override protected ICalculation visitArithmeticBinary(ArithmeticBinaryExpression node, QueryState state){ ICalculation left = visitExpression(node.getLeft(), state); ICalculation right = visitExpression(node.getRight(), state); return new SimpleCalculation(left, right, node.getType()); }
@Override protected Type visitArithmeticBinary(ArithmeticBinaryExpression node, StackableAstVisitorContext<AnalysisContext> context) { return getOperator(context, node, OperatorType.valueOf(node.getType().name()), node.getLeft(), node.getRight()); }
@Override protected Object visitArithmeticBinary(ArithmeticBinaryExpression node, Object context) { Object left = process(node.getLeft(), context); if (left == null) { return null; } Object right = process(node.getRight(), context); if (right == null) { return null; } if (hasUnresolvedValue(left, right)) { return new ArithmeticBinaryExpression(node.getType(), toExpression(left, expressionTypes.get(node.getLeft())), toExpression(right, expressionTypes.get(node.getRight()))); } return invokeOperator(OperatorType.valueOf(node.getType().name()), types(node.getLeft(), node.getRight()), ImmutableList.of(left, right)); }