public final class CompletionEngine extends Engine implements ISearchRequestor, TypeConstants, TerminalTokens, RelevanceConstants, SuffixConstants
| Modifier and Type | Class and Description |
|---|---|
class |
CompletionEngine.CompletionProblemFactory |
TypeConstants.BoundCheckStatus, TypeConstants.CloseMethodRecord| Modifier and Type | Field and Description |
|---|---|
static boolean |
DEBUG |
static boolean |
NO_TYPE_COMPLETION_ON_EMPTY_TOKEN |
int |
openedBinaryTypes |
static boolean |
PERF |
HashtableOfObject |
typeCache |
compilerOptions, currentPackageName, discouragedReferenceIsError, forbiddenReferenceIsError, importCacheCount, importCachesInitialized, importsCache, lookupEnvironment, nameEnvironment, onDemandImportCacheCount, onDemandImportsCache, options, unitScopeANNOTATION, ANNOTATION_PREFIX, ANNOTATION_SUFFIX, ANONYM_PREFIX, ANONYM_SUFFIX, ANONYMOUS_METHOD, APACHE, APACHE_DBUTILS, APACHE_IOUTILS, ASSERT_CLASS, ASSERT_FALSE, ASSERT_NOTNULL, ASSERT_NULL, ASSERT_TRUE, AUTOWIRED, BEANS, BOOLEAN, BYTE, CAPTURE18, CHAR, CharArray_JAVA_IO_OBJECTINPUTSTREAM, CharArray_JAVA_IO_OBJECTOUTPUTSTREAM, CharArray_JAVA_IO_OBJECTSTREAMFIELD, CharArray_JAVA_LANG_ANNOTATION_ANNOTATION, CharArray_JAVA_LANG_ENUM, CharArray_JAVA_LANG_OBJECT, CHECK_ARGUMENT, CHECK_NOT_NULL, CHECK_STATE, CLINIT, CLONE, CLOSE, CLOSE_QUIETLY, closeMethods, COM, COM_GOOGLE_COMMON_BASE_PRECONDITIONS, COM_GOOGLE_INJECT_INJECT, COMMONS, COMPILER, CONSTRAINT_EQUAL, CONSTRAINT_EXTENDS, CONSTRAINT_SUPER, CORE, DEFAULT_LOCATION__ARRAY_CONTENTS, DEFAULT_LOCATION__FIELD, DEFAULT_LOCATION__PARAMETER, DEFAULT_LOCATION__RETURN_TYPE, DEFAULT_LOCATION__TYPE_ARGUMENT, DEFAULT_LOCATION__TYPE_BOUND, DEFAULT_LOCATION__TYPE_PARAMETER, DESERIALIZE_LAMBDA, DOM, DOUBLE, ECLIPSE, EQUALS, FACTORY, FLOAT, FRAMEWORK, GETCLASS, GOOGLE, GUAVA_CLOSEABLES, HASHCODE, INIT, INJECT_PACKAGE, INJECT_TYPE, INTERNAL, INVOKE, IO, IS_NOTNULL, IS_TRUE, ITYPEBINDING, JAVA, JAVA_IO, JAVA_IO_CLOSEABLE, JAVA_IO_EXTERNALIZABLE, JAVA_IO_IOEXCEPTION, JAVA_IO_OBJECTINPUTSTREAM, JAVA_IO_OBJECTOUTPUTSTREAM, JAVA_IO_OBJECTSTREAMEXCEPTION, JAVA_IO_PRINTSTREAM, JAVA_IO_RESOURCE_FREE_CLOSEABLES, JAVA_IO_SERIALIZABLE, JAVA_IO_WRAPPER_CLOSEABLES, JAVA_LANG, JAVA_LANG_ANNOTATION, JAVA_LANG_ANNOTATION_ANNOTATION, JAVA_LANG_ANNOTATION_DOCUMENTED, JAVA_LANG_ANNOTATION_ELEMENTTYPE, JAVA_LANG_ANNOTATION_INHERITED, JAVA_LANG_ANNOTATION_REPEATABLE, JAVA_LANG_ANNOTATION_RETENTION, JAVA_LANG_ANNOTATION_RETENTIONPOLICY, JAVA_LANG_ANNOTATION_TARGET, JAVA_LANG_ASSERTIONERROR, JAVA_LANG_AUTOCLOSEABLE, JAVA_LANG_BOOLEAN, JAVA_LANG_BYTE, JAVA_LANG_CHARACTER, JAVA_LANG_CLASS, JAVA_LANG_CLASSNOTFOUNDEXCEPTION, JAVA_LANG_CLONEABLE, JAVA_LANG_DEPRECATED, JAVA_LANG_DOUBLE, JAVA_LANG_ENUM, JAVA_LANG_ERROR, JAVA_LANG_EXCEPTION, JAVA_LANG_FLOAT, JAVA_LANG_FUNCTIONAL_INTERFACE, JAVA_LANG_ILLEGALARGUMENTEXCEPTION, JAVA_LANG_INTEGER, JAVA_LANG_INVOKE_LAMBDAMETAFACTORY, JAVA_LANG_INVOKE_METHODHANDLE_$_POLYMORPHICSIGNATURE, JAVA_LANG_INVOKE_METHODHANDLE_POLYMORPHICSIGNATURE, JAVA_LANG_INVOKE_METHODHANDLES, JAVA_LANG_INVOKE_SERIALIZEDLAMBDA, JAVA_LANG_ITERABLE, JAVA_LANG_LONG, JAVA_LANG_NOCLASSDEFERROR, JAVA_LANG_OBJECT, JAVA_LANG_OVERRIDE, JAVA_LANG_REFLECT_CONSTRUCTOR, JAVA_LANG_REFLECT_FIELD, JAVA_LANG_REFLECT_METHOD, JAVA_LANG_RUNTIMEEXCEPTION, JAVA_LANG_SAFEVARARGS, JAVA_LANG_SHORT, JAVA_LANG_STRING, JAVA_LANG_STRINGBUFFER, JAVA_LANG_STRINGBUILDER, JAVA_LANG_SUPPRESSWARNINGS, JAVA_LANG_SYSTEM, JAVA_LANG_THROWABLE, JAVA_LANG_VOID, JAVA_NIO_FILE_FILES, JAVA_UTIL_COLLECTION, JAVA_UTIL_ITERATOR, JAVA_UTIL_OBJECTS, JAVA_UTIL_ZIP_WRAPPER_CLOSEABLES, JAVAX, JAVAX_ANNOTATION_INJECT_INJECT, JAVAX_RMI_CORBA_STUB, JDT, JUNIT, JUNIT_FRAMEWORK_ASSERT, LAMBDA_TYPE, LANG, LANG3, LENGTH, LONG, LOOKUP, MAIN, NOT_NULL, NULL, OBJECT, OPTIONAL, ORG, ORG_APACHE_COMMONS_LANG_VALIDATE, ORG_APACHE_COMMONS_LANG3_VALIDATE, ORG_ECLIPSE_CORE_RUNTIME_ASSERT, ORG_ECLIPSE_JDT_CORE_DOM_ITYPEBINDING, ORG_ECLIPSE_JDT_INTERNAL_COMPILER_LOOKUP_TYPEBINDING, ORG_JUNIT_ASSERT, ORG_SPRING_AUTOWIRED, OTHER_WRAPPER_CLOSEABLES, PACKAGE_INFO_NAME, READOBJECT, READRESOLVE, REFLECT, REQUIRE_NON_NULL, REQUIRED, RESOURCE_FREE_CLOSEABLE_STREAM, RUNTIME, SERIALPERSISTENTFIELDS, SERIALVERSIONUID, SHORT, SPRING, SYNTHETIC_ACCESS_METHOD_PREFIX, SYNTHETIC_ASSERT_DISABLED, SYNTHETIC_CLASS, SYNTHETIC_ENCLOSING_INSTANCE_PREFIX, SYNTHETIC_ENUM_CONSTANT_INITIALIZATION_METHOD_PREFIX, SYNTHETIC_ENUM_VALUES, SYNTHETIC_OUTER_LOCAL_PREFIX, SYNTHETIC_STATIC_FACTORY, SYNTHETIC_SWITCH_ENUM_TABLE, TYPE, TYPE_PARAMETER_TARGET, TYPE_USE_TARGET, TYPEBINDING, UPPER_ANNOTATION_TYPE, UPPER_CLASS, UPPER_CONSTRUCTOR, UPPER_FIELD, UPPER_LOCAL_VARIABLE, UPPER_METHOD, UPPER_PACKAGE, UPPER_PARAMETER, UPPER_RUNTIME, UPPER_SOURCE, UTIL, VALIDATE_CLASS, VALUEOF, VALUES, WILDCARD_CAPTURE, WILDCARD_CAPTURE_NAME_PREFIX, WILDCARD_CAPTURE_NAME_SUFFIX, WILDCARD_CAPTURE_SIGNABLE_NAME_SUFFIX, WILDCARD_EXTENDS, WILDCARD_MINUS, WILDCARD_NAME, WILDCARD_PLUS, WILDCARD_STAR, WILDCARD_SUPER, WRITEOBJECT, WRITEREPLACE, ZIPTokenNameabstract, TokenNameafter, TokenNameAND, TokenNameAND_AND, TokenNameAND_EQUAL, TokenNamearound, TokenNameARROW, TokenNameaspect, TokenNameassert, TokenNameAT, TokenNameAT308, TokenNameAT308DOTDOTDOT, TokenNamebefore, TokenNameBeginIntersectionCast, TokenNameBeginLambda, TokenNameBeginTypeArguments, TokenNameboolean, TokenNamebreak, TokenNamebyte, TokenNamecase, TokenNamecatch, TokenNamechar, TokenNameCharacterLiteral, TokenNameclass, TokenNameCOLON, TokenNameCOLON_COLON, TokenNameCOMMA, TokenNameCOMMENT_BLOCK, TokenNameCOMMENT_JAVADOC, TokenNameCOMMENT_LINE, TokenNameconst, TokenNamecontinue, TokenNamedeclare, TokenNamedefault, TokenNameDIVIDE, TokenNameDIVIDE_EQUAL, TokenNamedo, TokenNameDOT, TokenNamedouble, TokenNameDoubleLiteral, TokenNameElidedSemicolonAndRightBrace, TokenNameELLIPSIS, TokenNameelse, TokenNameenum, TokenNameEOF, TokenNameEQUAL, TokenNameEQUAL_EQUAL, TokenNameERROR, TokenNameextends, TokenNamefalse, TokenNamefinal, TokenNamefinally, TokenNamefloat, TokenNameFloatingPointLiteral, TokenNamefor, TokenNamegoto, TokenNameGREATER, TokenNameGREATER_EQUAL, TokenNameIdentifier, TokenNameif, TokenNameimplements, TokenNameimport, TokenNameinstanceof, TokenNameint, TokenNameIntegerLiteral, TokenNameinterface, TokenNameLBRACE, TokenNameLBRACKET, TokenNameLEFT_SHIFT, TokenNameLEFT_SHIFT_EQUAL, TokenNameLESS, TokenNameLESS_EQUAL, TokenNamelong, TokenNameLongLiteral, TokenNameLPAREN, TokenNameMINUS, TokenNameMINUS_EQUAL, TokenNameMINUS_MINUS, TokenNameMULTIPLY, TokenNameMULTIPLY_EQUAL, TokenNamenative, TokenNamenew, TokenNameNOT, TokenNameNOT_EQUAL, TokenNameNotAToken, TokenNamenull, TokenNameOR, TokenNameOR_EQUAL, TokenNameOR_OR, TokenNamepackage, TokenNamePLUS, TokenNamePLUS_EQUAL, TokenNamePLUS_PLUS, TokenNamepointcut, TokenNameprivate, TokenNameprivileged, TokenNameprotected, TokenNamepublic, TokenNameQUESTION, TokenNameRBRACE, TokenNameRBRACKET, TokenNameREMAINDER, TokenNameREMAINDER_EQUAL, TokenNamereturn, TokenNameRIGHT_SHIFT, TokenNameRIGHT_SHIFT_EQUAL, TokenNameRPAREN, TokenNameSEMICOLON, TokenNameshort, TokenNamestatic, TokenNamestrictfp, TokenNameStringLiteral, TokenNamesuper, TokenNameswitch, TokenNamesynchronized, TokenNamethis, TokenNamethrow, TokenNamethrows, TokenNametransient, TokenNametrue, TokenNametry, TokenNameTWIDDLE, TokenNameUNSIGNED_RIGHT_SHIFT, TokenNameUNSIGNED_RIGHT_SHIFT_EQUAL, TokenNamevoid, TokenNamevolatile, TokenNamewhile, TokenNameWHITESPACE, TokenNameXOR, TokenNameXOR_EQUALR_ABSTRACT_METHOD, R_ANNOTATION, R_CAMEL_CASE, R_CASE, R_CLASS, R_CONSTRUCTOR, R_DEFAULT, R_ENUM, R_ENUM_CONSTANT, R_EXACT_EXPECTED_TYPE, R_EXACT_NAME, R_EXCEPTION, R_EXPECTED_TYPE, R_FINAL, R_INLINE_TAG, R_INTERESTING, R_INTERFACE, R_METHOD_OVERIDE, R_NAME_FIRST_PREFIX, R_NAME_FIRST_SUFFIX, R_NAME_LESS_NEW_CHARACTERS, R_NAME_PREFIX, R_NAME_SUFFIX, R_NO_PROBLEMS, R_NON_INHERITED, R_NON_RESTRICTED, R_NON_STATIC, R_QUALIFIED, R_RESOLVED, R_SUBSTRING, R_TARGET, R_TRUE_OR_FALSE, R_UNQUALIFIED, R_VALUE_TAG, R_VOIDEXTENSION_aj, EXTENSION_AJ, EXTENSION_class, EXTENSION_CLASS, EXTENSION_java, EXTENSION_JAVA, SUFFIX_aj, SUFFIX_AJ, SUFFIX_class, SUFFIX_CLASS, SUFFIX_java, SUFFIX_JAVA, SUFFIX_STRING_aj, SUFFIX_STRING_AJ, SUFFIX_STRING_class, SUFFIX_STRING_CLASS, SUFFIX_STRING_java, SUFFIX_STRING_JAVA| Constructor and Description |
|---|
CompletionEngine(SearchableEnvironment nameEnvironment,
CompletionRequestor requestor,
java.util.Map settings,
IJavaProject javaProject,
WorkingCopyOwner owner,
IProgressMonitor monitor)
The CompletionEngine is responsible for computing source completions.
|
| Modifier and Type | Method and Description |
|---|---|
void |
accept(ICompilationUnit sourceUnit,
AccessRestriction accessRestriction)
Add an additional compilation unit.
|
void |
acceptConstructor(int modifiers,
char[] simpleTypeName,
int parameterCount,
char[] signature,
char[][] parameterTypes,
char[][] parameterNames,
int typeModifiers,
char[] packageName,
int extraFlags,
java.lang.String path,
AccessRestriction accessRestriction) |
void |
acceptPackage(char[] packageName)
One result of the search consists of a new package.
|
void |
acceptType(char[] packageName,
char[] simpleTypeName,
char[][] enclosingTypeNames,
int modifiers,
AccessRestriction accessRestriction)
One result of the search consists of a new type.
|
void |
acceptUnresolvedName(char[] name) |
void |
complete(ICompilationUnit sourceUnit,
int completionPosition,
int pos,
ITypeRoot root)
Ask the engine to compute a completion at the specified position
of the given compilation unit.
|
void |
complete(IType type,
char[] snippet,
int position,
char[][] localVariableTypeNames,
char[][] localVariableNames,
int[] localVariableModifiers,
boolean isStatic) |
static char[] |
createBindingKey(char[] packageName,
char[] typeName) |
static char[][] |
createDefaultParameterNames(int length) |
static char[] |
createMethodSignature(char[][] parameterPackageNames,
char[][] parameterTypeNames,
char[] returnTypeSignature) |
static char[] |
createMethodSignature(char[][] parameterPackageNames,
char[][] parameterTypeNames,
char[] returnPackagename,
char[] returnTypeName) |
static char[] |
createNonGenericTypeSignature(char[] qualifiedPackageName,
char[] qualifiedTypeName) |
protected InternalCompletionProposal |
createProposal(int kind,
int completionOffset) |
static char[] |
createTypeSignature(char[] qualifiedPackageName,
char[] qualifiedTypeName) |
protected void |
findFieldsAndMethods(char[] token,
TypeBinding receiverType,
Scope scope,
ObjectVector fieldsFound,
ObjectVector methodsFound,
InvocationSite invocationSite,
Scope invocationScope,
boolean implicitCall,
boolean superCall,
Binding[] missingElements,
int[] missingElementsStarts,
int[] missingElementsEnds,
boolean missingElementsHaveProblems,
char[] castedReceiver,
int receiverStart,
int receiverEnd) |
protected void |
findFieldsAndMethodsFromAnotherReceiver(char[] token,
TypeReference receiverType,
Scope scope,
ObjectVector fieldsFound,
ObjectVector methodsFound,
InvocationSite invocationSite,
Scope invocationScope,
boolean implicitCall,
boolean superCall,
Binding[] missingElements,
int[] missingElementsStarts,
int[] missingElementsEnds,
boolean missingElementsHaveProblems,
char[][] receiverName,
int receiverStart,
int receiverEnd) |
protected void |
findMembers(char[] token,
ReferenceBinding receiverType,
Scope scope,
InvocationSite invocationSite,
boolean isInsideAnnotationAttribute,
Binding[] missingElements,
int[] missingElementsStarts,
int[] missingElementsEnds,
boolean missingElementsHaveProblems) |
protected void |
findMemberTypes(char[] typeName,
ReferenceBinding receiverType,
Scope scope,
SourceTypeBinding typeInvocation,
boolean staticOnly,
boolean staticFieldsAndMethodOnly,
ObjectVector typesFound,
Binding[] missingElements,
int[] missingElementsStarts,
int[] missingElementsEnds,
boolean missingElementsHaveProblems) |
AssistParser |
getParser() |
protected boolean |
hasArrayTypeAsExpectedSuperTypes() |
protected boolean |
hasPossibleAnnotationTarget(TypeBinding typeBinding,
Scope scope) |
protected void |
printDebug(CategorizedProblem error) |
protected void |
printDebug(CompletionProposal proposal) |
protected void |
reset() |
accept, accept, getSignature, getSignature, getTypeSignature, initializeImportCaches, initializePackageCache, mustQualifyType, parseBlockStatements, resetpublic HashtableOfObject typeCache
public int openedBinaryTypes
public static boolean DEBUG
public static boolean PERF
public static final boolean NO_TYPE_COMPLETION_ON_EMPTY_TOKEN
public CompletionEngine(SearchableEnvironment nameEnvironment, CompletionRequestor requestor, java.util.Map settings, IJavaProject javaProject, WorkingCopyOwner owner, IProgressMonitor monitor)
nameEnvironment - org.aspectj.org.eclipse.jdt.internal.codeassist.ISearchableNameEnvironment
used to resolve type/package references and search for types/packages
based on partial names.requestor - org.aspectj.org.eclipse.jdt.internal.codeassist.ICompletionRequestor
since the engine might produce answers of various forms, the engine
is associated with a requestor able to accept all possible completions.settings - java.util.Map
set of options used to configure the code assist engine.public static char[] createBindingKey(char[] packageName,
char[] typeName)
public static char[][] createDefaultParameterNames(int length)
public static char[] createMethodSignature(char[][] parameterPackageNames,
char[][] parameterTypeNames,
char[] returnTypeSignature)
public static char[] createMethodSignature(char[][] parameterPackageNames,
char[][] parameterTypeNames,
char[] returnPackagename,
char[] returnTypeName)
public static char[] createNonGenericTypeSignature(char[] qualifiedPackageName,
char[] qualifiedTypeName)
public static char[] createTypeSignature(char[] qualifiedPackageName,
char[] qualifiedTypeName)
public void accept(ICompilationUnit sourceUnit, AccessRestriction accessRestriction)
Engineaccept in interface ITypeRequestoraccept in class Enginepublic void acceptConstructor(int modifiers,
char[] simpleTypeName,
int parameterCount,
char[] signature,
char[][] parameterTypes,
char[][] parameterNames,
int typeModifiers,
char[] packageName,
int extraFlags,
java.lang.String path,
AccessRestriction accessRestriction)
acceptConstructor in interface ISearchRequestorpublic void acceptPackage(char[] packageName)
acceptPackage in interface ISearchRequestorpublic void acceptType(char[] packageName,
char[] simpleTypeName,
char[][] enclosingTypeNames,
int modifiers,
AccessRestriction accessRestriction)
acceptType in interface ISearchRequestorpublic void acceptUnresolvedName(char[] name)
public void complete(ICompilationUnit sourceUnit, int completionPosition, int pos, ITypeRoot root)
sourceUnit - org.aspectj.org.eclipse.jdt.internal.compiler.env.ICompilationUnit
the source of the current compilation unit.completionPosition - int
a position in the source where the completion is taking place.
This position is relative to the source provided.public void complete(IType type, char[] snippet, int position, char[][] localVariableTypeNames, char[][] localVariableNames, int[] localVariableModifiers, boolean isStatic)
protected InternalCompletionProposal createProposal(int kind, int completionOffset)
protected void findFieldsAndMethods(char[] token,
TypeBinding receiverType,
Scope scope,
ObjectVector fieldsFound,
ObjectVector methodsFound,
InvocationSite invocationSite,
Scope invocationScope,
boolean implicitCall,
boolean superCall,
Binding[] missingElements,
int[] missingElementsStarts,
int[] missingElementsEnds,
boolean missingElementsHaveProblems,
char[] castedReceiver,
int receiverStart,
int receiverEnd)
protected void findFieldsAndMethodsFromAnotherReceiver(char[] token,
TypeReference receiverType,
Scope scope,
ObjectVector fieldsFound,
ObjectVector methodsFound,
InvocationSite invocationSite,
Scope invocationScope,
boolean implicitCall,
boolean superCall,
Binding[] missingElements,
int[] missingElementsStarts,
int[] missingElementsEnds,
boolean missingElementsHaveProblems,
char[][] receiverName,
int receiverStart,
int receiverEnd)
protected void findMembers(char[] token,
ReferenceBinding receiverType,
Scope scope,
InvocationSite invocationSite,
boolean isInsideAnnotationAttribute,
Binding[] missingElements,
int[] missingElementsStarts,
int[] missingElementsEnds,
boolean missingElementsHaveProblems)
protected void findMemberTypes(char[] typeName,
ReferenceBinding receiverType,
Scope scope,
SourceTypeBinding typeInvocation,
boolean staticOnly,
boolean staticFieldsAndMethodOnly,
ObjectVector typesFound,
Binding[] missingElements,
int[] missingElementsStarts,
int[] missingElementsEnds,
boolean missingElementsHaveProblems)
public AssistParser getParser()
protected boolean hasArrayTypeAsExpectedSuperTypes()
protected boolean hasPossibleAnnotationTarget(TypeBinding typeBinding, Scope scope)
protected void printDebug(CategorizedProblem error)
protected void printDebug(CompletionProposal proposal)
protected void reset()