private Expression maybeBox(Expression expression) { final Primitive primitive = Primitive.of(expression.getType()); if (primitive != null) { expression = Expressions.box(expression, primitive); } return expression; } }
private Expression maybeBox(Expression expression) { final Primitive primitive = Primitive.of(expression.getType()); if (primitive != null) { expression = Expressions.box(expression, primitive); } return expression; } }
/** Converts e.g. "anInteger" to "Integer.valueOf(anInteger)". */ public static Expression box(Expression expression) { Primitive primitive = Primitive.of(expression.getType()); if (primitive == null) { return expression; } return box(expression, primitive); }
/** * Creates a TernaryExpression, given the left and right operands, * by calling an appropriate factory method. */ public static TernaryExpression makeTernary(ExpressionType ternaryType, Expression e0, Expression e1, Expression e2) { final Type type; switch (ternaryType) { case Conditional: if (e1 instanceof ConstantUntypedNull) { type = box(e2.getType()); if (e1.getType() != type) { e1 = constant(null, type); } } else if (e2 instanceof ConstantUntypedNull) { type = box(e1.getType()); if (e2.getType() != type) { e2 = constant(null, type); } } else { type = Types.gcd(e1.getType(), e2.getType()); } break; default: type = e1.getType(); } return new TernaryExpression(ternaryType, type, e0, e1, e2); }
Expressions.box( implementCall(translator, call, implementor, nullAs)); return optimize(
Expressions.box( implementCall(translator, call, implementor, nullAs)); return optimize(
keyPhysType.fieldReference(key_, groupCount + j), Expressions.constant(null), Expressions.box(ref)));
keyPhysType.fieldReference(key_, groupCount + j), Expressions.constant(null), Expressions.box(ref)));
Expressions.equal(operand, RexImpTable.NULL_EXPR), RexImpTable.NULL_EXPR, Expressions.box( Expressions.unbox(operand, toBox), toBox)); if (una.nodeType == ExpressionType.Convert || Primitive.of(una.getType()) == toBox) { return Expressions.box(una.expression, toBox); return Expressions.box(operand, toBox); } else if (fromType == java.sql.Date.class) { if (toBox == Primitive.INT) {
Expressions.equal(operand, RexImpTable.NULL_EXPR), RexImpTable.NULL_EXPR, Expressions.box( Expressions.unbox(operand, toBox), toBox)); if (una.nodeType == ExpressionType.Convert || Primitive.of(una.getType()) == toBox) { return Expressions.box(una.expression, toBox); return Expressions.box(operand, toBox); } else if (fromType == java.sql.Date.class) { if (toBox == Primitive.INT) {