private TextEdit createEdit(Map<TextEdit, TextEdit> editMap) { MultiTextEdit result= new MultiTextEdit(0, fSourceRoot.getLength()); editMap.put(result, fSourceRoot); createEdit(fSourceRoot, result, editMap); return result; }
private TextEdit createEdit(Map<TextEdit, TextEdit> editMap) { MultiTextEdit result= new MultiTextEdit(0, fSourceRoot.getLength()); editMap.put(result, fSourceRoot); createEdit(fSourceRoot, result, editMap); return result; }
private static void createEdit(TextEdit source, TextEdit target, Map<TextEdit, TextEdit> editMap) { TextEdit[] children= source.getChildren(); for (TextEdit child : children) { // a deleted child remains deleted even if the temporary buffer // gets modified. if (child.isDeleted()) continue; RangeMarker marker= new RangeMarker(child.getOffset(), child.getLength()); target.addChild(marker); editMap.put(marker, child); createEdit(child, marker, editMap); } }
private static void createEdit(TextEdit source, TextEdit target, Map<TextEdit, TextEdit> editMap) { TextEdit[] children= source.getChildren(); for (int i= 0; i < children.length; i++) { TextEdit child= children[i]; // a deleted child remains deleted even if the temporary buffer // gets modified. if (child.isDeleted()) continue; RangeMarker marker= new RangeMarker(child.getOffset(), child.getLength()); target.addChild(marker); editMap.put(marker, child); createEdit(child, marker, editMap); } }
private void applyTransformation(IDocument document, int style) throws MalformedTreeException { if ((style & TextEdit.UPDATE_REGIONS) != 0 && fSourceRoot != null) { Map<TextEdit, TextEdit> editMap= new HashMap<>(); TextEdit newEdit= createEdit(editMap); List<ReplaceEdit> replaces= new ArrayList<>(Arrays.asList(fModifier.getModifications(document.get()))); insertEdits(newEdit, replaces); try { newEdit.apply(document, style); } catch (BadLocationException cannotHappen) { Assert.isTrue(false); } restorePositions(editMap); } else { MultiTextEdit newEdit= new MultiTextEdit(0, document.getLength()); TextEdit[] replaces= fModifier.getModifications(document.get()); for (TextEdit replace : replaces) { newEdit.addChild(replace); } try { newEdit.apply(document, style); } catch (BadLocationException cannotHappen) { Assert.isTrue(false); } } }
private void applyTransformation(IDocument document, int style) throws MalformedTreeException { if ((style & TextEdit.UPDATE_REGIONS) != 0 && fSourceRoot != null) { Map<TextEdit, TextEdit> editMap= new HashMap<>(); TextEdit newEdit= createEdit(editMap); List<ReplaceEdit> replaces= new ArrayList<>(Arrays.asList(fModifier.getModifications(document.get()))); insertEdits(newEdit, replaces); try { newEdit.apply(document, style); } catch (BadLocationException cannotHappen) { Assert.isTrue(false); } restorePositions(editMap); } else { MultiTextEdit newEdit= new MultiTextEdit(0, document.getLength()); TextEdit[] replaces= fModifier.getModifications(document.get()); for (int i= 0; i < replaces.length; i++) { newEdit.addChild(replaces[i]); } try { newEdit.apply(document, style); } catch (BadLocationException cannotHappen) { Assert.isTrue(false); } } }