List of usage examples for org.eclipse.jdt.core.dom.rewrite ASTRewrite remove
public final void remove(ASTNode node, TextEditGroup editGroup)
From source file:com.google.currysrc.processors.RemoveJavaDocTags.java
License:Apache License
@Override protected void visit(Reporter reporter, Javadoc javadoc, ASTRewrite rewrite) { for (TagElement tagElement : (List<TagElement>) javadoc.tags()) { String tagName = tagElement.getTagName(); if (tagName == null) { continue; }/*from w ww . j a v a2 s .c o m*/ if (tagsToRemove.contains(tagName.toLowerCase())) { rewrite.remove(tagElement, null /* editGroup */); } } }
From source file:com.google.gdt.eclipse.appengine.rpc.markers.quickfixes.DeleteServiceMethodAnnotationProposal.java
License:Open Source License
@Override protected ASTRewrite getRewrite() throws CoreException { CompilationUnit targetAstRoot = ASTResolving.createQuickFixAST(getCompilationUnit(), null); createImportRewrite(targetAstRoot);/* w w w .j a v a2s. c o m*/ ASTRewrite rewrite = ASTRewrite.create(targetAstRoot.getAST()); // Find the method declaration in the AST we just generated (the one that // the AST rewriter is hooked up to). MethodDeclaration rewriterAstMethodDecl = JavaASTUtils.findMethodDeclaration(targetAstRoot, serviceMethod.resolveBinding().getKey()); if (rewriterAstMethodDecl == null) { return null; } ASTNode annotationNode = null; List<IExtendedModifier> modifiers = rewriterAstMethodDecl.modifiers(); for (IExtendedModifier modifier : modifiers) { if (modifier.isAnnotation()) { String name = ((Annotation) modifier).getTypeName().toString(); if (name.equals("ServiceMethod")) { //$NON-NLS-N$ annotationNode = (ASTNode) modifier; break; } } } if (annotationNode != null) { rewrite.remove(annotationNode, null); } return rewrite; }
From source file:com.google.gwt.eclipse.core.markers.quickfixes.DeleteMethodProposal.java
License:Open Source License
@Override protected ASTRewrite getRewrite() throws CoreException { CompilationUnit targetAstRoot = ASTResolving.createQuickFixAST(getCompilationUnit(), null); createImportRewrite(targetAstRoot);// www. ja v a 2 s. c o m ASTRewrite rewrite = ASTRewrite.create(targetAstRoot.getAST()); // Find the method declaration in the AST we just generated (the one that // the AST rewriter is hooked up to). MethodDeclaration rewriterAstMethodDecl = JavaASTUtils.findMethodDeclaration(targetAstRoot, methodDecl.resolveBinding().getKey()); if (rewriterAstMethodDecl == null) { return null; } // Remove the extra method declaration rewrite.remove(rewriterAstMethodDecl, null); return rewrite; }
From source file:edu.umd.cs.findbugs.plugin.eclipse.quickfix.RemoveUselessMethodResolution.java
License:Open Source License
@Override protected void repairBug(ASTRewrite rewrite, CompilationUnit workingUnit, BugInstance bug) throws BugResolutionException { Assert.isNotNull(rewrite);//w ww . j a v a 2s .com Assert.isNotNull(workingUnit); Assert.isNotNull(bug); TypeDeclaration type = getTypeDeclaration(workingUnit, bug.getPrimaryClass()); MethodDeclaration method = getMethodDeclaration(type, bug.getPrimaryMethod()); rewrite.remove(method, null); }
From source file:edu.umd.cs.findbugs.plugin.eclipse.quickfix.RemoveUselessStatementResolution.java
License:Open Source License
@Override protected void repairBug(ASTRewrite rewrite, CompilationUnit workingUnit, BugInstance bug) throws BugResolutionException { Assert.isNotNull(rewrite);/* ww w . j a v a2s. c o m*/ Assert.isNotNull(workingUnit); Assert.isNotNull(bug); Statement statement = findUselessStatement(getASTNode(workingUnit, bug.getPrimarySourceLineAnnotation())); rewrite.remove(statement, null); }
From source file:edu.umd.cs.findbugs.quickfix.resolution.RemoveUselessMethodResolution.java
License:Open Source License
@Override protected void repairBug(ASTRewrite rewrite, CompilationUnit workingUnit, BugInstance bug) throws BugResolutionException { assert rewrite != null; assert workingUnit != null; assert bug != null; TypeDeclaration type = getTypeDeclaration(workingUnit, bug.getPrimaryClass()); MethodDeclaration method = getMethodDeclaration(type, bug.getPrimaryMethod()); rewrite.remove(method, null); }
From source file:edu.umd.cs.findbugs.quickfix.resolution.RemoveUselessStatementResolution.java
License:Open Source License
@Override protected void repairBug(ASTRewrite rewrite, CompilationUnit workingUnit, BugInstance bug) throws BugResolutionException { assert rewrite != null; assert workingUnit != null; assert bug != null; Statement statement = findUselessStatement(getASTNode(workingUnit, bug.getPrimarySourceLineAnnotation())); rewrite.remove(statement, null); }
From source file:net.atos.optimus.m2t.merger.java.core.JavaCodeMerger.java
License:Open Source License
/** * Merge javadoc comment from existingFragment and generatedFragment to an * AST Rewrite object instance. This method is call only when * {@code existingFragment} is marked as generated and * {@code generatedFragment} exist./*from ww w. j a v a 2 s.co m*/ * * @param existingFragment * The existing fragment * @param generatedFragment * The generated fragment * @param astr * The ASTRewrite object instance containing the merge result */ protected void mergeJavadoc(BodyDeclaration existingFragment, BodyDeclaration generatedFragment, ASTRewrite astr) { boolean existingCommentIsGenerated = false; boolean generatedCommentIsGenerated = false; boolean existingCommentFound = true; boolean generatedCommentFound = true; try { existingCommentIsGenerated = isJavadocCommentGenerated(existingFragment.getJavadoc()); } catch (IllegalArgumentException iae) { existingCommentFound = false; } try { generatedCommentIsGenerated = isJavadocCommentGenerated(generatedFragment.getJavadoc()); } catch (IllegalArgumentException iae) { generatedCommentFound = false; } if (existingCommentIsGenerated) { if (!generatedCommentFound) { if (MergerLogger.enabled()) MergerLogger.log(MergerLoggerMessages.MERGER_REMOVE_JAVADOC.value( JavaCodeHelper.getName(existingFragment), JavaCodeHelper.getDescription(existingFragment))); astr.remove(existingFragment.getJavadoc(), null); } else if (generatedCommentIsGenerated) { if (MergerLogger.enabled()) MergerLogger.log(MergerLoggerMessages.MERGER_REPLACE_JAVADOC.value( JavaCodeHelper.getName(existingFragment), JavaCodeHelper.getName(generatedFragment))); astr.replace(existingFragment.getJavadoc(), generatedFragment.getJavadoc(), null); } } else if (!existingCommentFound && generatedCommentIsGenerated) { if (MergerLogger.enabled()) MergerLogger.log( MergerLoggerMessages.MERGER_ADD_JAVADOC.value(JavaCodeHelper.getName(existingFragment))); astr.set(existingFragment, existingFragment.getJavadocProperty(), generatedFragment.getJavadoc(), null); } }
From source file:nz.ac.massey.cs.care.refactoring.executers.IntroduceFactoryRefactoring.java
License:Open Source License
/** * Updates the constructor call.// w ww . j ava2 s .c om * * @param ctorCall the ClassInstanceCreation to be marked as replaced * @param unitRewriter the AST rewriter * @param gd the edit group to use */ private void rewriteFactoryMethodCall(ClassInstanceCreation ctorCall, ASTRewrite unitRewriter, TextEditGroup gd) { AST ast = unitRewriter.getAST(); MethodInvocation factoryMethodCall = ast.newMethodInvocation(); ASTNode ctorCallParent = ctorCall.getParent(); StructuralPropertyDescriptor ctorCallLocation = ctorCall.getLocationInParent(); if (ctorCallLocation instanceof ChildListPropertyDescriptor) { ListRewrite ctorCallParentListRewrite = unitRewriter.getListRewrite(ctorCallParent, (ChildListPropertyDescriptor) ctorCallLocation); int index = ctorCallParentListRewrite.getOriginalList().indexOf(ctorCall); ctorCall = (ClassInstanceCreation) ctorCallParentListRewrite.getRewrittenList().get(index); } else { ctorCall = (ClassInstanceCreation) unitRewriter.get(ctorCallParent, ctorCallLocation); } ListRewrite actualFactoryArgs = unitRewriter.getListRewrite(factoryMethodCall, MethodInvocation.ARGUMENTS_PROPERTY); ListRewrite actualCtorArgs = unitRewriter.getListRewrite(ctorCall, ClassInstanceCreation.ARGUMENTS_PROPERTY); // Need to use a qualified name for the factory method if we're not // in the context of the class holding the factory. AbstractTypeDeclaration callOwner = (AbstractTypeDeclaration) ASTNodes.getParent(ctorCall, AbstractTypeDeclaration.class); ITypeBinding callOwnerBinding = callOwner.resolveBinding(); if (callOwnerBinding == null || !Bindings.equals(callOwner.resolveBinding(), fFactoryOwningClass.resolveBinding())) { String qualifier = fImportRewriter.addImport(fFactoryOwningClass.resolveBinding()); factoryMethodCall.setExpression(ASTNodeFactory.newName(ast, qualifier)); } factoryMethodCall.setName(ast.newSimpleName(fNewMethodName)); List<Expression> actualCtorArgsList = actualCtorArgs.getRewrittenList(); for (int i = 0; i < actualCtorArgsList.size(); i++) { Expression actualCtorArg = actualCtorArgsList.get(i); ASTNode movedArg; if (ASTNodes.isExistingNode(actualCtorArg)) { movedArg = unitRewriter.createMoveTarget(actualCtorArg); } else { unitRewriter.remove(actualCtorArg, null); movedArg = actualCtorArg; } actualFactoryArgs.insertLast(movedArg, gd); } unitRewriter.replace(ctorCall, factoryMethodCall, gd); }
From source file:org.eclipse.ajdt.internal.ui.editor.quickfix.UnresolvedElementsSubProcessor.java
License:Open Source License
private static void addNewVariableProposals(ICompilationUnit cu, Name node, SimpleName simpleName, Collection proposals) {/*ww w .j av a 2 s .c o m*/ String name = simpleName.getIdentifier(); BodyDeclaration bodyDeclaration = ASTResolving.findParentBodyDeclaration(node, true); int type = bodyDeclaration.getNodeType(); if (type == ASTNode.METHOD_DECLARATION) { int relevance = StubUtility.hasParameterName(cu.getJavaProject(), name) ? 8 : 5; String label = Messages.format( CorrectionMessages.UnresolvedElementsSubProcessor_createparameter_description, simpleName.getIdentifier()); Image image = JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_LOCAL); proposals.add(new NewVariableCorrectionProposal(label, cu, NewVariableCorrectionProposal.PARAM, simpleName, null, relevance, image)); } if (type == ASTNode.INITIALIZER || (type == ASTNode.METHOD_DECLARATION && !ASTResolving.isInsideConstructorInvocation((MethodDeclaration) bodyDeclaration, node))) { int relevance = StubUtility.hasLocalVariableName(cu.getJavaProject(), name) ? 10 : 7; String label = Messages.format( CorrectionMessages.UnresolvedElementsSubProcessor_createlocal_description, simpleName.getIdentifier()); Image image = JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_LOCAL); proposals.add(new NewVariableCorrectionProposal(label, cu, NewVariableCorrectionProposal.LOCAL, simpleName, null, relevance, image)); } if (node.getParent().getNodeType() == ASTNode.ASSIGNMENT) { Assignment assignment = (Assignment) node.getParent(); if (assignment.getLeftHandSide() == node && assignment.getParent().getNodeType() == ASTNode.EXPRESSION_STATEMENT) { ASTNode statement = assignment.getParent(); ASTRewrite rewrite = ASTRewrite.create(statement.getAST()); if (ASTNodes.isControlStatementBody(assignment.getParent().getLocationInParent())) { rewrite.replace(statement, rewrite.getAST().newBlock(), null); } else { rewrite.remove(statement, null); } String label = CorrectionMessages.UnresolvedElementsSubProcessor_removestatement_description; Image image = JavaPlugin.getDefault().getWorkbench().getSharedImages() .getImage(ISharedImages.IMG_TOOL_DELETE); ASTRewriteCorrectionProposal proposal = new ASTRewriteCorrectionProposal(label, cu, rewrite, 4, image); proposals.add(proposal); } } }