/** * Creates and returns a placeholder node for a copy of the source code of the provided range of nodes.<br> * The placeholder node can be used like any new node created via the AST class.<br> * When the document is rewritten, a copy of the source code for the provided range of nodes is inserted * into the output document at the position corresponding to the placeholder (indentation is adjusted). * * @param <T> the type of the provided nodes * @param first the first node of the range * @param last the first node of the range * @return the new placeholder node * @see ListRewrite#createCopyTarget(ASTNode, ASTNode) */ @SuppressWarnings("unchecked") public <T extends ASTNode> T createCopyTarget(T first, T last) { return (T) getListRewrite(first).createCopyTarget(first, last); }
public void copyAllModifiers(ASTNode otherDecl, TextEditGroup editGroup) { ListRewrite modifierList= evaluateListRewrite(fModifierRewrite.getASTRewrite(), otherDecl); List originalList= modifierList.getOriginalList(); if (originalList.isEmpty()) { return; } ASTNode copy= modifierList.createCopyTarget((ASTNode) originalList.get(0), (ASTNode) originalList.get(originalList.size() - 1)); if (copy != null) { fModifierRewrite.insertLast(copy, editGroup); } }
public void copyAllModifiers(ASTNode otherDecl, TextEditGroup editGroup, boolean copyIndividually) { ListRewrite modifierList = evaluateListRewrite(fModifierRewrite.getASTRewrite(), otherDecl); List<IExtendedModifier> originalList = modifierList.getOriginalList(); if (originalList.isEmpty()) { return; } if (copyIndividually) { for (Iterator<IExtendedModifier> iterator = originalList.iterator(); iterator.hasNext();) { ASTNode modifier = (ASTNode) iterator.next(); ASTNode copy = fModifierRewrite.getASTRewrite().createCopyTarget(modifier); if (copy != null) { //paranoia check (only left here because we're in RC1) fModifierRewrite.insertLast(copy, editGroup); } } } else { ASTNode copy = modifierList.createCopyTarget((ASTNode) originalList.get(0), (ASTNode) originalList.get(originalList.size() - 1)); if (copy != null) { //paranoia check (only left here because we're in RC1) fModifierRewrite.insertLast(copy, editGroup); } } }
public void copyAllModifiers(ASTNode otherDecl, TextEditGroup editGroup, boolean copyIndividually) { ListRewrite modifierList= evaluateListRewrite(fModifierRewrite.getASTRewrite(), otherDecl); List<IExtendedModifier> originalList= modifierList.getOriginalList(); if (originalList.isEmpty()) { return; } if (copyIndividually) { for (Iterator<IExtendedModifier> iterator= originalList.iterator(); iterator.hasNext();) { ASTNode modifier= (ASTNode) iterator.next(); ASTNode copy= fModifierRewrite.getASTRewrite().createCopyTarget(modifier); if (copy != null) { //paranoia check (only left here because we're in RC1) fModifierRewrite.insertLast(copy, editGroup); } } } else { ASTNode copy= modifierList.createCopyTarget((ASTNode) originalList.get(0), (ASTNode) originalList.get(originalList.size() - 1)); if (copy != null) { //paranoia check (only left here because we're in RC1) fModifierRewrite.insertLast(copy, editGroup); } } }
public void copyAllModifiers(ASTNode otherDecl, TextEditGroup editGroup, boolean copyIndividually) { ListRewrite modifierList= evaluateListRewrite(fModifierRewrite.getASTRewrite(), otherDecl); List<IExtendedModifier> originalList= modifierList.getOriginalList(); if (originalList.isEmpty()) { return; } if (copyIndividually) { for (Iterator<IExtendedModifier> iterator= originalList.iterator(); iterator.hasNext();) { ASTNode modifier= (ASTNode) iterator.next(); ASTNode copy= fModifierRewrite.getASTRewrite().createCopyTarget(modifier); if (copy != null) { //paranoia check (only left here because we're in RC1) fModifierRewrite.insertLast(copy, editGroup); } } } else { ASTNode copy= modifierList.createCopyTarget((ASTNode) originalList.get(0), (ASTNode) originalList.get(originalList.size() - 1)); if (copy != null) { //paranoia check (only left here because we're in RC1) fModifierRewrite.insertLast(copy, editGroup); } } }
public static ASTNode getCopyOfInner(ASTRewrite rewrite, ASTNode statement, boolean toControlStatementBody) { if (statement.getNodeType() == ASTNode.BLOCK) { Block block= (Block) statement; List<Statement> innerStatements= block.statements(); int nStatements= innerStatements.size(); if (nStatements == 1) { return rewrite.createCopyTarget(innerStatements.get(0)); } else if (nStatements > 1) { if (toControlStatementBody) { return rewrite.createCopyTarget(block); } ListRewrite listRewrite= rewrite.getListRewrite(block, Block.STATEMENTS_PROPERTY); ASTNode first= innerStatements.get(0); ASTNode last= innerStatements.get(nStatements - 1); return listRewrite.createCopyTarget(first, last); } return null; } else { return rewrite.createCopyTarget(statement); } }
public static ASTNode getCopyOfInner(ASTRewrite rewrite, ASTNode statement, boolean toControlStatementBody) { if (statement.getNodeType() == ASTNode.BLOCK) { Block block= (Block) statement; List<Statement> innerStatements= block.statements(); int nStatements= innerStatements.size(); if (nStatements == 1) { return rewrite.createCopyTarget(innerStatements.get(0)); } else if (nStatements > 1) { if (toControlStatementBody) { return rewrite.createCopyTarget(block); } ListRewrite listRewrite= rewrite.getListRewrite(block, Block.STATEMENTS_PROPERTY); ASTNode first= innerStatements.get(0); ASTNode last= innerStatements.get(nStatements - 1); return listRewrite.createCopyTarget(first, last); } return null; } else { return rewrite.createCopyTarget(statement); } }
public static ASTNode getCopyOfInner(ASTRewrite rewrite, ASTNode statement, boolean toControlStatementBody) { if (statement.getNodeType() == ASTNode.BLOCK) { Block block= (Block) statement; List innerStatements= block.statements(); int nStatements= innerStatements.size(); if (nStatements == 1) { return rewrite.createCopyTarget(((ASTNode) innerStatements.get(0))); } else if (nStatements > 1) { if (toControlStatementBody) { return rewrite.createCopyTarget(block); } ListRewrite listRewrite= rewrite.getListRewrite(block, Block.STATEMENTS_PROPERTY); ASTNode first= (ASTNode) innerStatements.get(0); ASTNode last= (ASTNode) innerStatements.get(nStatements - 1); return listRewrite.createCopyTarget(first, last); } return null; } else { return rewrite.createCopyTarget(statement); } }
private static void removeCatchBlock(ASTRewrite rewrite, CatchClause catchClause) { TryStatement tryStatement= (TryStatement) catchClause.getParent(); if (tryStatement.catchClauses().size() > 1 || tryStatement.getFinally() != null || !tryStatement.resources().isEmpty()) { rewrite.remove(catchClause, null); } else { Block block= tryStatement.getBody(); List<Statement> statements= block.statements(); int nStatements= statements.size(); if (nStatements == 1) { ASTNode first= statements.get(0); rewrite.replace(tryStatement, rewrite.createCopyTarget(first), null); } else if (nStatements > 1) { ListRewrite listRewrite= rewrite.getListRewrite(block, Block.STATEMENTS_PROPERTY); ASTNode first= statements.get(0); ASTNode last= statements.get(statements.size() - 1); ASTNode newStatement= listRewrite.createCopyTarget(first, last); if (ASTNodes.isControlStatementBody(tryStatement.getLocationInParent())) { Block newBlock= rewrite.getAST().newBlock(); newBlock.statements().add(newStatement); newStatement= newBlock; } rewrite.replace(tryStatement, newStatement, null); } else { rewrite.remove(tryStatement, null); } } }
private static void removeCatchBlock(ASTRewrite rewrite, CatchClause catchClause) { TryStatement tryStatement = (TryStatement) catchClause.getParent(); if (tryStatement.catchClauses().size() > 1 || tryStatement.getFinally() != null || !tryStatement.resources().isEmpty()) { rewrite.remove(catchClause, null); } else { Block block = tryStatement.getBody(); List<Statement> statements = block.statements(); int nStatements = statements.size(); if (nStatements == 1) { ASTNode first = statements.get(0); rewrite.replace(tryStatement, rewrite.createCopyTarget(first), null); } else if (nStatements > 1) { ListRewrite listRewrite = rewrite.getListRewrite(block, Block.STATEMENTS_PROPERTY); ASTNode first = statements.get(0); ASTNode last = statements.get(statements.size() - 1); ASTNode newStatement = listRewrite.createCopyTarget(first, last); if (ASTNodes.isControlStatementBody(tryStatement.getLocationInParent())) { Block newBlock = rewrite.getAST().newBlock(); newBlock.statements().add(newStatement); newStatement = newBlock; } rewrite.replace(tryStatement, newStatement, null); } else { rewrite.remove(tryStatement, null); } } }
private static void removeCatchBlock(ASTRewrite rewrite, CatchClause catchClause) { TryStatement tryStatement= (TryStatement) catchClause.getParent(); if (tryStatement.catchClauses().size() > 1 || tryStatement.getFinally() != null || !tryStatement.resources().isEmpty()) { rewrite.remove(catchClause, null); } else { Block block= tryStatement.getBody(); List<Statement> statements= block.statements(); int nStatements= statements.size(); if (nStatements == 1) { ASTNode first= statements.get(0); rewrite.replace(tryStatement, rewrite.createCopyTarget(first), null); } else if (nStatements > 1) { ListRewrite listRewrite= rewrite.getListRewrite(block, Block.STATEMENTS_PROPERTY); ASTNode first= statements.get(0); ASTNode last= statements.get(statements.size() - 1); ASTNode newStatement= listRewrite.createCopyTarget(first, last); if (ASTNodes.isControlStatementBody(tryStatement.getLocationInParent())) { Block newBlock= rewrite.getAST().newBlock(); newBlock.statements().add(newStatement); newStatement= newBlock; } rewrite.replace(tryStatement, newStatement, null); } else { rewrite.remove(tryStatement, null); } } }
private static void removeCatchBlock(ASTRewrite rewrite, CatchClause catchClause) { TryStatement tryStatement= (TryStatement) catchClause.getParent(); if (tryStatement.catchClauses().size() > 1 || tryStatement.getFinally() != null) { rewrite.remove(catchClause, null); } else { Block block= tryStatement.getBody(); List statements= block.statements(); int nStatements= statements.size(); if (nStatements == 1) { ASTNode first= (ASTNode) statements.get(0); rewrite.replace(tryStatement, rewrite.createCopyTarget(first), null); } else if (nStatements > 1) { ListRewrite listRewrite= rewrite.getListRewrite(block, Block.STATEMENTS_PROPERTY); ASTNode first= (ASTNode) statements.get(0); ASTNode last= (ASTNode) statements.get(statements.size() - 1); ASTNode newStatement= listRewrite.createCopyTarget(first, last); if (ASTNodes.isControlStatementBody(tryStatement.getLocationInParent())) { Block newBlock= rewrite.getAST().newBlock(); newBlock.statements().add(newStatement); newStatement= newBlock; } rewrite.replace(tryStatement, newStatement, null); } else { rewrite.remove(tryStatement, null); } } }
ASTNode firstModifier= (ASTNode) modifiers.get(0); ASTNode lastModifier= (ASTNode) modifiers.get(modifiers.size() - 1); ASTNode modifiersCopy= modifiersRewrite.createCopyTarget(firstModifier, lastModifier); statement.modifiers().add(modifiersCopy);
ASTNode firstModifier= (ASTNode) modifiers.get(0); ASTNode lastModifier= (ASTNode) modifiers.get(modifiers.size() - 1); ASTNode modifiersCopy= modifiersRewrite.createCopyTarget(firstModifier, lastModifier); statement.modifiers().add(modifiersCopy);
ASTNode firstModifier= (ASTNode) modifiers.get(0); ASTNode lastModifier= (ASTNode) modifiers.get(modifiers.size() - 1); ASTNode modifiersCopy= modifiersRewrite.createCopyTarget(firstModifier, lastModifier); statement.modifiers().add(modifiersCopy);
if (arguments != null && arguments.size() > 0) { final ListRewrite rewriter= fRewrite.getListRewrite(invocation, MethodInvocation.ARGUMENTS_PROPERTY); rewriter.insertLast(rewriter.createCopyTarget((ASTNode) arguments.get(0), (ASTNode) arguments.get(arguments.size() - 1)), null);
final ListRewrite rewriter= fRewrite.getListRewrite(invocation, MethodInvocation.ARGUMENTS_PROPERTY); ListRewrite superRewriter= fRewrite.getListRewrite(node, SuperMethodInvocation.ARGUMENTS_PROPERTY); ASTNode copyTarget= superRewriter.createCopyTarget(arguments.get(0), arguments.get(arguments.size() - 1)); rewriter.insertLast(copyTarget, null);
final ListRewrite rewriter= fRewrite.getListRewrite(invocation, MethodInvocation.ARGUMENTS_PROPERTY); ListRewrite superRewriter= fRewrite.getListRewrite(node, SuperMethodInvocation.ARGUMENTS_PROPERTY); ASTNode copyTarget= superRewriter.createCopyTarget(arguments.get(0), arguments.get(arguments.size() - 1)); rewriter.insertLast(copyTarget, null);
if (oldStatements.size() > 0) { ListRewrite statementsRewrite= rewrite.getListRewrite(enhancedForBody, Block.STATEMENTS_PROPERTY); Statement oldStatementsCopy= (Statement) statementsRewrite.createCopyTarget(oldStatements.get(0), oldStatements.get(oldStatements.size() - 1)); statements.add(oldStatementsCopy); if (oldStatements.size() > 0) { ListRewrite statementsRewrite= rewrite.getListRewrite(enhancedForBody, Block.STATEMENTS_PROPERTY); Statement oldStatementsCopy= (Statement) statementsRewrite.createCopyTarget(oldStatements.get(0), oldStatements.get(oldStatements.size() - 1)); statements.add(oldStatementsCopy);
if (oldStatements.size() > 0) { ListRewrite statementsRewrite= rewrite.getListRewrite(enhancedForBody, Block.STATEMENTS_PROPERTY); Statement oldStatementsCopy= (Statement) statementsRewrite.createCopyTarget(oldStatements.get(0), oldStatements.get(oldStatements.size() - 1)); statements.add(oldStatementsCopy); if (oldStatements.size() > 0) { ListRewrite statementsRewrite= rewrite.getListRewrite(enhancedForBody, Block.STATEMENTS_PROPERTY); Statement oldStatementsCopy= (Statement) statementsRewrite.createCopyTarget(oldStatements.get(0), oldStatements.get(oldStatements.size() - 1)); statements.add(oldStatementsCopy);