diff options
author | Christof Marti | 2004-10-26 08:29:07 +0000 |
---|---|---|
committer | Christof Marti | 2004-10-26 08:29:07 +0000 |
commit | cbf24010e2b71978e3e99941980dd46b335117ae (patch) | |
tree | 5c5db5596db168aa1f82e1db8468173638b313d4 /org.eclipse.text/src/org/eclipse/text/edits | |
parent | 89e216fb0f8603b399c164308de715a6ee3ce691 (diff) | |
download | eclipse.platform.text-cbf24010e2b71978e3e99941980dd46b335117ae.tar.gz eclipse.platform.text-cbf24010e2b71978e3e99941980dd46b335117ae.tar.xz eclipse.platform.text-cbf24010e2b71978e3e99941980dd46b335117ae.zip |
add moveTree(int) (reviewed with Dirk)v20041026
Diffstat (limited to 'org.eclipse.text/src/org/eclipse/text/edits')
4 files changed, 19 insertions, 6 deletions
diff --git a/org.eclipse.text/src/org/eclipse/text/edits/CopySourceEdit.java b/org.eclipse.text/src/org/eclipse/text/edits/CopySourceEdit.java index a0bdf2b13ec..44d1b9ec36a 100644 --- a/org.eclipse.text/src/org/eclipse/text/edits/CopySourceEdit.java +++ b/org.eclipse.text/src/org/eclipse/text/edits/CopySourceEdit.java @@ -258,7 +258,7 @@ public final class CopySourceEdit extends TextEdit { root.internalSetChildren(internalGetChildren()); fSourceContent= document.get(getOffset(), getLength()); fSourceRoot= PartialCopier.perform(root); - fSourceRoot.moveTree(-getOffset()); + fSourceRoot.internalMoveTree(-getOffset()); if (fSourceRoot.hasChildren()) { EditDocument subDocument= new EditDocument(fSourceContent); TextEditProcessor subProcessor= TextEditProcessor.createSourceComputationProcessor(subDocument, fSourceRoot, TextEdit.NONE); diff --git a/org.eclipse.text/src/org/eclipse/text/edits/MoveSourceEdit.java b/org.eclipse.text/src/org/eclipse/text/edits/MoveSourceEdit.java index e95f9fa2b2a..ef69c95ac82 100644 --- a/org.eclipse.text/src/org/eclipse/text/edits/MoveSourceEdit.java +++ b/org.eclipse.text/src/org/eclipse/text/edits/MoveSourceEdit.java @@ -229,7 +229,7 @@ public final class MoveSourceEdit extends TextEdit { EditDocument subDocument= new EditDocument(content); fSourceRoot= new MultiTextEdit(getOffset(), getLength()); fSourceRoot.addChildren(children); - fSourceRoot.moveTree(-getOffset()); + fSourceRoot.internalMoveTree(-getOffset()); int processingStyle= getStyle(processor); TextEditProcessor subProcessor= TextEditProcessor.createSourceComputationProcessor(subDocument, fSourceRoot, processingStyle); subProcessor.performEdits(); diff --git a/org.eclipse.text/src/org/eclipse/text/edits/MoveTargetEdit.java b/org.eclipse.text/src/org/eclipse/text/edits/MoveTargetEdit.java index 417380468d4..49a4005b048 100644 --- a/org.eclipse.text/src/org/eclipse/text/edits/MoveTargetEdit.java +++ b/org.eclipse.text/src/org/eclipse/text/edits/MoveTargetEdit.java @@ -155,7 +155,7 @@ public final class MoveTargetEdit extends TextEdit { MultiTextEdit sourceRoot= fSource.getSourceRoot(); if (sourceRoot != null) { - sourceRoot.moveTree(getOffset()); + sourceRoot.internalMoveTree(getOffset()); TextEdit[] sourceChildren= sourceRoot.removeChildren(); List children= new ArrayList(sourceChildren.length); for (int i= 0; i < sourceChildren.length; i++) { @@ -181,7 +181,7 @@ public final class MoveTargetEdit extends TextEdit { if (delete) { deleteTree(); } else { - moveTree(accumulatedDelta); + internalMoveTree(accumulatedDelta); } return accumulatedDelta + fDelta; } diff --git a/org.eclipse.text/src/org/eclipse/text/edits/TextEdit.java b/org.eclipse.text/src/org/eclipse/text/edits/TextEdit.java index 5c7a884da4e..272d4a6306d 100644 --- a/org.eclipse.text/src/org/eclipse/text/edits/TextEdit.java +++ b/org.eclipse.text/src/org/eclipse/text/edits/TextEdit.java @@ -243,6 +243,19 @@ public abstract class TextEdit { } /** + * Move all offsets in the tree by the given delta. This node must be a + * root node. + * + * @param delta the delta + * @since 3.1 + */ + public final void moveTree(int delta) { + Assert.isTrue(fParent == null); + Assert.isTrue(getOffset() + delta >= 0); + internalMoveTree(delta); + } + + /** * Returns <code>true</code> if the edit covers the given edit * <code>other</code>. It is up to the concrete text edit to * decide if a edit of length zero can cover another edit. @@ -894,11 +907,11 @@ public abstract class TextEdit { /* package */ abstract boolean deleteChildren(); - /* package */ void moveTree(int delta) { + /* package */ void internalMoveTree(int delta) { adjustOffset(delta); if (fChildren != null) { for (Iterator iter= fChildren.iterator(); iter.hasNext();) { - ((TextEdit)iter.next()).moveTree(delta); + ((TextEdit)iter.next()).internalMoveTree(delta); } } } |