Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.text/src/org/eclipse/text/edits/CopyTargetEdit.java')
-rw-r--r--org.eclipse.text/src/org/eclipse/text/edits/CopyTargetEdit.java161
1 files changed, 0 insertions, 161 deletions
diff --git a/org.eclipse.text/src/org/eclipse/text/edits/CopyTargetEdit.java b/org.eclipse.text/src/org/eclipse/text/edits/CopyTargetEdit.java
deleted file mode 100644
index ca12247ebff..00000000000
--- a/org.eclipse.text/src/org/eclipse/text/edits/CopyTargetEdit.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.text.edits;
-
-import java.util.List;
-
-import org.eclipse.jface.text.Assert;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-
-/**
- * A copy target edit denotes the target of a copy operation. Copy
- * target edits are only valid inside an edit tree if they have a
- * corresponding source edit. Furthermore a target edit can't
- * can't be a direct or indirect child of the associated source edit.
- * Violating one of two requirements will result in a <code>
- * MalformedTreeException</code> when executing the edit tree.
- * <p>
- * Copy target edits can't be used as a parent for other edits.
- * Trying to add an edit to a copy target edit results in a <code>
- * MalformedTreeException</code> as well.
- *
- * @see org.eclipse.text.edits.CopySourceEdit
- *
- * @since 3.0
- */
-public final class CopyTargetEdit extends TextEdit {
-
- private CopySourceEdit fSource;
-
- /**
- * Constructs a new copy target edit
- *
- * @param offset the edit's offset
- */
- public CopyTargetEdit(int offset) {
- super(offset, 0);
- }
-
- /**
- * Constructs an new copy target edit
- *
- * @param offset the edit's offset
- * @param source the corresponding source edit
- */
- public CopyTargetEdit(int offset, CopySourceEdit source) {
- this(offset);
- setSourceEdit(source);
- }
-
- /*
- * Copy constructor
- */
- private CopyTargetEdit(CopyTargetEdit other) {
- super(other);
- }
-
- /**
- * Returns the associated source edit or <code>null</code>
- * if no source edit is associated yet.
- *
- * @return the source edit or <code>null</code>
- */
- public CopySourceEdit getSourceEdit() {
- return fSource;
- }
-
- /**
- * Sets the source edit.
- *
- * @param edit the source edit
- *
- * @exception MalformedTreeException is thrown if the target edit
- * is a direct or indirect child of the source edit
- */
- public void setSourceEdit(CopySourceEdit edit) throws MalformedTreeException {
- Assert.isNotNull(edit);
- if (fSource != edit) {
- fSource= edit;
- fSource.setTargetEdit(this);
- TextEdit parent= getParent();
- while (parent != null) {
- if (parent == fSource)
- throw new MalformedTreeException(parent, this, TextEditMessages.getString("CopyTargetEdit.wrong_parent")); //$NON-NLS-1$
- parent= parent.getParent();
- }
- }
- }
-
- /* non Java-doc
- * @see TextEdit#doCopy
- */
- protected TextEdit doCopy() {
- return new CopyTargetEdit(this);
- }
-
- /* non Java-doc
- * @see TextEdit#postProcessCopy
- */
- protected void postProcessCopy(TextEditCopier copier) {
- if (fSource != null) {
- CopyTargetEdit target= (CopyTargetEdit)copier.getCopy(this);
- CopySourceEdit source= (CopySourceEdit)copier.getCopy(fSource);
- if (target != null && source != null)
- target.setSourceEdit(source);
- }
- }
-
- /* (non-Javadoc)
- * @see TextEdit#accept0
- */
- protected void accept0(TextEditVisitor visitor) {
- boolean visitChildren = visitor.visit(this);
- if (visitChildren) {
- acceptChildren(visitor);
- }
- }
-
- /* non Java-doc
- * @see TextEdit#traverseConsistencyCheck
- */
- /* package */ int traverseConsistencyCheck(TextEditProcessor processor, IDocument document, List sourceEdits) {
- return super.traverseConsistencyCheck(processor, document, sourceEdits) + 1;
- }
-
- /* non Java-doc
- * @see TextEdit#performConsistencyCheck
- */
- /* package */ void performConsistencyCheck(TextEditProcessor processor, IDocument document) throws MalformedTreeException {
- if (fSource == null)
- throw new MalformedTreeException(getParent(), this, TextEditMessages.getString("CopyTargetEdit.no_source")); //$NON-NLS-1$
- if (fSource.getTargetEdit() != this)
- throw new MalformedTreeException(getParent(), this, TextEditMessages.getString("CopyTargetEdit.different_target")); //$NON-NLS-1$
- }
-
- /* non Java-doc
- * @see TextEdit#performDocumentUpdating
- */
- /* package */ int performDocumentUpdating(IDocument document) throws BadLocationException {
- String source= fSource.getContent();
- document.replace(getOffset(), getLength(), source);
- fDelta= source.length() - getLength();
- fSource.clearContent();
- return fDelta;
- }
-
- /* non Java-doc
- * @see TextEdit#deleteChildren
- */
- /* package */ boolean deleteChildren() {
- return false;
- }
-}

Back to the top