private <T, E extends CtExpression<?>> void printCtArrayAccess(CtArrayAccess<T, E> arrayAccess) { enterCtExpression(arrayAccess); scan(arrayAccess.getTarget()); printer.writeSeparator("["); scan(arrayAccess.getIndexExpression()); printer.writeSeparator("]"); exitCtExpression(arrayAccess); }
private <T, E extends CtExpression<?>> boolean visitArrayAccess(CtArrayAccess<T, E> arrayAccess) { if (child instanceof CtExpression) { if (arrayAccess.getTarget() == null) { arrayAccess.setTarget((E) child); return false; } else { arrayAccess.setIndexExpression((CtExpression<Integer>) child); return false; } } return true; }
public <T, E extends CtExpression<?>> void visitCtArrayAccess( CtArrayAccess<T, E> arrayAccess) { enter(arrayAccess); scan(arrayAccess.getAnnotations()); scan(arrayAccess.getType()); scanReferences(arrayAccess.getTypeCasts()); scan(arrayAccess.getTarget()); scan(arrayAccess.getIndexExpression()); exit(arrayAccess); }
@SuppressWarnings("unchecked") @Override public <T, U> U getValue(T element) { return ((U) ((Object) (castTarget(element).getIndexExpression()))); }
@java.lang.Override public void set(spoon.reflect.code.CtExpression replace) { this.element.setIndexExpression(replace); } }
public <T, E extends CtExpression<?>> void visitCtArrayAccess(CtArrayAccess<T, E> arrayAccess) { setResult(arrayAccess.getFactory().Core().clone(arrayAccess)); }
/** * Gets the index of a one-dimension array (helper). */ @SuppressWarnings("unchecked") public static Integer getIndex(CtExpression<?> e) { if (e.getParent() instanceof CtArrayAccess) { CtExpression<Integer> indexExpression = ((CtArrayAccess<?, CtExpression<Integer>>) e.getParent()).getIndexExpression(); return ((CtLiteral<Integer>) indexExpression).getValue(); } return null; }
@Override public <T, U> void setValue(T element, U value) { castTarget(element).setIndexExpression(castValue(value)); } }
@Override public <T, E extends CtExpression<?>> void visitCtArrayAccess(CtArrayAccess<T, E> arrayAccess) { if (this.jdtTreeBuilder.context.arguments.size() > 0 && this.jdtTreeBuilder.context.arguments.peek() == arrayAccess) { arrayAccess.setIndexExpression((CtExpression<Integer>) child); return; } else if (arrayAccess.getTarget() == null) { arrayAccess.setTarget((E) child); return; } super.visitCtArrayAccess(arrayAccess); }
public <T, E extends CtExpression<?>> void visitCtArrayAccess( CtArrayAccess<T, E> arrayAccess) { scan(arrayAccess.getTarget()); write("["); scan(arrayAccess.getIndexExpression()); write("]"); }
/** * for input `element` expression `X` in expression `X[Y]` it returns expression `X[Y]` * and registers extra {@link ListParameterInfo} to the parameter assigned to `X` * @param pep pair of parameter and element which has to be transformed * @return */ private ParameterElementPair transformArrayAccess(ParameterElementPair pep) { CtElement element = pep.element; if (element.isParentInitialized()) { CtElement parent = element.getParent(); if (parent instanceof CtArrayAccess<?, ?>) { CtArrayAccess<?, ?> arrayAccess = (CtArrayAccess<?, ?>) parent; CtExpression<?> expr = arrayAccess.getIndexExpression(); if (expr instanceof CtLiteral<?>) { CtLiteral<?> idxLiteral = (CtLiteral<?>) expr; Object idx = idxLiteral.getValue(); if (idx instanceof Number) { return new ParameterElementPair(new ListParameterInfo(((Number) idx).intValue(), pep.parameter), arrayAccess); } } } } return pep; }
public <T, E extends CtExpression<?>> void visitCtArrayAccess(CtArrayAccess<T, E> arrayAccess) { enterCtExpression(arrayAccess); scan(arrayAccess.getTarget()); write("[").scan(arrayAccess.getIndexExpression()).write("]"); exitCtExpression(arrayAccess); }
/** * Gets the index of a one-dimension array (helper). */ @SuppressWarnings("unchecked") public static Integer getIndex(CtExpression<?> e) { if (e.getParent() instanceof CtArrayAccess) { CtExpression<Integer> indexExpression = ((CtArrayAccess<?, CtExpression<Integer>>) e.getParent()).getIndexExpression(); return ((CtLiteral<Integer>) indexExpression).getValue(); } return null; }