@Override public String getElementName() { if (fSelectedNode != null) { return ASTNodes.asString(fSelectedNode); } return null; }
private OccurrenceLocation getLocationForClosingBrace(ASTNode targetNode) { /* Ideally, we'd scan backwards to find the '}' token, but it may be an overkill * so I'll just assume the closing brace token has a fixed length. */ int offset= ASTNodes.getExclusiveEnd(targetNode) - BRACE_LENGTH; return new OccurrenceLocation(offset, BRACE_LENGTH, 0, fDescription); }
public static void getTypeParameterMismatchProposals(IInvocationContext context, IProblemLocation problem, Collection proposals) { CompilationUnit astRoot= context.getASTRoot(); ASTNode selectedNode= problem.getCoveredNode(astRoot); if (!(selectedNode instanceof SimpleName)) { return; } ASTNode normalizedNode= ASTNodes.getNormalizedNode(selectedNode); if (!(normalizedNode instanceof ParameterizedType)) { return; } // waiting for result of https://bugs.eclipse.org/bugs/show_bug.cgi?id=81544 }
public void insert(BodyDeclaration decl, TextEditGroup description) { List container= ASTNodes.getBodyDeclarations(fTypeNode); int index= ASTNodes.getInsertionIndex(decl, container); fListRewrite.insertAt(decl, index, description); } }
private String getTypeName(ASTNode type) { if (type instanceof AbstractTypeDeclaration) { return ((AbstractTypeDeclaration)type).getName().getIdentifier(); } else if (type instanceof AnonymousClassDeclaration) { ClassInstanceCreation node= ASTNodes.getParent(type, ClassInstanceCreation.class); return ASTNodes.asString(node.getType()); } Assert.isTrue(false, "Should not happen"); //$NON-NLS-1$ return null; }
private static VariableDeclaration getVariableDeclaration(Name node) { IBinding binding= node.resolveBinding(); if (binding == null && node.getParent() instanceof VariableDeclaration) { return (VariableDeclaration) node.getParent(); } if (binding != null && binding.getKind() == IBinding.VARIABLE) { CompilationUnit cu= ASTNodes.getParent(node, CompilationUnit.class); return ASTNodes.findVariableDeclaration( ((IVariableBinding) binding), cu); } return null; }
private void addFieldDeclaration(ASTRewrite rewrite) { FieldDeclaration[] fields= getFieldDeclarations(); ASTNode parent= getMethodDeclaration().getParent(); ChildListPropertyDescriptor descriptor= ASTNodes.getBodyDeclarationsProperty(parent); int insertIndex; if (fields.length == 0) insertIndex= 0; else insertIndex= ASTNodes.getBodyDeclarations(parent).indexOf(fields[fields.length - 1]) + 1; final FieldDeclaration declaration= createNewFieldDeclaration(rewrite); rewrite.getListRewrite(parent, descriptor).insertAt(declaration, insertIndex, null); }
@SuppressWarnings("unchecked") private void setReturnStatement(final MethodDeclaration stub, final IMethodBinding methodToOverride, final ITypeBinding declaringType, final AST ast, final ASTRewrite rewrite) throws JavaModelException, CoreException { Expression expression= ASTNodeFactory.newDefaultExpression(ast, stub.getReturnType2(), stub.getExtraDimensions()); if (expression != null) { ReturnStatement returnStatement= ast.newReturnStatement(); returnStatement.setExpression(expression); String delimiter= cunit.findRecommendedLineSeparator(); Map<String, String> options= fJavaProject.getOptions(true); String bodyStatement= ASTNodes.asFormattedString(returnStatement, 0, delimiter, options); String placeHolder= CodeGeneration.getMethodBodyContent(cunit, declaringType.getName(), methodToOverride.getName(), false, bodyStatement, delimiter); if (placeHolder != null) { ASTNode todoNode = rewrite.createStringPlaceholder(placeHolder, ASTNode.RETURN_STATEMENT); stub.getBody().statements().clear(); stub.getBody().statements().add(todoNode); } } }
private void removeVariableWithInitializer(ASTRewrite rewrite, ASTNode initializerNode, ASTNode statementNode) { ArrayList<Expression> sideEffectNodes= new ArrayList<>(); initializerNode.accept(new SideEffectFinder(sideEffectNodes)); int nSideEffects= sideEffectNodes.size(); if (nSideEffects == 0) { if (ASTNodes.isControlStatementBody(statementNode.getLocationInParent())) { rewrite.replace(statementNode, rewrite.getAST().newBlock(), null); } else { rewrite.remove(statementNode, null); } } else { // do nothing yet } }
private static Set getPreviousExceptionNames(List list, ASTNode missingNode) { Set previousNames= new HashSet(); for (int i= 0; i < list.size() && missingNode != list.get(i); i++) { Name curr= (Name) list.get(i); previousNames.add(ASTNodes.getSimpleNameIdentifier(curr)); } return previousNames; }
public static VariableDeclaration findVariableDeclaration(IVariableBinding binding, ASTNode root) { if (binding.isField()) return null; ASTNode result= findDeclaration(binding, root); if (result instanceof VariableDeclaration) return (VariableDeclaration)result; return null; }
private VariableDeclarationStatement createDeclaration(IVariableBinding binding, Expression intilizer) { VariableDeclaration original = ASTNodes.findVariableDeclaration(binding, fAnalyzer.getEnclosingBodyDeclaration()); VariableDeclarationFragment fragment = fAST.newVariableDeclarationFragment(); fragment.setName((SimpleName) ASTNode.copySubtree(fAST, original.getName())); fragment.setInitializer(intilizer); VariableDeclarationStatement result = fAST.newVariableDeclarationStatement(fragment); result.modifiers().addAll(ASTNode.copySubtrees(fAST, ASTNodes.getModifiers(original))); result.setType(ASTNodeFactory.newType(fAST, original, fImportRewriter, new ContextSensitiveImportRewriteContext(original, fImportRewriter))); return result; }
/** * @param decl the method declaration * @return the exception names * @deprecated to avoid deprecation warnings */ @Deprecated private static String[] getExceptionNames(MethodDeclaration decl) { String[] exceptionNames; if (decl.getAST().apiLevel() >= AST.JLS8) { List<Type> exceptions= decl.thrownExceptionTypes(); exceptionNames= new String[exceptions.size()]; for (int i= 0; i < exceptionNames.length; i++) { exceptionNames[i]= ASTNodes.getTypeName(exceptions.get(i)); } } else { List<Name> exceptions= decl.thrownExceptions(); exceptionNames= new String[exceptions.size()]; for (int i= 0; i < exceptionNames.length; i++) { exceptionNames[i]= ASTNodes.getSimpleNameIdentifier(exceptions.get(i)); } } return exceptionNames; }
exp.setOperator(ASTNodes.convertToInfixOperator(node.getOperator())); MethodInvocation getter= ast.newMethodInvocation(); getter.setName(ast.newSimpleName(fGetter));
private List<TextEditGroup> addGetterSetterChanges(CompilationUnit root, ASTRewrite rewriter, String lineDelimiter, boolean usingLocalSetter, boolean usingLocalGetter) throws CoreException { List<TextEditGroup> result = new ArrayList<>(2); AST ast = root.getAST(); FieldDeclaration decl = (FieldDeclaration) ASTNodes.getParent(fFieldDeclaration, ASTNode.FIELD_DECLARATION); int position = 0; int numberOfMethods = 0; List<BodyDeclaration> members = ASTNodes.getBodyDeclarations(decl.getParent()); for (Iterator<BodyDeclaration> iter = members.iterator(); iter.hasNext();) { BodyDeclaration element = iter.next();
private FieldDeclaration[] getFieldDeclarations() { List<BodyDeclaration> bodyDeclarations= ASTNodes.getBodyDeclarations(getMethodDeclaration().getParent()); List<FieldDeclaration> fields= new ArrayList<>(1); for (Iterator<BodyDeclaration> iter= bodyDeclarations.iterator(); iter.hasNext();) { Object each= iter.next(); if (each instanceof FieldDeclaration) fields.add((FieldDeclaration) each); } return fields.toArray(new FieldDeclaration[fields.size()]); }
private VariableDeclaration getVariableDeclaration(ParameterInfo parameter) { return ASTNodes.findVariableDeclaration(parameter.getOldBinding(), fAnalyzer.getEnclosingBodyDeclaration()); }
} else { boolean needsParentheses= ASTNodes.needsParentheses(node.getRightHandSide()); InfixExpression exp= ast.newInfixExpression(); exp.setOperator(ASTNodes.convertToInfixOperator(node.getOperator())); MethodInvocation getter= ast.newMethodInvocation(); getter.setName(ast.newSimpleName(fGetter));
private void addFieldDeclaration(ASTRewrite rewrite) { FieldDeclaration[] fields= getFieldDeclarations(); ASTNode parent= getMethodDeclaration().getParent(); ChildListPropertyDescriptor descriptor= ASTNodes.getBodyDeclarationsProperty(parent); int insertIndex; if (fields.length == 0) insertIndex= 0; else insertIndex= ASTNodes.getBodyDeclarations(parent).indexOf(fields[fields.length - 1]) + 1; final FieldDeclaration declaration= createNewFieldDeclaration(rewrite); rewrite.getListRewrite(parent, descriptor).insertAt(declaration, insertIndex, null); }
private static VariableDeclaration getVariableDeclaration(Name node) { IBinding binding= node.resolveBinding(); if (binding == null && node.getParent() instanceof VariableDeclaration) return (VariableDeclaration) node.getParent(); if (binding != null && binding.getKind() == IBinding.VARIABLE) { CompilationUnit cu= ASTNodes.getParent(node, CompilationUnit.class); return ASTNodes.findVariableDeclaration( ((IVariableBinding) binding), cu); } return null; }