/** * Create an edit which contains <code>edit1</code> and <code>edit2</code> * <p>If <code>edit1</code> overlaps <code>edit2</code> this method fails with a {@link MalformedTreeException}</p> * <p><strong>The given edits are modified and they can no longer be used.</strong></p> * * @param edit1 the edit to merge with edit2 * @param edit2 the edit to merge with edit1 * @return the merged tree * @throws MalformedTreeException if {@link #overlaps(TextEdit, TextEdit)} returns <b>true</b> * @see #overlaps(TextEdit, TextEdit) * @since 3.4 */ public static TextEdit merge(TextEdit edit1, TextEdit edit2) { if (edit1 instanceof MultiTextEdit && !edit1.hasChildren()) { return edit2; } if (edit2 instanceof MultiTextEdit && !edit2.hasChildren()) { return edit1; } MultiTextEdit result= new MultiTextEdit(); merge(edit1, edit2, result); return result; }
/** * Create an edit which contains <code>edit1</code> and <code>edit2</code> * <p>If <code>edit1</code> overlaps <code>edit2</code> this method fails with a {@link MalformedTreeException}</p> * <p><strong>The given edits are modified and they can no longer be used.</strong></p> * * @param edit1 the edit to merge with edit2 * @param edit2 the edit to merge with edit1 * @return the merged tree * @throws MalformedTreeException if {@link #overlaps(TextEdit, TextEdit)} returns <b>true</b> * @see #overlaps(TextEdit, TextEdit) * @since 3.4 */ public static TextEdit merge(TextEdit edit1, TextEdit edit2) { if (edit1 instanceof MultiTextEdit && !edit1.hasChildren()) { return edit2; } if (edit2 instanceof MultiTextEdit && !edit2.hasChildren()) { return edit1; } MultiTextEdit result= new MultiTextEdit(); merge(edit1, edit2, result); return result; }
} else { CleanUpChange merge= new CleanUpChange(FixMessages.CleanUpRefactoring_clean_up_multi_chang_name, context.getCompilationUnit()); merge.setEdit(TextEditUtil.merge(currentEdit, solution.getEdit()));
} else { CleanUpChange merge= new CleanUpChange(FixMessages.CleanUpRefactoring_clean_up_multi_chang_name, context.getCompilationUnit()); merge.setEdit(TextEditUtil.merge(currentEdit, solution.getEdit()));
TextEdit resultEdit= TextEditUtil.merge(formatEdit, otherEdit); if (!resultEdit.hasChildren()) return null;
TextEdit resultEdit= TextEditUtil.merge(formatEdit, otherEdit); if (!resultEdit.hasChildren()) return null;