X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/core/ICodeAssist.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/core/ICodeAssist.java new file mode 100644 index 0000000..a0d7654 --- /dev/null +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/core/ICodeAssist.java @@ -0,0 +1,198 @@ +/******************************************************************************* + * Copyright (c) 2000, 2004 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package net.sourceforge.phpdt.core; + +/** + * Common protocol for Java elements that support source code assist and code + * resolve. + *

+ * This interface is not intended to be implemented by clients. + *

+ */ +public interface ICodeAssist { + + /** + * Performs code completion at the given offset position in this compilation unit, + * reporting results to the given completion requestor. The offset + * is the 0-based index of the character, after which code assist is desired. + * An offset of -1 indicates to code assist at the beginning of this + * compilation unit. + * + * @param offset the given offset position + * @param requestor the given completion requestor + * + * @exception JavaModelException if code assist could not be performed. Reasons include: + * + * @exception IllegalArgumentException if requestor is null + * @deprecated Use {@link #codeComplete(int, ICompletionRequestor)} instead. + */ + void codeComplete(int offset, ICodeCompletionRequestor requestor) + throws JavaModelException; + /** + * Performs code completion at the given offset position in this compilation unit, + * reporting results to the given completion requestor. The offset + * is the 0-based index of the character, after which code assist is desired. + * An offset of -1 indicates to code assist at the beginning of this + * compilation unit. + * + * @param offset the given offset position + * @param requestor the given completion requestor + * @exception JavaModelException if code assist could not be performed. Reasons include: + * + * @exception IllegalArgumentException if requestor is null + * @since 2.0 + */ + // TODO (jerome - once CompletionRequestor is working) @ deprecated Use {@link #codeComplete(int, CompletionRequestor)} instead. + void codeComplete(int offset, ICompletionRequestor requestor) + throws JavaModelException; + + /** + * DO NOT USE: This API element was added in anticipation of J2SE + * 1.5 support, which is planned for the next release of Eclipse after 3.0. + * It is currently unimplemented, and the API may change slightly before + * reaching its final form. + *

+ * Performs code completion at the given offset position in this compilation unit, + * reporting results to the given completion requestor. The offset + * is the 0-based index of the character, after which code assist is desired. + * An offset of -1 indicates to code assist at the beginning of this + * compilation unit. + *

+ * + * @param offset the given offset position + * @param requestor the given completion requestor + * @exception JavaModelException if code assist could not be performed. Reasons include:

+ * + * @exception IllegalArgumentException if requestor is null + * @since 3.0 + */ + void codeComplete(int offset, CompletionRequestor requestor) + throws JavaModelException; + + /** + * Performs code completion at the given offset position in this compilation unit, + * reporting results to the given completion requestor. The offset + * is the 0-based index of the character, after which code assist is desired. + * An offset of -1 indicates to code assist at the beginning of this + * compilation unit. + * It considers types in the working copies with the given owner first. In other words, + * the owner's working copies will take precedence over their original compilation units + * in the workspace. + *

+ * Note that if a working copy is empty, it will be as if the original compilation + * unit had been deleted. + *

+ * + * @param offset the given offset position + * @param requestor the given completion requestor + * @param owner the owner of working copies that take precedence over their original compilation units + * @exception JavaModelException if code assist could not be performed. Reasons include: + * + * @exception IllegalArgumentException if requestor is null + * @since 3.0 + */ + // TODO (jerome - once CompletionRequestor is working) @ deprecated Use {@link #codeComplete(int, CompletionRequestor, WorkingCopyOwner)} instead. + void codeComplete(int offset, ICompletionRequestor requestor, WorkingCopyOwner owner) + throws JavaModelException; + + /** + * DO NOT USE: This API element was added in anticipation of J2SE + * 1.5 support, which is planned for the next release of Eclipse after 3.0. + * It is currently unimplemented, and the API may change slightly before + * reaching its final form. + *

+ * Performs code completion at the given offset position in this compilation unit, + * reporting results to the given completion requestor. The offset + * is the 0-based index of the character, after which code assist is desired. + * An offset of -1 indicates to code assist at the beginning of this + * compilation unit. + * It considers types in the working copies with the given owner first. In other words, + * the owner's working copies will take precedence over their original compilation units + * in the workspace. + *

+ * Note that if a working copy is empty, it will be as if the original compilation + * unit had been deleted. + *

+ * + * @param offset the given offset position + * @param requestor the given completion requestor + * @param owner the owner of working copies that take precedence over their original compilation units + * @exception JavaModelException if code assist could not be performed. Reasons include: + * + * @exception IllegalArgumentException if requestor is null + * @since 3.0 + */ + void codeComplete(int offset, CompletionRequestor requestor, WorkingCopyOwner owner) + throws JavaModelException; + + /** + * Returns the Java elements correspondiing to the given selected text in this compilation unit. + * The offset is the 0-based index of the first selected character. + * The length is the number of selected characters. + * + * @param offset the given offset position + * @param length the number of selected characters + * @return the Java elements correspondiing to the given selected text + * + * @exception JavaModelException if code resolve could not be performed. Reasons include: + *
  • This Java element does not exist (ELEMENT_DOES_NOT_EXIST)
  • + *
  • The range specified is not within this element's + * source range (INDEX_OUT_OF_BOUNDS) + * + * + */ + IJavaElement[] codeSelect(int offset, int length) throws JavaModelException; + /** + * Returns the Java elements correspondiing to the given selected text in this compilation unit. + * The offset is the 0-based index of the first selected character. + * The length is the number of selected characters. + * It considers types in the working copies with the given owner first. In other words, + * the owner's working copies will take precedence over their original compilation units + * in the workspace. + *

    + * Note that if a working copy is empty, it will be as if the original compilation + * unit had been deleted. + *

    + * + * @param offset the given offset position + * @param length the number of selected characters + * @param owner the owner of working copies that take precedence over their original compilation units + * @return the Java elements correspondiing to the given selected text + * + * @exception JavaModelException if code resolve could not be performed. Reasons include: + *
  • This Java element does not exist (ELEMENT_DOES_NOT_EXIST)
  • + *
  • The range specified is not within this element's + * source range (INDEX_OUT_OF_BOUNDS) + * + * @since 3.0 + */ + IJavaElement[] codeSelect(int offset, int length, WorkingCopyOwner owner) throws JavaModelException; +}