Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristof Marti2004-10-26 08:29:07 +0000
committerChristof Marti2004-10-26 08:29:07 +0000
commitcbf24010e2b71978e3e99941980dd46b335117ae (patch)
tree5c5db5596db168aa1f82e1db8468173638b313d4 /org.eclipse.text/src/org/eclipse/text/edits
parent89e216fb0f8603b399c164308de715a6ee3ce691 (diff)
downloadeclipse.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')
-rw-r--r--org.eclipse.text/src/org/eclipse/text/edits/CopySourceEdit.java2
-rw-r--r--org.eclipse.text/src/org/eclipse/text/edits/MoveSourceEdit.java2
-rw-r--r--org.eclipse.text/src/org/eclipse/text/edits/MoveTargetEdit.java4
-rw-r--r--org.eclipse.text/src/org/eclipse/text/edits/TextEdit.java17
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);
}
}
}

Back to the top