View | Details | Raw Unified | Return to bug 432539
Collapse All | Expand All

(-)dom/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteAnalyzer.java (-10 / +15 lines)
Lines 813-818 Link Here
813
		RewriteEvent event= getEvent(parent, property);
813
		RewriteEvent event= getEvent(parent, property);
814
		if (event != null) {
814
		if (event != null) {
815
			switch (event.getChangeKind()) {
815
			switch (event.getChangeKind()) {
816
				case RewriteEvent.REPLACED: {
817
					ASTNode node= (ASTNode) event.getOriginalValue();
818
					TextEditGroup editGroup= getEditGroup(event);
819
					SourceRange range= getExtendedRange(node);
820
					int nodeOffset= range.getStartPosition();
821
					int nodeLen= range.getLength();
822
					if (nodeLen == 0 && (node.getFlags() & ASTNode.RECOVERED) != 0) {
823
						// A recovered node. Assume the prefix was also missing. Fall through to case INSERTED.
824
					} else {
825
						doTextRemoveAndVisit(nodeOffset, nodeLen, node, editGroup);
826
						doTextInsert(nodeOffset, (ASTNode) event.getNewValue(), getIndent(offset), true, editGroup);
827
						return nodeOffset + nodeLen;
828
					}
829
				}
830
				//$FALL-THROUGH$
816
				case RewriteEvent.INSERTED: {
831
				case RewriteEvent.INSERTED: {
817
					ASTNode node= (ASTNode) event.getNewValue();
832
					ASTNode node= (ASTNode) event.getNewValue();
818
					TextEditGroup editGroup= getEditGroup(event);
833
					TextEditGroup editGroup= getEditGroup(event);
Lines 839-854 Link Here
839
					}
854
					}
840
					doTextRemoveAndVisit(offset, len, node, editGroup);
855
					doTextRemoveAndVisit(offset, len, node, editGroup);
841
					return nodeEnd;
856
					return nodeEnd;
842
				}
843
				case RewriteEvent.REPLACED: {
844
					ASTNode node= (ASTNode) event.getOriginalValue();
845
					TextEditGroup editGroup= getEditGroup(event);
846
					SourceRange range= getExtendedRange(node);
847
					int nodeOffset= range.getStartPosition();
848
					int nodeLen= range.getLength();
849
					doTextRemoveAndVisit(nodeOffset, nodeLen, node, editGroup);
850
					doTextInsert(nodeOffset, (ASTNode) event.getNewValue(), getIndent(offset), true, editGroup);
851
					return nodeOffset + nodeLen;
852
				}
857
				}
853
			}
858
			}
854
		}
859
		}

Return to bug 432539