diff options
author | Sergey Prigogin | 2012-04-06 18:01:32 +0000 |
---|---|---|
committer | Sergey Prigogin | 2012-04-06 18:01:32 +0000 |
commit | 2ab852ece0dc8a845643ae3e2330e70de037b359 (patch) | |
tree | 08bbd3508bd2a985b9dd362aa0acb1ca24d48cea /core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom | |
parent | 9c2b66cf03f5423013365c0db8890a801b45a876 (diff) | |
download | org.eclipse.cdt-2ab852ece0dc8a845643ae3e2330e70de037b359.tar.gz org.eclipse.cdt-2ab852ece0dc8a845643ae3e2330e70de037b359.tar.xz org.eclipse.cdt-2ab852ece0dc8a845643ae3e2330e70de037b359.zip |
Minor code cleanup.
Diffstat (limited to 'core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom')
-rw-r--r-- | core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/changegenerator/ChangeGenerator.java | 63 |
1 files changed, 31 insertions, 32 deletions
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/changegenerator/ChangeGenerator.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/changegenerator/ChangeGenerator.java index 63621e08d97..61c61b34c29 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/changegenerator/ChangeGenerator.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/changegenerator/ChangeGenerator.java @@ -425,43 +425,42 @@ public class ChangeGenerator extends ASTVisitor { edit2.moveTree(-delta); result.addChild(edit2); edit2 = null; + } else if (edit2 == null) { + delta += TextEditUtil.delta(edit1); + result.addChild(edit1); + edit1 = null; } else { - int d = TextEditUtil.delta(edit1); - if (edit2 == null) { + if (edit2.getExclusiveEnd() - delta <= edit1.getOffset()) { + edit2.moveTree(-delta); + result.addChild(edit2); + edit2 = null; + } else { + TextEdit piece = clippedEdit(edit2, new Region(-1, edit1.getOffset() + delta)); + if (piece != null) { + piece.moveTree(-delta); + result.addChild(piece); + } + int d = TextEditUtil.delta(edit1); + Region region = new Region(edit1.getOffset() + delta, edit1.getLength() + d); + int end = endOffset(region); + MultiTextEdit format = new MultiTextEdit(); + while ((piece = clippedEdit(edit2, region)) != null) { + format.addChild(piece); + // The warning "The variable edit2 may be null at this location" is bogus. + if (edit2.getExclusiveEnd() >= end || j >= formatEdits.length) { + break; + } + edit2 = formatEdits[j++]; + } + if (format.hasChildren()) { + format.moveTree(-delta); + edit1 = applyEdit(format, edit1); + } delta += d; result.addChild(edit1); edit1 = null; - } else { - if (edit2.getExclusiveEnd() - delta <= edit1.getOffset()) { - edit2.moveTree(-delta); - result.addChild(edit2); - edit2 = null; - } else { - TextEdit piece = clippedEdit(edit2, new Region(-1, edit1.getOffset() + delta)); - if (piece != null) { - piece.moveTree(-delta); - result.addChild(piece); - } - Region region = new Region(edit1.getOffset() + delta, edit1.getLength() + d); - int end = endOffset(region); - MultiTextEdit format = new MultiTextEdit(); - while ((piece = clippedEdit(edit2, region)) != null) { - format.addChild(piece); - if (edit2.getExclusiveEnd() >= end || j >= formatEdits.length) { - break; - } - edit2 = formatEdits[j++]; - } - if (format.hasChildren()) { - format.moveTree(-delta); - edit1 = applyEdit(format, edit1); - } - delta += d; - result.addChild(edit1); - edit1 = null; - edit2 = clippedEdit(edit2, new Region(end, Integer.MAX_VALUE - end)); - } + edit2 = clippedEdit(edit2, new Region(end, Integer.MAX_VALUE - end)); } } } |