public Expression visit(IndexExpression indexExpression, Expression array, List<Expression> indexExpressions) { return indexExpression.array == array && indexExpression.indexExpressions.equals(indexExpressions) ? indexExpression : new IndexExpression(array, indexExpressions); }
public Expression field(Expression expression, int field, Type fromType, Type fieldType) { final IndexExpression e = Expressions.arrayIndex(expression, Expressions.constant(field)); if (fromType == null) { fromType = e.getType(); } return RexToLixTranslator.convert(e, fromType, fieldType); } };
public Expression field(Expression expression, int field, Type fromType, Type fieldType) { final IndexExpression e = Expressions.arrayIndex(expression, Expressions.constant(field)); if (fromType == null) { fromType = e.getType(); } return RexToLixTranslator.convert(e, fromType, fieldType); } };
/** * Creates an expression that represents applying an array * index operator to an array of rank one. */ public static IndexExpression arrayIndex(Expression array, Expression indexExpression) { return new IndexExpression(array, Collections.singletonList(indexExpression)); }