@Override ASTNode clone0(AST target) { ReturnStatement result = new ReturnStatement(target); result.setSourceRange(getStartPosition(), getLength()); result.copyLeadingComment(this); result.setExpression( (Expression) ASTNode.copySubtree(target, getExpression())); return result; }
void accept0(ASTVisitor visitor) { boolean visitChildren = visitor.visit(this); if (visitChildren) { acceptChild(visitor, getExpression()); } visitor.endVisit(this); }
public ReturnStatement convert(org.eclipse.jdt.internal.compiler.ast.ReturnStatement statement) { final ReturnStatement returnStatement = new ReturnStatement(this.ast); returnStatement.setSourceRange(statement.sourceStart, statement.sourceEnd - statement.sourceStart + 1); if (statement.expression != null) { returnStatement.setExpression(convert(statement.expression)); } return returnStatement; }
@Override protected boolean createReturnFlowInfo(ReturnStatement node) { // Make sure that the whole return statement is selected or located before the selection. return node.getStartPosition() + node.getLength() <= fSelection.getExclusiveEnd(); }
@Override public boolean visit(ReturnStatement node) { this.fBuffer.append("return");//$NON-NLS-1$ if (node.getExpression() != null) { this.fBuffer.append(" ");//$NON-NLS-1$ node.getExpression().accept(this); } this.fBuffer.append(";");//$NON-NLS-1$ return false; }
ASTRewrite rewrite= ASTRewrite.create(ast); Expression expression= evaluateReturnExpressions(ast, returnBinding, fExistingReturn.getStartPosition()); if (expression != null) { rewrite.set(fExistingReturn, ReturnStatement.EXPRESSION_PROPERTY, expression, null); returnStatement.setExpression(placeHolder); Expression expression= evaluateReturnExpressions(ast, returnBinding, offset); returnStatement.setExpression(expression); addLinkedPosition(rewrite.track(returnStatement.getExpression()), true, RETURN_EXPRESSION_KEY);
final ASTNode internalGetSetChildProperty(ChildPropertyDescriptor property, boolean get, ASTNode child) { if (property == EXPRESSION_PROPERTY) { if (get) { return getExpression(); } else { setExpression((Expression) child); return null; } } // allow default implementation to flag the error return super.internalGetSetChildProperty(property, get, child); }
/** * Builds a new {@link ReturnStatement} instance. * * @param expression the expression to return * @return a new return statement */ public ReturnStatement return0(Expression expression) { final ReturnStatement rs = ast.newReturnStatement(); rs.setExpression(expression); return rs; }
@Override int treeSize() { return memSize() + (this.optionalExpression == null ? 0 : getExpression().treeSize()); } }
public boolean visit(ReturnStatement node) { addStatement(new CSReturnStatement(node.getStartPosition(), mapExpression(node.getExpression()))); return false; }
@Override public boolean visit(ReturnStatement node) { if (node.getExpression() instanceof ClassInstanceCreation) { ClassInstanceCreation cic = (ClassInstanceCreation) node.getExpression(); ITypeBinding typeBinding = cic.getType().resolveBinding(); if (typeBinding == null) { String qualifiedClass = cic.getType().toString(); ResolveClassnameResult result = resolveClassname(qualifiedClass); qualifiedClass = result.result; ResolutionStatus resolutionStatus = result.found ? ResolutionStatus.RECOVERED : ResolutionStatus.UNRESOLVED; PackageAndClassName packageAndClassName = PackageAndClassName.parseFromQualifiedName(qualifiedClass); processTypeAsString(qualifiedClass, packageAndClassName.packageName, packageAndClassName.className, resolutionStatus, TypeReferenceLocation.CONSTRUCTOR_CALL, compilationUnit.getLineNumber(node.getStartPosition()), compilationUnit.getColumnNumber(cic.getStartPosition()), cic.getLength(), node.toString()); } else { processTypeBinding(typeBinding, ResolutionStatus.RESOLVED, TypeReferenceLocation.CONSTRUCTOR_CALL, compilationUnit.getLineNumber(node.getStartPosition()), compilationUnit.getColumnNumber(cic.getStartPosition()), cic.getLength(), node.toString()); } } return super.visit(node); }
private static int getReturnFlag(ReturnStatement node) { Expression expression = node.getExpression(); if (expression == null || expression.resolveTypeBinding() == node.getAST().resolveWellKnownType("void")) { return VOID_RETURN; } return VALUE_RETURN; } }
@Override protected boolean createReturnFlowInfo(ReturnStatement node) { // Make sure that the whole return statement is located after the selection. There can be cases like // return i + [x + 10] * 10; In this case we must not create a return info node. return node.getStartPosition() >= fSelection.getInclusiveEnd(); }
/** * Creates a new unparented return statement node owned by this AST. * By default, the return statement has no expression. * * @return a new unparented return statement node */ public ReturnStatement newReturnStatement() { return new ReturnStatement(this); }
@Override public boolean visit(ReturnStatement node) { this.fBuffer.append("return");//$NON-NLS-1$ if (node.getExpression() != null) { this.fBuffer.append(" ");//$NON-NLS-1$ node.getExpression().accept(this); } this.fBuffer.append(";");//$NON-NLS-1$ return false; }
ASTRewrite rewrite= ASTRewrite.create(ast); Expression expression= evaluateReturnExpressions(ast, returnBinding, fExistingReturn.getStartPosition()); if (expression != null) { rewrite.set(fExistingReturn, ReturnStatement.EXPRESSION_PROPERTY, expression, null); returnStatement.setExpression(placeHolder); Expression expression= evaluateReturnExpressions(ast, returnBinding, offset); returnStatement.setExpression(expression); addLinkedPosition(rewrite.track(returnStatement.getExpression()), true, RETURN_EXPRESSION_KEY);
final ASTNode internalGetSetChildProperty(ChildPropertyDescriptor property, boolean get, ASTNode child) { if (property == EXPRESSION_PROPERTY) { if (get) { return getExpression(); } else { setExpression((Expression) child); return null; } } // allow default implementation to flag the error return super.internalGetSetChildProperty(property, get, child); }
/** * Creates a new return statement for the method invocation. * * @param invocation the method invocation to create a return statement for * @return the corresponding statement */ private ReturnStatement createReturnStatement(final MethodInvocation invocation) { Assert.isNotNull(invocation); final ReturnStatement statement= invocation.getAST().newReturnStatement(); statement.setExpression(invocation); return statement; }
public ReturnStatement convert(org.eclipse.jdt.internal.compiler.ast.ReturnStatement statement) { final ReturnStatement returnStatement = new ReturnStatement(this.ast); returnStatement.setSourceRange(statement.sourceStart, statement.sourceEnd - statement.sourceStart + 1); if (statement.expression != null) { returnStatement.setExpression(convert(statement.expression)); } return returnStatement; }
int treeSize() { return memSize() + (this.optionalExpression == null ? 0 : getExpression().treeSize()); } }