Package org.eclipse.text.edits
Class MoveTargetEdit
java.lang.Object
org.eclipse.text.edits.TextEdit
org.eclipse.text.edits.MoveTargetEdit
A move target edit denotes the target of a move operation. Move
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 its associated source edit.
Violating one of two requirements will result in a
MalformedTreeException
when executing the edit tree.
Move target edits can't be used as a parent for other edits.
Trying to add an edit to a move target edit results in a
MalformedTreeException
as well.
- Since:
- 3.0
- See Also:
-
Field Summary
Fields inherited from class org.eclipse.text.edits.TextEdit
CREATE_UNDO, NONE, UPDATE_REGIONS
-
Constructor Summary
ConstructorDescriptionMoveTargetEdit
(int offset) Constructs a new move target editMoveTargetEdit
(int offset, MoveSourceEdit source) Constructs an new move target edit -
Method Summary
Modifier and TypeMethodDescriptionprotected void
accept0
(TextEditVisitor visitor) Accepts the given visitor on a type-specific visit of the current edit.protected TextEdit
doCopy()
Creates and returns a copy of this edit.Returns the associated source edit ornull
if no source edit is associated yet.protected void
postProcessCopy
(TextEditCopier copier) This method is called on every edit of the copied tree to do some post-processing like connected an edit to a different edit in the tree.void
setSourceEdit
(MoveSourceEdit edit) Sets the source edit.Methods inherited from class org.eclipse.text.edits.TextEdit
accept, acceptChildren, addChild, addChildren, apply, apply, canZeroLengthCover, childDocumentUpdated, childRegionUpdated, copy, covers, equals, getChildren, getChildrenSize, getCoverage, getExclusiveEnd, getInclusiveEnd, getLength, getOffset, getParent, getRegion, getRoot, hasChildren, hashCode, isDeleted, moveTree, removeChild, removeChild, removeChildren, toString
-
Constructor Details
-
MoveTargetEdit
public MoveTargetEdit(int offset) Constructs a new move target edit- Parameters:
offset
- the edit's offset
-
MoveTargetEdit
Constructs an new move target edit- Parameters:
offset
- the edit's offsetsource
- the corresponding source edit
-
-
Method Details
-
getSourceEdit
Returns the associated source edit ornull
if no source edit is associated yet.- Returns:
- the source edit or
null
-
setSourceEdit
Sets the source edit.- Parameters:
edit
- the source edit- Throws:
MalformedTreeException
- is thrown if the target edit is a direct or indirect child of the source edit
-
doCopy
Description copied from class:TextEdit
Creates and returns a copy of this edit. The copy method should be implemented in a way so that the copy can executed without causing any harm to the original edit. Implementors of this method are responsible for creating deep or shallow copies of referenced object to fulfill this requirement.Implementers of this method should use the copy constructor
This method should not be called from outside the framework. Please useEdit#Edit
(Edit source) to initialize the edit part of the copy. Implementors aren't responsible to actually copy the children or to set the right parent.copy
to create a copy of a edit tree. -
postProcessCopy
Description copied from class:TextEdit
This method is called on every edit of the copied tree to do some post-processing like connected an edit to a different edit in the tree.This default implementation does nothing
- Overrides:
postProcessCopy
in classTextEdit
- Parameters:
copier
- the copier that manages a map between original and copied edit.- See Also:
-
accept0
Description copied from class:TextEdit
Accepts the given visitor on a type-specific visit of the current edit. This method must be implemented in all concrete text edits.General template for implementation on each concrete TextEdit class:
boolean visitChildren= visitor.visit(this); if (visitChildren) { acceptChildren(visitor); }
accept
) takes care of invokingvisitor.preVisit(this)
andvisitor.postVisit(this)
.
-