diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/textmanipulation/GroupDescription.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/textmanipulation/GroupDescription.java deleted file mode 100644 index 03e3c25f4fe..00000000000 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/textmanipulation/GroupDescription.java +++ /dev/null @@ -1,73 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2006 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Rational Software - Initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.corext.textmanipulation; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import org.eclipse.core.runtime.Assert; -import org.eclipse.jface.text.IRegion; -import org.eclipse.text.edits.TextEdit; - -public class GroupDescription { - - private String fDescription; - private List fEdits; - - public GroupDescription() { - this( "NO_DESCRIPTION"); //$NON-NLS-1$ - } - - public GroupDescription(String description) { - super(); - Assert.isNotNull(description); - fDescription= description; - fEdits= new ArrayList(3); - } - - public GroupDescription(String description, TextEdit[] edits) { - super(); - Assert.isNotNull(description); - Assert.isNotNull(edits); - fDescription= description; - fEdits= new ArrayList(Arrays.asList(edits)); - } - - public void addTextEdit(TextEdit edit) { - fEdits.add(edit); - } - - public boolean hasTextEdits() { - return fEdits.isEmpty(); - } - - public TextEdit[] getTextEdits() { - return (TextEdit[]) fEdits.toArray(new TextEdit[fEdits.size()]); - } - - /** - * Returns the text range covered by the edits managed via this - * group description. The method requires that the group description - * manages at least one text edit. - */ - public IRegion getTextRange() { - int size= fEdits.size(); - if (size == 1) { - return ((TextEdit)fEdits.get(0)).getRegion(); - } - return TextEdit.getCoverage((TextEdit[])fEdits.toArray(new TextEdit[fEdits.size()])); - } - - public String getName() { - return fDescription; - } -} diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/textmanipulation/ISourceRange.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/textmanipulation/ISourceRange.java deleted file mode 100644 index 111c9ba3de9..00000000000 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/textmanipulation/ISourceRange.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - * QNX Software System - *******************************************************************************/ -package org.eclipse.cdt.internal.corext.textmanipulation; - -/** - * A source range defines an element's source coordinates relative to - * its source buffer. - *
- * This interface is not intended to be implemented by clients. - *
- */ -public interface ISourceRange { - -/** - * Returns the number of characters of the source code for this element, - * relative to the source buffer in which this element is contained. - */ -int getLength(); -/** - * Returns the 0-based index of the first character of the source code for this element, - * relative to the source buffer in which this element is contained. - */ -int getOffset(); -} - diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/textmanipulation/Messages.properties b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/textmanipulation/Messages.properties deleted file mode 100644 index f22e9c9ae6f..00000000000 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/textmanipulation/Messages.properties +++ /dev/null @@ -1,19 +0,0 @@ -################################################################################ -# Copyright (c) 2002, 2005 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -# QnX Software System -################################################################################ - -TextRange.offset=Offset: -TextRange.length=\ Length: - -TextBuffer.wrongRange=Replace failed due to wrong range [{0},{1}] - -TextBufferFactory.bufferNotManaged=Buffer not managed -TextBufferEditor.rootNodeEmpty=RootNode empty diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/textmanipulation/TextBuffer.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/textmanipulation/TextBuffer.java deleted file mode 100644 index 284ab16c2ad..00000000000 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/textmanipulation/TextBuffer.java +++ /dev/null @@ -1,461 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - * QNX Software System - *******************************************************************************/ -package org.eclipse.cdt.internal.corext.textmanipulation; - -import org.eclipse.jface.text.BadLocationException; -import org.eclipse.jface.text.DefaultLineTracker; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.IDocumentListener; -import org.eclipse.jface.text.ILineTracker; -import org.eclipse.jface.text.IRegion; -import org.eclipse.jface.util.Assert; - -import org.eclipse.cdt.internal.ui.CStatusConstants; -import org.eclipse.cdt.ui.CUIPlugin; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; - - -/** - * An implementation of aTextBuffer
that is based on ITextSelection
- * and IDocument
.
- */
-public class TextBuffer {
-
- private static class DocumentRegion extends TextRegion {
- IRegion fRegion;
- public DocumentRegion(IRegion region) {
- fRegion= region;
- }
- public int getOffset() {
- return fRegion.getOffset();
- }
- public int getLength() {
- return fRegion.getLength();
- }
- }
-
- private IDocument fDocument;
-
- public IDocument getDocument() {
- return fDocument;
- }
-
- private static final TextBufferFactory fgFactory= new TextBufferFactory();
-
- TextBuffer(IDocument document) {
- fDocument= document;
- Assert.isNotNull(fDocument);
- }
-
- /**
- * Returns the number of characters in this text buffer.
- *
- * @return the number of characters in this text buffer
- */
- public int getLength() {
- return fDocument.getLength();
- }
-
- /**
- * Returns the number of lines in this text buffer.
- *
- * @return the number of lines in this text buffer
- */
- public int getNumberOfLines() {
- return fDocument.getNumberOfLines();
- }
-
- /**
- * Returns the character at the given offset in this text buffer.
- *
- * @param offset a text buffer offset
- * @return the character at the offset
- * @exception IndexOutOfBoundsException if the offset
- * argument is negative or not less than the length of this text buffer.
- */
- public char getChar(int offset) {
- try {
- return fDocument.getChar(offset);
- } catch (BadLocationException e) {
- throw new ArrayIndexOutOfBoundsException(e.getMessage());
- }
- }
-
- /**
- * Returns the whole content of the text buffer.
- *
- * @return the whole content of the text buffer
- */
- public String getContent() {
- return fDocument.get();
- }
-
- /**
- * Returns length characters starting from the specified position.
- *
- * @return the characters specified by the given text region. Returns
- * null
if text range is illegal
- */
- public String getContent(int start, int length) {
- try {
- return fDocument.get(start, length);
- } catch (BadLocationException e) {
- return null;
- }
- }
-
- /**
- * Returns the preferred line delimiter to be used for this text buffer.
- *
- * @return the preferred line delimiter
- */
- public String getLineDelimiter() {
- String lineDelimiter= getLineDelimiter(0);
- if (lineDelimiter == null)
- lineDelimiter= System.getProperty("line.separator", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
- return lineDelimiter;
- }
-
- /**
- * Returns the line delimiter used for the given line number. Returns
- * null
if the line number is out of range.
- *
- * @return the line delimiter used by the given line number or null
- */
- public String getLineDelimiter(int line) {
- try {
- return fDocument.getLineDelimiter(line);
- } catch (BadLocationException e) {
- return null;
- }
- }
-
- /**
- * Returns the line for the given line number. If there isn't any line for
- * the given line number, null
is returned.
- *
- * @return the line for the given line number or null
- */
- public String getLineContent(int line) {
- try {
- IRegion region= fDocument.getLineInformation(line);
- return fDocument.get(region.getOffset(), region.getLength());
- } catch (BadLocationException e) {
- return null;
- }
- }
-
- /**
- * Returns the line indent for the given line. If there isn't any line for the
- * given line number, -1
is returned.
- *
- * @return the line indent for the given line number of -1
- */
- public int getLineIndent(int lineNumber, int tabWidth) {
- return getIndent(getLineContent(lineNumber), tabWidth);
- }
-
- /**
- * Returns a region of the specified line. The region contains the offset and the
- * length of the line excluding the line's delimiter. Returns null
- * if the line doesn't exist.
- *
- * @param line the line of interest
- * @return a line description or null
if the given line doesn't
- * exist
- */
- public TextRegion getLineInformation(int line) {
- try {
- return new DocumentRegion(fDocument.getLineInformation(line));
- } catch (BadLocationException e) {
- return null;
- }
- }
-
- /**
- * Returns a line region of the specified offset. The region contains the offset and
- * the length of the line excluding the line's delimiter. Returns null
- * if the line doesn't exist.
- *
- * @param offset an offset into a line
- * @return a line description or null
if the given line doesn't
- * exist
- */
- public TextRegion getLineInformationOfOffset(int offset) {
- try {
- return new DocumentRegion(fDocument.getLineInformationOfOffset(offset));
- } catch (BadLocationException e) {
- return null;
- }
- }
-
- /**
- * Returns the line number that contains the given position. If there isn't any
- * line that contains the position, null
is returned. The returned
- * string is a copy and doesn't contain the line delimiter.
- *
- * @return the line that contains the given offset or null
if line
- * doesn't exist
- */
- public int getLineOfOffset(int offset) {
- try {
- return fDocument.getLineOfOffset(offset);
- } catch (BadLocationException e) {
- return -1;
- }
- }
-
- /**
- * Returns the line that contains the given position. If there isn't any
- * line that contains the position, null
is returned. The returned
- * string is a copy and doesn't contain the line delimiter.
- *
- * @return the line that contains the given offset or null
if line
- * doesn't exist
- */
- public String getLineContentOfOffset(int offset) {
- try {
- IRegion region= fDocument.getLineInformationOfOffset(offset);
- return fDocument.get(region.getOffset(), region.getLength());
- } catch (BadLocationException e) {
- return null;
- }
- }
-
- /**
- * Converts the text determined by the region [offset, length] into an array of lines.
- * The lines are copies of the original lines and don't contain any line delimiter
- * characters.
- *
- * @return the text converted into an array of strings. Returns null
if the
- * region lies outside the source.
- */
- public String[] convertIntoLines(int offset, int length) {
- try {
- String text= fDocument.get(offset, length);
- ILineTracker tracker= new DefaultLineTracker();
- tracker.set(text);
- int size= tracker.getNumberOfLines();
- String result[]= new String[size];
- for (int i= 0; i < size; i++) {
- IRegion region= tracker.getLineInformation(i);
- result[i]= getContent(offset + region.getOffset(), region.getLength());
- }
- return result;
- } catch (BadLocationException e) {
- return null;
- }
- }
-
- /**
- * Subsitutes the given text for the specified text position
- *
- * @param offset the starting offset of the text to be replaced
- * @param length the length of the text to be replaced
- * @param text the substitution text
- * @exception CoreException if the text position [offset, length] is invalid.
- */
- public void replace(int offset, int length, String text) throws CoreException {
- try {
- fDocument.replace(offset, length, text);
- } catch (BadLocationException e) {
- IStatus s= new Status(IStatus.ERROR, CUIPlugin.PLUGIN_ID, CStatusConstants.INTERNAL_ERROR,
- TextManipulationMessages.getFormattedString(
- "TextBuffer.wrongRange", //$NON-NLS-1$
- new Object[] {new Integer(offset), new Integer(length) } ), e);
- throw new CoreException(s);
- }
- }
-
- public void replace(TextRange range, String text) throws CoreException {
- replace(range.fOffset, range.fLength, text);
- }
-
- //---- Special methods used by the TextBufferEditor
-
- /**
- * Releases this text buffer.
- */
- /* package */ void release() {
- }
-
- /* package */ void registerUpdater(IDocumentListener listener) {
- fDocument.addDocumentListener(listener);
- }
-
- /* package */ void unregisterUpdater(IDocumentListener listener) {
- fDocument.removeDocumentListener(listener);
- }
-
- //---- Utility methods
-
- /**
- * Returns the indent for the given line.
- * If line is null
, -1
is returned.
- *
- * @param line the line for which the indent is determined
- * @return the line indent for the given line number or -1
- */
- public static int getIndent(String line, int tabWidth) {
- if (line == null)
- return -1;
- int indent= 0;
- int blanks= 0;
- int size= line.length();
- for (int i= 0; i < size; i++) {
- switch (line.charAt(i)) {
- case '\t':
- indent++;
- blanks= 0;
- continue;
- case ' ':
- blanks++;
- if (blanks == tabWidth) {
- indent++;
- blanks= 0;
- }
- continue;
- default:
- break;
- }
- break;
- }
- return indent;
- }
-
- /**
- * Returns a copy of the line with the given number of identations
- * removed from the beginning.
- * If the count is zero, the line is returned.
- */
- public static String removeIndent(String line, int indentsToRemove, int tabWidth) {
- if (line != null) {
- int indent= 0;
- int blanks= 0;
- int size= line.length();
- for (int i= 0; i < size; i++) {
-
- if (indent >= indentsToRemove) {
- line= line.substring(i);
- break;
- }
-
- switch (line.charAt(i)) {
- case '\t':
- indent++;
- blanks= 0;
- continue;
- case ' ':
- blanks++;
- if (blanks == tabWidth) {
- indent++;
- blanks= 0;
- }
- continue;
- default:
- break;
- }
- }
- }
- return line;
- }
-
- //---- Factory methods ----------------------------------------------------------------
-
- /**
- * Acquires a text buffer for the given file. If a text buffer for the given
- * file already exists, then that one is returned.
- *
- * @param file the file for which a text buffer is requested
- * @return a managed text buffer for the given file
- * @exception CoreException if it was not possible to acquire the
- * text buffer
- */
- public static TextBuffer acquire(IFile file) throws CoreException {
- return fgFactory.acquire(file);
- }
-
- /**
- * Releases the given text buffer.
- *
- * @param buffer the text buffer to be released
- */
- public static void release(TextBuffer buffer) {
- fgFactory.release(buffer);
- }
-
- /**
- * Commits the changes made to the given text buffer to the underlying
- * storage system.
- *
- * @param buffer the text buffer containing the changes to be committed.
- * @param force if true
the text buffer is committed in any case.
- * If false
the text buffer is ONLY committed if the client
- * is the last one that holds a reference to the text buffer. Clients of this
- * method must make sure that they don't call this method from within an
- * IWorkspaceRunnable
.
- * @param pm the progress monitor used to report progress if committing is
- * necessary
- */
- public static void commitChanges(TextBuffer buffer, boolean force, IProgressMonitor pm) throws CoreException {
- fgFactory.commitChanges(buffer, force, pm);
- }
-
- /**
- * Creates a new TextBuffer
for the given file. The returned
- * buffer will not be managed. Any subsequent call to create
- * with the same file will return a different text buffer.
- *
- * If the file is currently open in a text editor, the editors content is copied into
- * the returned TextBuffer
. Otherwise the content is read from
- * disk.
- *
- * @param file the file for which a text buffer is to be created
- * @return a new unmanaged text buffer
- * @exception CoreException if it was not possible to create the text buffer
- */
- public static TextBuffer create(IFile file) throws CoreException {
- return fgFactory.create(file);
- }
-
- /**
- * Creates a new TextBuffer
for the string. The returned
- * buffer will not be managed. Any subsequent call to create
- * with the same string will return a different text buffer.
- *
- * @param content the text buffer's content
- * @return a new unmanaged text buffer
- * @exception CoreException if it was not possible to create the text buffer
- */
- public static TextBuffer create(String content) throws CoreException {
- return fgFactory.create(content);
- }
-
- // Unclear which methods are needed if we get the new save model. If optimal no
- // save is needed at all.
-
- public static void save(TextBuffer buffer, IProgressMonitor pm) throws CoreException {
- fgFactory.save(buffer, pm);
- }
-
- public static void aboutToChange(TextBuffer buffer) throws CoreException {
- fgFactory.aboutToChange(buffer);
- }
-
- public static void changed(TextBuffer buffer) throws CoreException {
- fgFactory.changed(buffer);
- }
-}
\ No newline at end of file
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/textmanipulation/TextBufferFactory.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/textmanipulation/TextBufferFactory.java
deleted file mode 100644
index 68e84c8b9d3..00000000000
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/textmanipulation/TextBufferFactory.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * QNX Software System
- *******************************************************************************/
-package org.eclipse.cdt.internal.corext.textmanipulation;
-
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.cdt.internal.ui.CStatusConstants;
-import org.eclipse.cdt.ui.CUIPlugin;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-
-
-/* package */ class TextBufferFactory {
-
- protected IDocumentProvider fDocumentProvider;
- private Map fFileValueMap;
- private Map fBufferValueMap;
-
- private static class Value {
- TextBuffer buffer;
- FileEditorInput input;
- IDocument document;
- IAnnotationModel annotationModel;
- int references;
- public Value(TextBuffer b, FileEditorInput i, IDocument d, IAnnotationModel m) {
- buffer= b;
- input= i;
- document= d;
- annotationModel= m;
- }
- }
-
- public TextBufferFactory() {
- // XXX http://dev.eclipse.org/bugs/show_bug.cgi?id=5170
- // Need way to map a file to a document without knowing any kind of document provider.
- this(CUIPlugin.getDefault().getDocumentProvider());
- }
-
- public TextBufferFactory(IDocumentProvider provider) {
- fDocumentProvider= provider;
- Assert.isNotNull(fDocumentProvider);
- fFileValueMap= new HashMap(5);
- fBufferValueMap= new HashMap(5);
- }
-
- public TextBuffer acquire(IFile file) throws CoreException {
- FileEditorInput input= new FileEditorInput(file);
-
- Value value= (Value)fFileValueMap.get(input);
- if (value != null) {
- value.references++;
- return value.buffer;
- }
-
- fDocumentProvider.connect(input);
- IDocument document= fDocumentProvider.getDocument(input);
- IAnnotationModel annotationModel= fDocumentProvider.getAnnotationModel(input);
- annotationModel.connect(document);
- value= new Value(new TextBuffer(document), input, document, annotationModel);
- fFileValueMap.put(input, value);
- fBufferValueMap.put(value.buffer, value);
- value.references++;
- return value.buffer;
- }
-
- public void release(TextBuffer buffer) {
- final Value value= (Value)fBufferValueMap.get(buffer);
- if (value == null)
- return;
-
- value.references--;
- if (value.references == 0) {
- buffer.release();
- value.annotationModel.disconnect(value.document);
- fDocumentProvider.disconnect(value.input);
- fFileValueMap.remove(value.input);
- fBufferValueMap.remove(buffer);
- }
- }
-
- public void commitChanges(TextBuffer buffer, boolean force, IProgressMonitor pm) throws CoreException {
- final Value value= (Value)fBufferValueMap.get(buffer);
- if (value == null)
- return;
-
- boolean save= force || fDocumentProvider.mustSaveDocument(value.input);
- if (save) {
- IWorkspaceRunnable action= new IWorkspaceRunnable() {
- public void run(IProgressMonitor pm) throws CoreException {
- fDocumentProvider.aboutToChange(value.input);
- fDocumentProvider.saveDocument(pm, value.input, value.document, true);
- }
- };
- try {
- ResourcesPlugin.getWorkspace().run(action, pm);
- } finally {
- fDocumentProvider.changed(value.input);
- }
- }
- }
-
- public TextBuffer create(IFile file) throws CoreException {
- FileEditorInput input= new FileEditorInput(file);
- IDocument document= fDocumentProvider.getDocument(input);
- if (document != null) {
- return new TextBuffer(new Document(document.get()));
- }
- return createFromFile(file);
- }
-
- private TextBuffer createFromFile(IFile file) throws CoreException {
- IDocument document;
- InputStreamReader in= null;
- try {
- document= new Document();
- in= new InputStreamReader(new BufferedInputStream(file.getContents()));
- StringBuffer buffer= new StringBuffer();
- char[] readBuffer= new char[2048];
- int n= in.read(readBuffer);
- while (n > 0) {
- buffer.append(readBuffer, 0, n);
- n= in.read(readBuffer);
- }
- document.set(buffer.toString());
- return new TextBuffer(document);
- } catch (IOException x) {
- IStatus s= new Status(IStatus.ERROR, CUIPlugin.PLUGIN_ID, CStatusConstants.INTERNAL_ERROR, x.getMessage(), x);
- throw new CoreException(s);
- } finally {
- if (in != null) {
- try {
- in.close();
- } catch (IOException x) {
- }
- }
- }
- }
-
- public TextBuffer create(String content) throws CoreException {
- return new TextBuffer(new Document(content));
- }
-
- public void save(TextBuffer buffer, IProgressMonitor pm) throws CoreException {
- Value value= (Value)fBufferValueMap.get(buffer);
- if (value == null)
- throwNotManaged();
- fDocumentProvider.saveDocument(pm, value.input, value.document, true);
- }
-
- public void aboutToChange(TextBuffer buffer) throws CoreException {
- Value value= (Value)fBufferValueMap.get(buffer);
- if (value == null)
- throwNotManaged();
- fDocumentProvider.aboutToChange(value.input);
- }
-
- public void changed(TextBuffer buffer) throws CoreException {
- Value value= (Value)fBufferValueMap.get(buffer);
- if (value == null)
- throwNotManaged();
- fDocumentProvider.changed(value.input);
- }
-
- private void throwNotManaged() throws CoreException {
- IStatus s= new Status(IStatus.ERROR, CUIPlugin.PLUGIN_ID,
- CStatusConstants.INTERNAL_ERROR, "TextBufferFactory.bufferNotManaged", null); //$NON-NLS-1$
- throw new CoreException(s);
- }
-}
-
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/textmanipulation/TextManipulationMessages.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/textmanipulation/TextManipulationMessages.java
deleted file mode 100644
index 0c5f058d3d7..00000000000
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/textmanipulation/TextManipulationMessages.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.cdt.internal.corext.textmanipulation;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class TextManipulationMessages {
-
- private static final String BUNDLE_NAME= "org.eclipse.cdt.internal.corext.textmanipulation.Messages"; //$NON-NLS-1$
-
- private static ResourceBundle fgResourceBundle;
- static {
- try {
- fgResourceBundle = ResourceBundle.getBundle(BUNDLE_NAME);
- } catch (MissingResourceException x) {
- fgResourceBundle = null;
- }
- }
-
- private TextManipulationMessages() {
- }
-
- public static String getString(String key) {
- try {
- return fgResourceBundle.getString(key);
- } catch (MissingResourceException e) {
- return '!' + key + '!';
- } catch (NullPointerException e) {
- return "#" + key + "#"; //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- public static String getFormattedString(String key, Object arg) {
- return getFormattedString(key, new Object[] { arg });
- }
-
- public static String getFormattedString(String key, Object[] args) {
- return MessageFormat.format(getString(key), args);
- }
-}
\ No newline at end of file
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/textmanipulation/TextRange.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/textmanipulation/TextRange.java
deleted file mode 100644
index 7ad5cac9808..00000000000
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/textmanipulation/TextRange.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * QNX Software System
- *******************************************************************************/
-package org.eclipse.cdt.internal.corext.textmanipulation;
-
-import org.eclipse.jface.util.Assert;
-
-
-
-public final class TextRange {
-
- /* package */ int fOffset;
- /* package */ int fLength;
-
- public static final TextRange UNDEFINED= new TextRange((TextRange)null);
-
- /**
- * Creates a insert position with the given offset.
- *
- * @param offset the position offset, must be >= 0
- */
- public TextRange(int offset) {
- this(offset, 0);
- }
-
- /**
- * Creates a new range with the given offset and length.
- *
- * @param offset the position offset, must be >= 0
- * @param length the position length, must be >= 0
- */
- public TextRange(int offset, int length) {
- fOffset= offset;
- Assert.isTrue(fOffset >= 0);
- fLength= length;
- Assert.isTrue(fLength >= 0);
- }
-
- /**
- * Constructor for the undefined text range.
- */
- private TextRange(TextRange dummy) {
- fOffset= -1;
- fLength= -1;
- }
-
- public static TextRange createFromStartAndLength(int start, int length) {
- return new TextRange(start, length);
- }
-
- public static TextRange createFromStartAndInclusiveEnd(int start, int end) {
- return new TextRange(start, end - start + 1);
- }
-
- public static TextRange createFromStartAndExclusiveEnd(int start, int end) {
- return new TextRange(start, end - start);
- }
-
- /**
- * Creates a new range from the given source range.
- *
- * @range the source range denoting offset and length
- */
- public TextRange(ISourceRange range) {
- this(range.getOffset(), range.getLength());
- }
-
- /**
- * Returns the offset of this range.
- *
- * @return the length of this range
- */
- public int getOffset() {
- return fOffset;
- }
-
- /**
- * Returns the length of this range.
- *
- * @return the length of this range
- */
- public int getLength() {
- return fLength;
- }
-
- /**
- * Returns the inclusive end position of this range. That means that the end position
- * denotes the last character of this range.
- *
- * @return the inclusive end position
- */
- public int getInclusiveEnd() {
- return fOffset + fLength - 1;
- }
-
- /**
- * Returns the exclusive end position of this range. That means that the end position
- * denotes the first character after this range.
- *
- * @return the exclusive end position
- */
- public int getExclusiveEnd() {
- return fOffset + fLength;
- }
-
- /**
- * Creates a copy of this TextRange
.
- *
- * @return a copy of this TextRange
- */
- public TextRange copy() {
- if (isUndefined())
- return this;
- return new TextRange(fOffset, fLength);
- }
-
- /**
- * Returns true
if this text range is the UNDEFINED
- * text range. Otherwise false
is returned.
- */
- public boolean isUndefined() {
- return UNDEFINED == this;
- }
-
- /**
- * Checks if this TextRange
is valid. For valid text range the following
- * expression evaluates to true
:
- *
- * getOffset() >= 0 && getLength() >= 0 - *- * - * @return
true
if this text range is a valid range. Otherwise
- * false
- */
- public boolean isValid() {
- return fOffset >= 0 && fLength >= 0;
- }
-
- /* package */ boolean isInsertionPoint() {
- return fLength == 0;
- }
-
- /* package */ boolean equals(TextRange range) {
- return fOffset == range.fOffset && fLength == range.fLength;
- }
-
- /* package */ boolean isEqualInsertionPoint(TextRange range) {
- return fLength == 0 && range.fLength == 0 && fOffset == range.fOffset;
- }
-
- /* package */ boolean liesBehind(TextRange range) {
- return fOffset >= range.fOffset + range.fLength;
- }
-
- /* package */ boolean isInsertionPointAt(int o) {
- return fOffset == o && fLength == 0;
- }
-
- /* package */ boolean covers(TextRange other) {
- if (fLength == 0) { // an insertion point can't cover anything
- return false;
- } else if (other.fLength == 0) {
- int otherOffset= other.fOffset;
- return fOffset < otherOffset && otherOffset < fOffset + fLength;
- } else {
- int otherOffset= other.fOffset;
- return fOffset <= otherOffset && otherOffset + other.fLength <= fOffset + fLength;
- }
- }
- /* non Java-doc
- * @see Object#toString()
- */
- public String toString() {
- StringBuffer buffer= new StringBuffer();
- buffer.append(TextManipulationMessages.getString("TextRange.offset")); //$NON-NLS-1$
- buffer.append(fOffset);
- buffer.append(TextManipulationMessages.getString("TextRange.length")); //$NON-NLS-1$
- buffer.append(fLength);
- return buffer.toString();
- }
-
- public boolean equals(Object obj) {
- if (! (obj instanceof TextRange))
- return false;
- TextRange other= (TextRange)obj;
- return fOffset == other.getOffset() && fLength == other.getLength();
- }
-
- public int hashCode() {
- return fOffset ^ fLength;
- }
-
-}
-
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/textmanipulation/TextRegion.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/textmanipulation/TextRegion.java
deleted file mode 100644
index 57d8fc06379..00000000000
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/textmanipulation/TextRegion.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * QNX Software System
- *******************************************************************************/
-package org.eclipse.cdt.internal.corext.textmanipulation;
-
-/**
- * A text region describes a certain range in an ITextBuffer
. A region is defined by
- * its offset into the text buffer and its length.
- * - * A region is considered a value object. Its offset or length do not change over time.
- *
- *