Skip to main content
summaryrefslogblamecommitdiffstats
blob: 6fcfe3dd503549c73280bb33c06ef27babea1670 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

















                                                                            
















































































































































































































































                                                                                                                             
  
package org.eclipse.jdt.core;

/*
 * (c) Copyright IBM Corp. 2000, 2001.
 * All Rights Reserved.
 */
import org.eclipse.core.resources.IMarker;

/**
 * A completion requestor accepts results as they are computed and is aware
 * of source positions to complete the various different results.
 * <p>
 * This interface may be implemented by clients.
 * </p>
 *
 * @see ICodeAssist
 */
public interface ICodeCompletionRequestor {
/**
 * Code assist notification of a class completion.
 * 
 * @return void - Nothing is answered back to code assist engine
 *
 * @param packageName char[] - Declaring package name of the class.
 * @param className char[] - Name of the class.
 * @param completionName char[] - The completion for the class.
 *   Can include ';' for imported classes.
 * @param modifiers int - The modifiers of the class.
 * @param completionStart int - The start position of insertion of the name of the class.
 * @param completionEnd int - The end position of insertion of the name of the class.
 *
 * NOTE - All package and type names are presented in their readable form:
 *    Package names are in the form "a.b.c".
 *    Nested type names are in the qualified form "A.M".
 *    The default package is represented by an empty array.
 */
void acceptClass(
	char[] packageName,
	char[] className,
	char[] completionName,
	int modifiers,
	int completionStart,
	int completionEnd);
/**
 * Code assist notification of a compilation error detected during completion.
 *
 *  @return void - Nothing is answered back.
 *
 *  @param error org.eclipse.core.resources.IMarker
 *      Only problems which are categorized as errors are notified to the requestor,
 *		warnings are silently ignored.
 *		In case an error got signaled, no other completions might be available,
 *		therefore the problem message should be presented to the user.
 *		The source positions of the problem are related to the source where it was
 *		detected (might be in another compilation unit, if it was indirectly requested
 *		during the code assist process).
 *      Note: the problem knows its originating file name.
 */
void acceptError(IMarker marker);
/**
 * Code assist notification of a field completion.
 *
 * @return void - Nothing is answered back to code assist engine
 *
 * @param declaringTypePackageName char[] - Name of the package in which the type that contains this field is declared.
 * @param declaringTypeName char[] - Name of the type declaring this new field.
 * @param name char[] - Name of the field.
 * @param typePackageName char[] - Name of the package in which the type of this field is declared.
 * @param typeName char[] - Name of the type of this field.
 * @param completionName char[] - The completion for the field.
 * @param modifiers int - The modifiers of this field.
 * @param completionStart int - The start position of insertion of the name of this field.
 * @param completionEnd int - The end position of insertion of the name of this field.
 * @see com.ibm.compiler.java.ast.Modifiers
 *
 * NOTE - All package and type names are presented in their readable form:
 *    Package names are in the form "a.b.c".
 *    Base types are in the form "int" or "boolean".
 *    Array types are in the qualified form "M[]" or "int[]".
 *    Nested type names are in the qualified form "A.M".
 *    The default package is represented by an empty array.
 */
void acceptField(
	char[] declaringTypePackageName,
	char[] declaringTypeName,
	char[] name,
	char[] typePackageName,
	char[] typeName,
	char[] completionName,
	int modifiers,
	int completionStart,
	int completionEnd);
/**
 * Code assist notification of an interface completion.
 *
 * @return void - Nothing is answered back to code assist engine
 *
 * @param packageName char[] - Declaring package name of the interface.
 * @param className char[] - Name of the interface.
 * @param completionName char[] - The completion for the interface.
 *   Can include ';' for imported interfaces.
 * @param modifiers int - The modifiers of the interface.
 * @param completionStart int - The start position of insertion of the name of the interface.
 * @param completionEnd int - The end position of insertion of the name of the interface.
 *
 * NOTE - All package and type names are presented in their readable form:
 *    Package names are in the form "a.b.c".
 *    Nested type names are in the qualified form "A.M".
 *    The default package is represented by an empty array.
 */
void acceptInterface(
	char[] packageName,
	char[] interfaceName,
	char[] completionName,
	int modifiers,
	int completionStart,
	int completionEnd);
/**
 * Code assist notification of a keyword completion.
 *
 * @return void - Nothing is answered back to code assist engine
 *
 * @param keywordName char[] - The keyword source.
 * @param completionStart int - The start position of insertion of the name of this keyword.
 * @param completionEnd int - The end position of insertion of the name of this keyword.
 */
void acceptKeyword(char[] keywordName, int completionStart, int completionEnd);
/**
 * Code assist notification of a label completion.
 *
 * @return void - Nothing is answered back to code assist engine
 *
 * @param labelName char[] - The label source.
 * @param completionStart int - The start position of insertion of the name of this label.
 * @param completionEnd int - The end position of insertion of the name of this label.
 */
void acceptLabel(char[] labelName, int completionStart, int completionEnd);
/**
 * Code assist notification of a local variable completion.
 *
 * @return void - Nothing is answered back to code assist engine
 *
 * @param name char[] - Name of the new local variable.
 * @param typePackageName char[] - Name of the package in which the type of this new local variable is declared.
 * @param typeName char[] - Name of the type of this new local variable.
 * @param modifiers int - The modifiers of this new local variable.
 * @param completionStart int - The start position of insertion of the name of this new local variable.
 * @param completionEnd int - The end position of insertion of the name of this new local variable.
 * @see com.ibm.compiler.java.ast.Modifiers
 *
 * NOTE - All package and type names are presented in their readable form:
 *    Package names are in the form "a.b.c".
 *    Base types are in the form "int" or "boolean".
 *    Array types are in the qualified form "M[]" or "int[]".
 *    Nested type names are in the qualified form "A.M".
 *    The default package is represented by an empty array.
 */
void acceptLocalVariable(
	char[] name,
	char[] typePackageName,
	char[] typeName,
	int modifiers,
	int completionStart,
	int completionEnd);
/**
 * Code assist notification of a method completion.
 *
 * @return void - Nothing is answered back to code assist engine
 *
 * @param declaringTypePackageName char[] - Name of the package in which the type that contains this new method is declared.
 * @param declaringTypeName char[] - Name of the type declaring this new method.
 * @param selector char[] - Name of the new method.
 * @param parameterPackageNames char[][] -  Names of the packages in which the parameter types are declared.
 *    Should contain as many elements as parameterTypeNames.
 * @param parameterTypeNames char[][] - Names of the parameters types.
 *    Should contain as many elements as parameterPackageNames.
 * @param returnTypePackageName char[] - Name of the package in which the return type is declared.
 * @param returnTypeName char[] - Name of the return type of this new method, should be <code>null</code> for a constructor.
 * @param completionName char[] - The completion for the method.
 *   Can include zero, one or two brackets. If the closing bracket is included, then the cursor should be placed before it.
 * @param modifiers int - The modifiers of this new method.
 * @param completionStart int - The start position of insertion of the name of this new method.
 * @param completionEnd int - The end position of insertion of the name of this new method.
 * @see com.ibm.compiler.java.ast.Modifiers
 *
 * NOTE - All package and type names are presented in their readable form:
 *    Package names are in the form "a.b.c".
 *    Base types are in the form "int" or "boolean".
 *    Array types are in the qualified form "M[]" or "int[]".
 *    Nested type names are in the qualified form "A.M".
 *    The default package is represented by an empty array.
 *
 * NOTE: parameter names can be retrieved from the source model after the user selects a specific method.
 */
void acceptMethod(
	char[] declaringTypePackageName,
	char[] declaringTypeName,
	char[] selector,
	char[][] parameterPackageNames,
	char[][] parameterTypeNames,
	char[] returnTypePackageName,
	char[] returnTypeName,
	char[] completionName,
	int modifiers,
	int completionStart,
	int completionEnd);
/**
 * Code assist notification of a modifier completion.
 *
 * @return void - Nothing is answered back to code assist engine
 *
 * @param modifierName char[] - The new modifier.
 * @param completionStart int - The start position of insertion of the name of this new modifier.
 * @param completionEnd int - The end position of insertion of the name of this new modifier.
 */
void acceptModifier(char[] modifierName, int completionStart, int completionEnd);
/**
 * Code assist notification of a package completion.
 *
 * @return void - Nothing is answered back to code assist engine
 *
 * @param packageName char[] - The package name.
 * @param completionName char[] - The completion for the package.
 *   Can include '.*;' for imports.
 * @param completionStart int - The start position of insertion of the name of this new package.
 * @param completionEnd int - The end position of insertion of the name of this new package.
 *
 * NOTE - All package names are presented in their readable form:
 *    Package names are in the form "a.b.c".
 *    The default package is represented by an empty array.
 */
void acceptPackage(
	char[] packageName,
	char[] completionName,
	int completionStart,
	int completionEnd);
/**
 * Code assist notification of a type completion.
 * 
 * @return void - Nothing is answered back to code assist engine
 *
 * @param packageName char[] - Declaring package name of the type.
 * @param typeName char[] - Name of the type.
 * @param completionName char[] - The completion for the type.
 *   Can include ';' for imported types.
 * @param completionStart int - The start position of insertion of the name of the type.
 * @param completionEnd int - The end position of insertion of the name of the type.
 *
 * NOTE - All package and type names are presented in their readable form:
 *    Package names are in the form "a.b.c".
 *    Nested type names are in the qualified form "A.M".
 *    The default package is represented by an empty array.
 */
void acceptType(
	char[] packageName,
	char[] typeName,
	char[] completionName,
	int completionStart,
	int completionEnd);
}

Back to the top