public <R> void visitCtReturn(final spoon.reflect.code.CtReturn<R> returnStatement) { spoon.reflect.code.CtReturn<R> aCtReturn = returnStatement.getFactory().Core().createReturn(); this.builder.copy(returnStatement, aCtReturn); aCtReturn.setAnnotations(this.cloneHelper.clone(returnStatement.getAnnotations())); aCtReturn.setReturnedExpression(this.cloneHelper.clone(returnStatement.getReturnedExpression())); aCtReturn.setComments(this.cloneHelper.clone(returnStatement.getComments())); this.cloneHelper.tailor(returnStatement, aCtReturn); this.other = aCtReturn; }
@Override public <R> CtReturn<R> createReturn() { CtReturn<R> e = new CtReturnImpl<>(); e.setFactory(getMainFactory()); return e; }
public <R> void visitCtReturn(final spoon.reflect.code.CtReturn<R> returnStatement) { spoon.reflect.code.CtReturn other = ((spoon.reflect.code.CtReturn) (this.stack.peek())); enter(returnStatement); biScan(spoon.reflect.path.CtRole.ANNOTATION, returnStatement.getAnnotations(), other.getAnnotations()); biScan(spoon.reflect.path.CtRole.EXPRESSION, returnStatement.getReturnedExpression(), other.getReturnedExpression()); biScan(spoon.reflect.path.CtRole.COMMENT, returnStatement.getComments(), other.getComments()); exit(returnStatement); }
@Override public <R> void visitCtReturn(CtReturn<R> returnStatement) { CtReturn<R> r = returnStatement.getFactory().Core().createReturn(); r.setReturnedExpression(evaluate(returnStatement.getReturnedExpression())); setResult(r); flowEnded = true; }
@java.lang.Override public void set(spoon.reflect.code.CtExpression replace) { this.element.setReturnedExpression(replace); } }
@SuppressWarnings("unchecked") @Override public <T, U> U getValue(T element) { return ((U) ((Object) (castTarget(element).getReturnedExpression()))); }
@SuppressWarnings({ "rawtypes", "unchecked" }) @Override public <R> void visitCtReturn(CtReturn<R> returnStatement) { super.visitCtReturn(returnStatement); CtExpression exper=returnStatement.getReturnedExpression(); if (candidates.containsKey(exper)) { returnStatement.setReturnedExpression(candidates.get(exper)); saveSketchAndSynthesize(); returnStatement.setReturnedExpression(exper); resoreDiskFile(); } }
public <R> void visitCtReturn(CtReturn<R> returnStatement) { enter(returnStatement); scan(returnStatement.getAnnotations()); scan(returnStatement.getReturnedExpression()); exit(returnStatement); }
@Override public <R> void visitCtReturn(CtReturn<R> returnStatement) { if (child instanceof CtExpression) { returnStatement.setReturnedExpression((CtExpression<R>) child); return; } super.visitCtReturn(returnStatement); }
/** * Returns the expression. */ @SuppressWarnings("unchecked") public static <T> CtExpression<T> getExpression( CtClass<? extends ExpressionTemplate<?>> p) { CtBlock<?> b = getExpressionBlock(p); return ((CtReturn<T>) b.getStatements().get(0)).getReturnedExpression(); }
public <R> void visitCtReturn(CtReturn<R> returnStatement) { CtReturn<R> r = returnStatement.getFactory().Core().createReturn(); r.setReturnedExpression(evaluate(r, returnStatement.getReturnedExpression())); setResult(r); flowEnded = true; }
public <R> void visitCtReturn(final CtReturn<R> returnStatement) { enter(returnStatement); scan(CtRole.ANNOTATION, returnStatement.getAnnotations()); scan(CtRole.EXPRESSION, returnStatement.getReturnedExpression()); scan(CtRole.COMMENT, returnStatement.getComments()); exit(returnStatement); }
@Override public <T, U> void setValue(T element, U value) { castTarget(element).setReturnedExpression(castValue(value)); } }
@Override public <R> void visitCtReturn(CtReturn<R> returnStatement) { enterCtStatement(returnStatement); printer.writeKeyword("return"); // checkstyle wants "return;" and not "return ;" if (returnStatement.getReturnedExpression() != null) { printer.writeSpace(); } scan(returnStatement.getReturnedExpression()); exitCtStatement(returnStatement); }
@java.lang.Override public <R> void visitCtReturn(final spoon.reflect.code.CtReturn<R> returnStatement) { replaceInListIfExist(returnStatement.getAnnotations(), new spoon.support.visitor.replace.ReplacementVisitor.CtElementAnnotationsReplaceListener(returnStatement)); replaceElementIfExist(returnStatement.getReturnedExpression(), new spoon.support.visitor.replace.ReplacementVisitor.CtReturnReturnedExpressionReplaceListener(returnStatement)); replaceInListIfExist(returnStatement.getComments(), new spoon.support.visitor.replace.ReplacementVisitor.CtElementCommentsReplaceListener(returnStatement)); }
public <R> CtReturn<R> createReturn() { CtReturn<R> e = new CtReturnImpl<R>(); e.setFactory(getMainFactory()); return e; }
private static String createWrapperContent(final CtElement element, final Factory f, final CtTypeReference returnType) { CtClass<?> w = f.Class().create(WRAPPER_CLASS_NAME); CtBlock body = f.Core().createBlock(); if (element instanceof CtStatement) { body.addStatement((CtStatement) element); } else if (element instanceof CtExpression) { CtReturn ret = f.Core().createReturn(); ret.setReturnedExpression((CtExpression) element); body.addStatement(ret); } Set<ModifierKind> modifiers = EnumSet.of(ModifierKind.STATIC); Set<CtTypeReference<? extends Throwable>> thrownTypes = new HashSet<>(); thrownTypes.add(f.Class().<Throwable>get(Throwable.class).getReference()); f.Method().create( w, modifiers, returnType, WRAPPER_METHOD_NAME, CtElementImpl.<CtParameter<?>>emptyList(), thrownTypes, body); String contents = w.toString(); // Clean up (delete wrapper from factory) after it is printed. The DefaultJavaPrettyPrinter needs w in model to be able to print it correctly w.getPackage().removeType(w); return contents; }
/** * Sets a template model from return expression of the method of template type selected by filter * @param filter the {@link Filter} whose match defines to be used {@link CtExecutable} */ private void setReturnExpressionOfMethod(Filter<CtMethod<?>> filter) { CtMethod<?> method = getOneByFilter(filter); CtBlock<?> body = method.getBody(); if (body.getStatements().size() != 1) { throw new SpoonException("The body of " + method.getSignature() + " must contain exactly one statement. But there is:\n" + body.toString()); } CtStatement firstStatement = body.getStatements().get(0); if (firstStatement instanceof CtReturn<?> == false) { throw new SpoonException("The body of " + method.getSignature() + " must contain return statement. But there is:\n" + body.toString()); } setElements(Collections.singletonList(((CtReturn<?>) firstStatement).getReturnedExpression())); }
@Override public <R> void visitCtReturn(CtReturn<R> returnStatement) { if (child instanceof CtExpression) { returnStatement.setReturnedExpression((CtExpression<R>) child); return; } super.visitCtReturn(returnStatement); }