@Override protected R visitArithmeticBinary(ArithmeticBinaryExpression node, C context) { process(node.getLeft(), context); process(node.getRight(), context); return null; }
@Override protected Boolean visitArithmeticBinary(ArithmeticBinaryExpression node, Void context) { return process(node.getLeft(), context) && process(node.getRight(), context); }
@Override protected String visitArithmeticBinary(ArithmeticBinaryExpression node, Void context) { return formatBinaryExpression(node.getOperator().getValue(), node.getLeft(), node.getRight()); }
@Override protected Type visitArithmeticBinary(ArithmeticBinaryExpression node, StackableAstVisitorContext<Context> context) { return getOperator(context, node, OperatorType.valueOf(node.getOperator().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.getOperator(), toExpression(left, type(node.getLeft())), toExpression(right, type(node.getRight()))); } return invokeOperator(OperatorType.valueOf(node.getOperator().name()), types(node.getLeft(), node.getRight()), ImmutableList.of(left, right)); }
@Override protected Boolean visitArithmeticBinary(ArithmeticBinaryExpression actual, Node expectedExpression) { if (expectedExpression instanceof ArithmeticBinaryExpression) { ArithmeticBinaryExpression expected = (ArithmeticBinaryExpression) expectedExpression; if (actual.getOperator() == expected.getOperator()) { return process(actual.getLeft(), expected.getLeft()) && process(actual.getRight(), expected.getRight()); } } return false; }
@Override protected RowExpression visitArithmeticBinary(ArithmeticBinaryExpression node, Void context) { RowExpression left = process(node.getLeft(), context); RowExpression right = process(node.getRight(), context); return call( arithmeticExpressionSignature(node.getOperator(), getType(node), left.getType(), right.getType()), getType(node), left, right); }
SymbolStatsEstimate right = process(node.getRight());
@Override protected String visitArithmeticBinary(ArithmeticBinaryExpression node, Void context) { return formatBinaryExpression(node.getType().getValue(), node.getLeft(), node.getRight()); }
@Override protected R visitArithmeticBinary(ArithmeticBinaryExpression node, C context) { process(node.getLeft(), context); process(node.getRight(), context); return null; }
@Override protected Boolean visitArithmeticBinary(ArithmeticBinaryExpression node, Void context) { return process(node.getLeft(), context) && process(node.getRight(), context); }
@Override protected R visitArithmeticBinary(ArithmeticBinaryExpression node, C context) { process(node.getLeft(), context); process(node.getRight(), context); return null; }
@Override protected String visitArithmeticBinary(ArithmeticBinaryExpression node, Void context) { return formatBinaryExpression(node.getOperator().getValue(), node.getLeft(), node.getRight()); }
@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 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)); }
@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()); }