@Override public void initializeStatement(VariableDeclarationStatement statement, VariableDeclarationFragment current) { if (fAccessedInside.contains(current)) makeFinal(statement, fRewrite); if (fLastStatement != null) fBlockRewrite.insertAfter(statement, fLastStatement, null); fLastStatement= statement; } }
private void insertTag(TagElement tag, TagElement previousTag, ListRewrite tagsRewrite) { if (previousTag == null) tagsRewrite.insertFirst(tag, fDescription); else tagsRewrite.insertAfter(tag, previousTag, fDescription); }
private void insertTag(TagElement tag, TagElement previousTag, ListRewrite tagsRewrite) { if (previousTag == null) tagsRewrite.insertFirst(tag, fDescription); else tagsRewrite.insertAfter(tag, previousTag, fDescription); }
public void initializeStatement(VariableDeclarationStatement statement, VariableDeclarationFragment current) { if (fAccessedInside.contains(current)) makeFinal(statement, fRewrite); if (fLastStatement != null) fBlockRewrite.insertAfter(statement, fLastStatement, null); fLastStatement= statement; } }
private void insertTag(TagElement tag, TagElement previousTag, ListRewrite tagsRewrite) { if (previousTag == null) tagsRewrite.insertFirst(tag, fDescription); else tagsRewrite.insertAfter(tag, previousTag, fDescription); }
@Override public void initializeStatement(VariableDeclarationStatement statement, VariableDeclarationFragment current) { if (fAccessedInside.contains(current)) makeFinal(statement, fRewrite); if (fLastStatement != null) fBlockRewrite.insertAfter(statement, fLastStatement, null); fLastStatement= statement; } }
public void initializeStatement(VariableDeclarationStatement statement, VariableDeclarationFragment current) { if (fAccessedAfter.contains(current)) { if (fAccessedInside.contains(current)) makeFinal(statement, fRewrite); handleInitializer(current); if (fLastStatement != null) { fBlockRewrite.insertAfter(statement, fLastStatement, null); } fLastStatement= statement; } else { if (fLastStatement != null) { handleNewStatement(statement); } else { handleStatement(statement); fLastStatement= statement; } } }
/** * Inserts the provided node after the provided element. * * @param nodeToInsert the node to insert * @param element the node serving as a reference location * @see ListRewrite#insertAfter(ASTNode, ASTNode, org.eclipse.text.edits.TextEditGroup) */ public void insertAfter(ASTNode nodeToInsert, ASTNode element) { getListRewrite(element).insertAfter(nodeToInsert, element, null); addRefactoredNodes(element.getParent()); }
@Override public void initializeStatement(VariableDeclarationStatement statement, VariableDeclarationFragment current) { if (fAccessedAfter.contains(current)) { if (fAccessedInside.contains(current)) makeFinal(statement, fRewrite); handleInitializer(current); if (fLastStatement != null) { fBlockRewrite.insertAfter(statement, fLastStatement, null); } fLastStatement= statement; } else { if (fLastStatement != null) { handleNewStatement(statement); } else { handleStatement(statement); fLastStatement= statement; } } }
@Override public void initializeStatement(VariableDeclarationStatement statement, VariableDeclarationFragment current) { if (fAccessedAfter.contains(current)) { if (fAccessedInside.contains(current)) makeFinal(statement, fRewrite); handleInitializer(current); if (fLastStatement != null) { fBlockRewrite.insertAfter(statement, fLastStatement, null); } fLastStatement= statement; } else { if (fLastStatement != null) { handleNewStatement(statement); } else { handleStatement(statement); fLastStatement= statement; } } }
public static void insertTag(ListRewrite rewriter, TagElement newElement, Set<String> sameKindLeadingNames, TextEditGroup groupDescription) { List<? extends ASTNode> tags= rewriter.getRewrittenList(); String insertedTagName= newElement.getTagName(); ASTNode after= null; int tagRanking= getTagRanking(insertedTagName); for (int i= tags.size() - 1; i >= 0; i--) { TagElement curr= (TagElement) tags.get(i); String tagName= curr.getTagName(); if (tagName == null || tagRanking > getTagRanking(tagName)) { after= curr; break; } if (sameKindLeadingNames != null && isSameTag(insertedTagName, tagName)) { String arg= getArgument(curr); if (arg != null && sameKindLeadingNames.contains(arg)) { after= curr; break; } } } if (after != null) { rewriter.insertAfter(newElement, after, groupDescription); } else { rewriter.insertFirst(newElement, groupDescription); } }
protected void handleManyMany(ASTNode[] replacements, TextEditGroup description) { ListRewrite container= fRewrite.getListRewrite(fToReplace[0].getParent(), (ChildListPropertyDescriptor)fDescriptor); if (fToReplace.length == replacements.length) { for (int i= 0; i < fToReplace.length; i++) { container.replace(fToReplace[i], replacements[i], description); } } else if (fToReplace.length < replacements.length) { for (int i= 0; i < fToReplace.length; i++) { container.replace(fToReplace[i], replacements[i], description); } for (int i= fToReplace.length; i < replacements.length; i++) { container.insertAfter(replacements[i], replacements[i - 1], description); } } else if (fToReplace.length > replacements.length) { int delta= fToReplace.length - replacements.length; for(int i= 0; i < delta; i++) { container.remove(fToReplace[i], description); } for (int i= delta, r= 0; i < fToReplace.length; i++, r++) { container.replace(fToReplace[i], replacements[r], description); } } } }
protected void handleManyMany(ASTNode[] replacements, TextEditGroup description) { ListRewrite container= fRewrite.getListRewrite(fToReplace[0].getParent(), (ChildListPropertyDescriptor)fDescriptor); if (fToReplace.length == replacements.length) { for (int i= 0; i < fToReplace.length; i++) { container.replace(fToReplace[i], replacements[i], description); } } else if (fToReplace.length < replacements.length) { for (int i= 0; i < fToReplace.length; i++) { container.replace(fToReplace[i], replacements[i], description); } for (int i= fToReplace.length; i < replacements.length; i++) { container.insertAfter(replacements[i], replacements[i - 1], description); } } else if (fToReplace.length > replacements.length) { int delta= fToReplace.length - replacements.length; for(int i= 0; i < delta; i++) { container.remove(fToReplace[i], description); } for (int i= delta, r= 0; i < fToReplace.length; i++, r++) { container.replace(fToReplace[i], replacements[r], description); } } } }
/** * Inserts AST node wrapped by new node beside target node in the list defined by given property. * <p> * No checks are performed if the new node can be inserted nor if the target node exists. * * @param newNode * @param property * @param targetNode * @param before */ protected void insert(ASTJNode<?> newNode, ChildListPropertyDescriptor property, ASTJNode<?> targetNode, boolean before) { ListRewrite listRewrite = rewriter.getListRewrite(getASTNode(), property); if (before) { listRewrite.insertBefore(newNode.getWrappedObject(), targetNode.getWrappedObject(), null); } else { listRewrite.insertAfter(newNode.getWrappedObject(), targetNode.getWrappedObject(), null); } finishInsert(newNode); }
/** * Inserts AST node wrapped by new node beside target node in the list defined by given property. * <p> * No checks are performed if the new node can be inserted nor if the target node exists. * * @param newNode * @param property * @param targetNode * @param before */ protected void insert(ASTJNode<?> newNode, ChildListPropertyDescriptor property, ASTJNode<?> targetNode, boolean before) { ListRewrite listRewrite = rewriter.getListRewrite(getASTNode(), property); if (before) { listRewrite.insertBefore(newNode.getWrappedObject(), targetNode.getWrappedObject(), null); } else { listRewrite.insertAfter(newNode.getWrappedObject(), targetNode.getWrappedObject(), null); } finishInsert(newNode); }
private TextEditGroup makeDeclarationPrivate(ASTRewrite rewriter, FieldDeclaration decl) { AST ast= rewriter.getAST(); TextEditGroup description= new TextEditGroup(RefactoringCoreMessages.SelfEncapsulateField_change_visibility); if (decl.fragments().size() > 1) { //TODO: doesn't work for cases like this: int field1, field2= field1, field3= field2; // keeping refs to field rewriter.remove(fFieldDeclaration, description); ChildListPropertyDescriptor descriptor= getBodyDeclarationsProperty(decl.getParent()); VariableDeclarationFragment newField= (VariableDeclarationFragment) rewriter.createCopyTarget(fFieldDeclaration); FieldDeclaration fieldDecl= ast.newFieldDeclaration(newField); fieldDecl.setType((Type)rewriter.createCopyTarget(decl.getType())); fieldDecl.modifiers().addAll(ASTNodeFactory.newModifiers(ast, Modifier.PRIVATE)); rewriter.getListRewrite(decl.getParent(), descriptor).insertAfter(fieldDecl, decl, description); } else { ModifierRewrite.create(rewriter, decl).setVisibility(Modifier.PRIVATE, description); } return description; }
@Override protected void handleOneMany(ASTNode[] replacements, TextEditGroup description) { AST ast= fToReplace[0].getAST(); // to replace == 1, but more than one replacement. Have to check if we // need to insert a block to not change structure if (ASTNodes.isControlStatementBody(fDescriptor)) { Block block= ast.newBlock(); ListRewrite statements= fRewrite.getListRewrite(block, Block.STATEMENTS_PROPERTY); for (int i= 0; i < replacements.length; i++) { statements.insertLast(replacements[i], description); } fRewrite.replace(fToReplace[0], block, description); } else { ListRewrite container= fRewrite.getListRewrite(fToReplace[0].getParent(), (ChildListPropertyDescriptor)fDescriptor); container.replace(fToReplace[0], replacements[0], description); for (int i= 1; i < replacements.length; i++) { container.insertAfter(replacements[i], replacements[i - 1], description); } } } }
protected void handleOneMany(ASTNode[] replacements, TextEditGroup description) { AST ast= fToReplace[0].getAST(); // to replace == 1, but more than one replacement. Have to check if we // need to insert a block to not change structure if (ASTNodes.isControlStatementBody(fDescriptor)) { Block block= ast.newBlock(); ListRewrite statements= fRewrite.getListRewrite(block, Block.STATEMENTS_PROPERTY); for (int i= 0; i < replacements.length; i++) { statements.insertLast(replacements[i], description); } fRewrite.replace(fToReplace[0], block, description); } else { ListRewrite container= fRewrite.getListRewrite(fToReplace[0].getParent(), (ChildListPropertyDescriptor)fDescriptor); container.replace(fToReplace[0], replacements[0], description); for (int i= 1; i < replacements.length; i++) { container.insertAfter(replacements[i], replacements[i - 1], description); } } } }
@Override protected void handleOneMany(ASTNode[] replacements, TextEditGroup description) { AST ast= fToReplace[0].getAST(); // to replace == 1, but more than one replacement. Have to check if we // need to insert a block to not change structure if (ASTNodes.isControlStatementBody(fDescriptor)) { Block block= ast.newBlock(); ListRewrite statements= fRewrite.getListRewrite(block, Block.STATEMENTS_PROPERTY); for (int i= 0; i < replacements.length; i++) { statements.insertLast(replacements[i], description); } fRewrite.replace(fToReplace[0], block, description); } else { ListRewrite container= fRewrite.getListRewrite(fToReplace[0].getParent(), (ChildListPropertyDescriptor)fDescriptor); container.replace(fToReplace[0], replacements[0], description); for (int i= 1; i < replacements.length; i++) { container.insertAfter(replacements[i], replacements[i - 1], description); } } } }
@Override protected void handleOneMany(ASTNode[] replacements, TextEditGroup description) { AST ast= fToReplace[0].getAST(); // to replace == 1, but more than one replacement. Have to check if we // need to insert a block to not change structure if (ASTNodes.isControlStatementBody(fDescriptor)) { Block block= ast.newBlock(); ListRewrite statements= fRewrite.getListRewrite(block, Block.STATEMENTS_PROPERTY); for (int i= 0; i < replacements.length; i++) { statements.insertLast(replacements[i], description); } fRewrite.replace(fToReplace[0], block, description); } else { ListRewrite container= fRewrite.getListRewrite(fToReplace[0].getParent(), (ChildListPropertyDescriptor)fDescriptor); container.replace(fToReplace[0], replacements[0], description); for (int i= 1; i < replacements.length; i++) { container.insertAfter(replacements[i], replacements[i - 1], description); } } } }