X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/core/ICompletionRequestor.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/core/ICompletionRequestor.java index acbb1c9..62602d6 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/core/ICompletionRequestor.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/core/ICompletionRequestor.java @@ -13,393 +13,485 @@ package net.sourceforge.phpdt.core; import net.sourceforge.phpdt.core.compiler.IProblem; /** - * A completion requestor accepts results as they are computed and is aware - * of source positions to complete the various different results. + * A completion requestor accepts results as they are computed and is aware of + * source positions to complete the various different results. *

* This interface may be implemented by clients. *

- * + * * @see ICodeAssist * @since 2.0 */ public interface ICompletionRequestor { -/** - * Code assist notification of an anonymous type declaration completion. - * @param superTypePackageName Name of the package that contains the super type of this - * new anonymous type declaration . - * - * @param superTypeName Name of the super type of this new anonymous type declaration. - * - * @param parameterPackageNames Names of the packages in which the parameter types are declared. - * Should contain as many elements as parameterTypeNames. - * - * @param parameterTypeNames Names of the parameters types. - * Should contain as many elements as parameterPackageNames. - * - * @param completionName The completion for the anonymous type declaration. - * Can include zero, one or two brackets. If the closing bracket is included, - * then the cursor should be placed before it. - * - * @param modifiers The modifiers of the constructor. - * - * @param completionStart The start position of insertion of the name of this new anonymous type declaration. - * - * @param completionEnd The end position of insertion of the name of this new anonymous type declaration. - * - * @param relevance The relevance of the completion proposal - * It is a positive integer which are used for determine if this proposal is more relevant than another proposal. - * This value can only be used for compare relevance. A proposal is more relevant than another if his relevance - * value is higher. - * - * 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 acceptAnonymousType( - char[] superTypePackageName, - char[] superTypeName, - char[][] parameterPackageNames, - char[][] parameterTypeNames, - char[][] parameterNames, - char[] completionName, - int modifiers, - int completionStart, - int completionEnd, - int relevance); -/** - * Code assist notification of a class completion. - * - * @param packageName Declaring package name of the class. - * @param className Name of the class. - * @param completionName The completion for the class. Can include ';' for imported classes. - * @param modifiers The modifiers of the class. - * @param completionStart The start position of insertion of the name of the class. - * @param completionEnd The end position of insertion of the name of the class. - * @param relevance The relevance of the completion proposal - * It is a positive integer which are used for determine if this proposal is more relevant than another proposal. - * This value can only be used for compare relevance. A proposal is more relevant than another if his relevance - * value is higher. - * - * 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, - int relevance); -/** - * Code assist notification of a compilation error detected during completion. - * @param error Only problems which are categorized as non-syntax errors are notified to the - * requestor, warnings are silently ignored. - * In case an error got signalled, 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(IProblem error); -/** - * Code assist notification of a field completion. - * - * @param declaringTypePackageName Name of the package in which the type that contains this field is declared. - * @param declaringTypeName Name of the type declaring this new field. - * @param name Name of the field. - * @param typePackageName Name of the package in which the type of this field is declared. - * @param typeName Name of the type of this field. - * @param completionName The completion for the field. - * @param modifiers The modifiers of this field. - * @param completionStart The start position of insertion of the name of this field. - * @param completionEnd The end position of insertion of the name of this field. - * @param relevance The relevance of the completion proposal - * It is a positive integer which are used for determine if this proposal is more relevant than another proposal. - * This value can only be used for compare relevance. A proposal is more relevant than another if his relevance - * value is higher. - * - * 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, - int relevance); -/** - * Code assist notification of an interface completion. - * - * @param packageName Declaring package name of the interface. - * @param className Name of the interface. - * @param completionName The completion for the interface. Can include ';' for imported interfaces. - * @param modifiers The modifiers of the interface. - * @param completionStart The start position of insertion of the name of the interface. - * @param completionEnd The end position of insertion of the name of the interface. - * @param relevance The relevance of the completion proposal - * It is a positive integer which are used for determine if this proposal is more relevant than another proposal. - * This value can only be used for compare relevance. A proposal is more relevant than another if his relevance - * value is higher. - * - * 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, - int relevance); -/** - * Code assist notification of a keyword completion. - * @param keywordName The keyword source. - * @param completionStart The start position of insertion of the name of this keyword. - * @param completionEnd The end position of insertion of the name of this keyword. - * @param relevance The relevance of the completion proposal - * It is a positive integer which are used for determine if this proposal is more relevant than another proposal. - * This value can only be used for compare relevance. A proposal is more relevant than another if his relevance - * value is higher. - */ -void acceptKeyword(char[] keywordName, int completionStart, int completionEnd, int relevance); -/** - * Code assist notification of a label completion. - * - * @param labelName The label source. - * @param completionStart The start position of insertion of the name of this label. - * @param completionEnd The end position of insertion of the name of this label. - * @param relevance The relevance of the completion proposal - * It is a positive integer which are used for determine if this proposal is more relevant than another proposal. - * This value can only be used for compare relevance. A proposal is more relevant than another if his relevance - * value is higher. - */ -void acceptLabel(char[] labelName, int completionStart, int completionEnd, int relevance); -/** - * Code assist notification of a local variable completion. - * - * @param name Name of the new local variable. - * @param typePackageName Name of the package in which the type of this new local variable is declared. - * @param typeName Name of the type of this new local variable. - * @param modifiers The modifiers of this new local variable. - * @param completionStart The start position of insertion of the name of this new local variable. - * @param completionEnd The end position of insertion of the name of this new local variable. - * @param relevance The relevance of the completion proposal - * It is a positive integer which are used for determine if this proposal is more relevant than another proposal. - * This value can only be used for compare relevance. A proposal is more relevant than another if his relevance - * value is higher. - * - * 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, - int relevance); -/** - * Code assist notification of a method completion. - * - * @param declaringTypePackageName Name of the package in which the type that contains this new method is declared. - * @param declaringTypeName Name of the type declaring this new method. - * @param selector Name of the new method. - * @param parameterPackageNames Names of the packages in which the parameter types are declared. - * Should contain as many elements as parameterTypeNames. - * @param parameterTypeNames Names of the parameters types. - * Should contain as many elements as parameterPackageNames. - * @param returnTypePackageName Name of the package in which the return type is declared. - * @param returnTypeName Name of the return type of this new method, should be null for a constructor. - * @param completionName 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 The modifiers of this new method. - * @param completionStart The start position of insertion of the name of this new method. - * @param completionEnd The end position of insertion of the name of this new method. - * @param relevance The relevance of the completion proposal - * It is a positive integer which are used for determine if this proposal is more relevant than another proposal. - * This value can only be used for compare relevance. A proposal is more relevant than another if his relevance - * value is higher. - * - * 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[][] parameterNames, - char[] returnTypePackageName, - char[] returnTypeName, - char[] completionName, - int modifiers, - int completionStart, - int completionEnd, - int relevance); + /** + * Code assist notification of an anonymous type declaration completion. + * + * @param superTypePackageName + * Name of the package that contains the super type of this new + * anonymous type declaration . + * + * @param superTypeName + * Name of the super type of this new anonymous type declaration. + * + * @param parameterPackageNames + * Names of the packages in which the parameter types are + * declared. Should contain as many elements as + * parameterTypeNames. + * + * @param parameterTypeNames + * Names of the parameters types. Should contain as many elements + * as parameterPackageNames. + * + * @param completionName + * The completion for the anonymous type declaration. Can include + * zero, one or two brackets. If the closing bracket is included, + * then the cursor should be placed before it. + * + * @param modifiers + * The modifiers of the constructor. + * + * @param completionStart + * The start position of insertion of the name of this new + * anonymous type declaration. + * + * @param completionEnd + * The end position of insertion of the name of this new + * anonymous type declaration. + * + * @param relevance + * The relevance of the completion proposal It is a positive + * integer which are used for determine if this proposal is more + * relevant than another proposal. This value can only be used + * for compare relevance. A proposal is more relevant than + * another if his relevance value is higher. + * + * 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 acceptAnonymousType(char[] superTypePackageName, char[] superTypeName, + char[][] parameterPackageNames, char[][] parameterTypeNames, + char[][] parameterNames, char[] completionName, int modifiers, + int completionStart, int completionEnd, int relevance); -/** - * Code assist notification of a method completion. - * - * @param declaringTypePackageName Name of the package in which the type that contains this new method is declared. - * @param declaringTypeName Name of the type declaring this new method. - * @param selector Name of the new method. - * @param parameterPackageNames Names of the packages in which the parameter types are declared. - * Should contain as many elements as parameterTypeNames. - * @param parameterTypeNames Names of the parameters types. - * Should contain as many elements as parameterPackageNames. - * @param returnTypePackageName Name of the package in which the return type is declared. - * @param returnTypeName Name of the return type of this new method, should be null for a constructor. - * @param completionName 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 The modifiers of this new method. - * @param completionStart The start position of insertion of the name of this new method. - * @param completionEnd The end position of insertion of the name of this new method. - * @param relevance The relevance of the completion proposal - * It is a positive integer which are used for determine if this proposal is more relevant than another proposal. - * This value can only be used for compare relevance. A proposal is more relevant than another if his relevance - * value is higher. - * - * 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 acceptMethodDeclaration( - char[] declaringTypePackageName, - char[] declaringTypeName, - char[] selector, - char[][] parameterPackageNames, - char[][] parameterTypeNames, - char[][] parameterNames, - char[] returnTypePackageName, - char[] returnTypeName, - char[] completionName, - int modifiers, - int completionStart, - int completionEnd, - int relevance); -/** - * Code assist notification of a modifier completion. - * - * @param modifierName The new modifier. - * @param completionStart The start position of insertion of the name of this new modifier. - * @param completionEnd The end position of insertion of the name of this new modifier. - * @param relevance The relevance of the completion proposal - * It is a positive integer which are used for determine if this proposal is more relevant than another proposal. - * This value can only be used for compare relevance. A proposal is more relevant than another if his relevance - * value is higher. - */ -void acceptModifier(char[] modifierName, int completionStart, int completionEnd, int relevance); -/** - * Code assist notification of a package completion. - * - * @param packageName The package name. - * @param completionName The completion for the package. Can include '.*;' for imports. - * @param completionStart The start position of insertion of the name of this new package. - * @param completionEnd The end position of insertion of the name of this new package. - * @param relevance The relevance of the completion proposal - * It is a positive integer which are used for determine if this proposal is more relevant than another proposal. - * This value can only be used for compare relevance. A proposal is more relevant than another if his relevance - * value is higher. - * - * 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, - int relevance); -/** - * Code assist notification of a type completion. - * - * @param packageName Declaring package name of the type. - * @param typeName Name of the type. - * @param completionName The completion for the type. Can include ';' for imported types. - * @param completionStart The start position of insertion of the name of the type. - * @param completionEnd The end position of insertion of the name of the type. - * @param relevance The relevance of the completion proposal - * It is a positive integer which are used for determine if this proposal is more relevant than another proposal. - * This value can only be used for compare relevance. A proposal is more relevant than another if his relevance - * value is higher. - * - * 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, - int relevance); - -/** - * Code assist notification of a variable name completion. - * - * @param typePackageName Name of the package in which the type of this variable is declared. - * @param typeName Name of the type of this variable. - * @param name Name of the variable. - * @param completionName The completion for the variable. - * @param completionStart The start position of insertion of the name of this variable. - * @param completionEnd The end position of insertion of the name of this variable. - * @param relevance The relevance of the completion proposal - * It is a positive integer which are used for determine if this proposal is more relevant than another proposal. - * This value can only be used for compare relevance. A proposal is more relevant than another if his relevance - * value is higher. - * - * 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 acceptVariableName( - char[] typePackageName, - char[] typeName, - char[] name, - char[] completionName, - int completionStart, - int completionEnd, - int relevance); + /** + * Code assist notification of a class completion. + * + * @param packageName + * Declaring package name of the class. + * @param className + * Name of the class. + * @param completionName + * The completion for the class. Can include ';' for imported + * classes. + * @param modifiers + * The modifiers of the class. + * @param completionStart + * The start position of insertion of the name of the class. + * @param completionEnd + * The end position of insertion of the name of the class. + * @param relevance + * The relevance of the completion proposal It is a positive + * integer which are used for determine if this proposal is more + * relevant than another proposal. This value can only be used + * for compare relevance. A proposal is more relevant than + * another if his relevance value is higher. + * + * 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, int relevance); + + /** + * Code assist notification of a compilation error detected during + * completion. + * + * @param error + * Only problems which are categorized as non-syntax errors are + * notified to the requestor, warnings are silently ignored. In + * case an error got signalled, 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(IProblem error); + + /** + * Code assist notification of a field completion. + * + * @param declaringTypePackageName + * Name of the package in which the type that contains this field + * is declared. + * @param declaringTypeName + * Name of the type declaring this new field. + * @param name + * Name of the field. + * @param typePackageName + * Name of the package in which the type of this field is + * declared. + * @param typeName + * Name of the type of this field. + * @param completionName + * The completion for the field. + * @param modifiers + * The modifiers of this field. + * @param completionStart + * The start position of insertion of the name of this field. + * @param completionEnd + * The end position of insertion of the name of this field. + * @param relevance + * The relevance of the completion proposal It is a positive + * integer which are used for determine if this proposal is more + * relevant than another proposal. This value can only be used + * for compare relevance. A proposal is more relevant than + * another if his relevance value is higher. + * + * 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, int relevance); + + /** + * Code assist notification of an interface completion. + * + * @param packageName + * Declaring package name of the interface. + * @param className + * Name of the interface. + * @param completionName + * The completion for the interface. Can include ';' for imported + * interfaces. + * @param modifiers + * The modifiers of the interface. + * @param completionStart + * The start position of insertion of the name of the interface. + * @param completionEnd + * The end position of insertion of the name of the interface. + * @param relevance + * The relevance of the completion proposal It is a positive + * integer which are used for determine if this proposal is more + * relevant than another proposal. This value can only be used + * for compare relevance. A proposal is more relevant than + * another if his relevance value is higher. + * + * 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, int relevance); + + /** + * Code assist notification of a keyword completion. + * + * @param keywordName + * The keyword source. + * @param completionStart + * The start position of insertion of the name of this keyword. + * @param completionEnd + * The end position of insertion of the name of this keyword. + * @param relevance + * The relevance of the completion proposal It is a positive + * integer which are used for determine if this proposal is more + * relevant than another proposal. This value can only be used + * for compare relevance. A proposal is more relevant than + * another if his relevance value is higher. + */ + void acceptKeyword(char[] keywordName, int completionStart, + int completionEnd, int relevance); + + /** + * Code assist notification of a label completion. + * + * @param labelName + * The label source. + * @param completionStart + * The start position of insertion of the name of this label. + * @param completionEnd + * The end position of insertion of the name of this label. + * @param relevance + * The relevance of the completion proposal It is a positive + * integer which are used for determine if this proposal is more + * relevant than another proposal. This value can only be used + * for compare relevance. A proposal is more relevant than + * another if his relevance value is higher. + */ + void acceptLabel(char[] labelName, int completionStart, int completionEnd, + int relevance); + + /** + * Code assist notification of a local variable completion. + * + * @param name + * Name of the new local variable. + * @param typePackageName + * Name of the package in which the type of this new local + * variable is declared. + * @param typeName + * Name of the type of this new local variable. + * @param modifiers + * The modifiers of this new local variable. + * @param completionStart + * The start position of insertion of the name of this new local + * variable. + * @param completionEnd + * The end position of insertion of the name of this new local + * variable. + * @param relevance + * The relevance of the completion proposal It is a positive + * integer which are used for determine if this proposal is more + * relevant than another proposal. This value can only be used + * for compare relevance. A proposal is more relevant than + * another if his relevance value is higher. + * + * 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, int relevance); + + /** + * Code assist notification of a method completion. + * + * @param declaringTypePackageName + * Name of the package in which the type that contains this new + * method is declared. + * @param declaringTypeName + * Name of the type declaring this new method. + * @param selector + * Name of the new method. + * @param parameterPackageNames + * Names of the packages in which the parameter types are + * declared. Should contain as many elements as + * parameterTypeNames. + * @param parameterTypeNames + * Names of the parameters types. Should contain as many elements + * as parameterPackageNames. + * @param returnTypePackageName + * Name of the package in which the return type is declared. + * @param returnTypeName + * Name of the return type of this new method, should be + * null for a constructor. + * @param completionName + * 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 + * The modifiers of this new method. + * @param completionStart + * The start position of insertion of the name of this new + * method. + * @param completionEnd + * The end position of insertion of the name of this new method. + * @param relevance + * The relevance of the completion proposal It is a positive + * integer which are used for determine if this proposal is more + * relevant than another proposal. This value can only be used + * for compare relevance. A proposal is more relevant than + * another if his relevance value is higher. + * + * 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[][] parameterNames, char[] returnTypePackageName, + char[] returnTypeName, char[] completionName, int modifiers, + int completionStart, int completionEnd, int relevance); + + /** + * Code assist notification of a method completion. + * + * @param declaringTypePackageName + * Name of the package in which the type that contains this new + * method is declared. + * @param declaringTypeName + * Name of the type declaring this new method. + * @param selector + * Name of the new method. + * @param parameterPackageNames + * Names of the packages in which the parameter types are + * declared. Should contain as many elements as + * parameterTypeNames. + * @param parameterTypeNames + * Names of the parameters types. Should contain as many elements + * as parameterPackageNames. + * @param returnTypePackageName + * Name of the package in which the return type is declared. + * @param returnTypeName + * Name of the return type of this new method, should be + * null for a constructor. + * @param completionName + * 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 + * The modifiers of this new method. + * @param completionStart + * The start position of insertion of the name of this new + * method. + * @param completionEnd + * The end position of insertion of the name of this new method. + * @param relevance + * The relevance of the completion proposal It is a positive + * integer which are used for determine if this proposal is more + * relevant than another proposal. This value can only be used + * for compare relevance. A proposal is more relevant than + * another if his relevance value is higher. + * + * 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 acceptMethodDeclaration(char[] declaringTypePackageName, + char[] declaringTypeName, char[] selector, + char[][] parameterPackageNames, char[][] parameterTypeNames, + char[][] parameterNames, char[] returnTypePackageName, + char[] returnTypeName, char[] completionName, int modifiers, + int completionStart, int completionEnd, int relevance); + + /** + * Code assist notification of a modifier completion. + * + * @param modifierName + * The new modifier. + * @param completionStart + * The start position of insertion of the name of this new + * modifier. + * @param completionEnd + * The end position of insertion of the name of this new + * modifier. + * @param relevance + * The relevance of the completion proposal It is a positive + * integer which are used for determine if this proposal is more + * relevant than another proposal. This value can only be used + * for compare relevance. A proposal is more relevant than + * another if his relevance value is higher. + */ + void acceptModifier(char[] modifierName, int completionStart, + int completionEnd, int relevance); + + /** + * Code assist notification of a package completion. + * + * @param packageName + * The package name. + * @param completionName + * The completion for the package. Can include '.*;' for imports. + * @param completionStart + * The start position of insertion of the name of this new + * package. + * @param completionEnd + * The end position of insertion of the name of this new package. + * @param relevance + * The relevance of the completion proposal It is a positive + * integer which are used for determine if this proposal is more + * relevant than another proposal. This value can only be used + * for compare relevance. A proposal is more relevant than + * another if his relevance value is higher. + * + * 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, int relevance); + + /** + * Code assist notification of a type completion. + * + * @param packageName + * Declaring package name of the type. + * @param typeName + * Name of the type. + * @param completionName + * The completion for the type. Can include ';' for imported + * types. + * @param completionStart + * The start position of insertion of the name of the type. + * @param completionEnd + * The end position of insertion of the name of the type. + * @param relevance + * The relevance of the completion proposal It is a positive + * integer which are used for determine if this proposal is more + * relevant than another proposal. This value can only be used + * for compare relevance. A proposal is more relevant than + * another if his relevance value is higher. + * + * 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, int relevance); + + /** + * Code assist notification of a variable name completion. + * + * @param typePackageName + * Name of the package in which the type of this variable is + * declared. + * @param typeName + * Name of the type of this variable. + * @param name + * Name of the variable. + * @param completionName + * The completion for the variable. + * @param completionStart + * The start position of insertion of the name of this variable. + * @param completionEnd + * The end position of insertion of the name of this variable. + * @param relevance + * The relevance of the completion proposal It is a positive + * integer which are used for determine if this proposal is more + * relevant than another proposal. This value can only be used + * for compare relevance. A proposal is more relevant than + * another if his relevance value is higher. + * + * 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 acceptVariableName(char[] typePackageName, char[] typeName, + char[] name, char[] completionName, int completionStart, + int completionEnd, int relevance); }