Class TypeReferenceLocator
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.core.search.matching.PatternLocator
org.aspectj.org.eclipse.jdt.internal.core.search.matching.TypeReferenceLocator
- All Implemented Interfaces:
IQualifiedTypeResolutionListener
,IIndexConstants
-
Field Summary
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.core.search.matching.PatternLocator
ACCURATE_MATCH, ALL_CONTAINER, CAMELCASE_FLAVOR, CLASS_CONTAINER, COMPILATION_UNIT_CONTAINER, ERASURE_MATCH, EXACT_FLAVOR, FIELD_CONTAINER, FLAVORS_MASK, IMPOSSIBLE_MATCH, INACCURATE_MATCH, isCaseSensitive, isEquivalentMatch, isErasureMatch, MATCH_LEVEL_MASK, matchMode, mayBeGeneric, METHOD_CONTAINER, mustResolve, NO_FLAVOR, OVERRIDDEN_METHOD_FLAVOR, PATTERN_FLAVOR, POSSIBLE_MATCH, PREFIX_FLAVOR, RAW_MASK, REGEXP_FLAVOR, RULE_MASK, SUB_INVOCATION_FLAVOR, SUPER_INVOCATION_FLAVOR, SUPERTYPE_REF_FLAVOR
Fields inherited from interface org.aspectj.org.eclipse.jdt.internal.core.search.indexing.IIndexConstants
AND_PATTERN, ANNOT_REF_PATTERN, ANNOTATION_REF, ANNOTATION_TYPE_SUFFIX, CLASS_AND_ENUM_SUFFIX, CLASS_AND_INTERFACE_SUFFIX, CLASS_SUFFIX, CONSTRUCTOR_DECL, CONSTRUCTOR_PATTERN, CONSTRUCTOR_REF, COUNTS, DEFAULT_CONSTRUCTOR, ENUM_SUFFIX, FIELD_DECL, FIELD_PATTERN, INTERFACE_AND_ANNOTATION_SUFFIX, INTERFACE_SUFFIX, LOCAL_VAR_PATTERN, META_INDEX_CATEGORIES, META_INDEX_QUALIFIED_SUPER_TYPE_QUALIFIER_REF, META_INDEX_QUALIFIED_TYPE_QUALIFIER_REF, META_INDEX_SIMPLE_SUPER_TYPE_QUALIFIER_REF, META_INDEX_SIMPLE_TYPE_QUALIFIER_REF, METHOD_DECL, METHOD_DECL_PLUS, METHOD_PATTERN, METHOD_REF, MODULE_DECL, MODULE_INFO, MODULE_PATTERN, MODULE_REF, OBJECT, ONE_STAR, ONE_STAR_CHAR, ONE_ZERO, ONE_ZERO_CHAR, OR_PATTERN, PARAMETER_SEPARATOR, PKG_DECL_PATTERN, PKG_REF_PATTERN, REF, SECONDARY_SUFFIX, SEPARATOR, SUPER_REF, SUPER_REF_PATTERN, TYPE_DECL, TYPE_DECL_PATTERN, TYPE_PARAM_PATTERN, TYPE_REF_PATTERN, TYPE_SUFFIX, ZERO_CHAR
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected IJavaElement
findElement(IJavaElement element, int accuracy)
protected int
int
match(Annotation node, MatchingNodeSet nodeSet)
int
match(ASTNode node, MatchingNodeSet nodeSet)
Check if the given ast node syntactically matches this pattern.int
match(Reference node, MatchingNodeSet nodeSet)
int
match(TypeReference node, MatchingNodeSet nodeSet)
protected int
matchLevel(ImportReference importRef)
Returns the match level for the given importRef.protected void
matchLevelAndReportImportRef(ImportReference importRef, Binding binding, MatchLocator locator)
Reports the match of the given import reference if the resolveLevel is high enough.protected void
matchReportImportRef(ImportReference importRef, Binding binding, IJavaElement element, int accuracy, MatchLocator locator)
Reports the match of the given import reference.protected void
matchReportReference(ArrayTypeReference arrayRef, IJavaElement element, Binding elementBinding, int accuracy, MatchLocator locator)
protected void
matchReportReference(ASTNode reference, IJavaElement element, IJavaElement localElement, IJavaElement[] otherElements, Binding elementBinding, int accuracy, MatchLocator locator)
Reports the match of the given reference.protected void
matchReportReference(ASTNode reference, IJavaElement element, Binding elementBinding, int accuracy, MatchLocator locator)
Reports the match of the given reference.protected void
matchReportReference(QualifiedNameReference qNameRef, IJavaElement element, Binding elementBinding, int accuracy, MatchLocator locator)
protected void
matchReportReference(QualifiedTypeReference qTypeRef, IJavaElement element, Binding elementBinding, int accuracy, MatchLocator locator)
void
recordResolution(QualifiedTypeReference typeReference, TypeBinding resolution)
Notifies that the given resolution has been found for the given type reference.protected int
protected void
reportDeclaration(ASTNode reference, IJavaElement element, MatchLocator locator, SimpleSet knownTypes)
protected void
reportDeclaration(ReferenceBinding typeBinding, int maxType, MatchLocator locator, SimpleSet knownTypes)
int
resolveLevel(ASTNode node)
Finds out whether the given ast node matches this search pattern.protected int
resolveLevel(NameReference nameRef)
protected int
resolveLevel(TypeReference typeRef)
int
resolveLevel(Binding binding)
Finds out whether the given binding matches this search pattern.protected int
resolveLevelForType(TypeBinding typeBinding)
protected int
resolveLevelForTypeOrEnclosingTypes(char[] simpleNamePattern, char[] qualificationPattern, TypeBinding binding)
Returns whether the given type binding or one of its enclosing types matches the given simple name pattern and qualification pattern.toString()
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.core.search.matching.PatternLocator
clear, getQualifiedPattern, getQualifiedSourceName, getTypeNameBinding, initializePolymorphicSearch, match, match, match, match, match, match, match, match, match, match, match, match, match, matchContainer, matchesName, matchesTypeReference, matchNameValue, newDeclarationMatch, patternLocator, qualifiedPattern, qualifiedSourceName, resolveLevelForType, resolveLevelForType, resolveLevelForType, updateMatch, updateMatch, updateMatch
-
Field Details
-
pattern
-
isDeclarationOfReferencedTypesPattern
protected boolean isDeclarationOfReferencedTypesPattern
-
-
Constructor Details
-
TypeReferenceLocator
-
-
Method Details
-
findElement
-
fineGrain
protected int fineGrain()- Overrides:
fineGrain
in classPatternLocator
-
match
- Overrides:
match
in classPatternLocator
-
match
Description copied from class:PatternLocator
Check if the given ast node syntactically matches this pattern. If it does, add it to the match set. Returns the match level.- Overrides:
match
in classPatternLocator
-
match
- Overrides:
match
in classPatternLocator
-
match
- Overrides:
match
in classPatternLocator
-
matchLevel
Description copied from class:PatternLocator
Returns the match level for the given importRef.- Overrides:
matchLevel
in classPatternLocator
-
matchLevelAndReportImportRef
protected void matchLevelAndReportImportRef(ImportReference importRef, Binding binding, MatchLocator locator) throws org.eclipse.core.runtime.CoreExceptionDescription copied from class:PatternLocator
Reports the match of the given import reference if the resolveLevel is high enough.- Overrides:
matchLevelAndReportImportRef
in classPatternLocator
- Throws:
org.eclipse.core.runtime.CoreException
-
matchReportImportRef
protected void matchReportImportRef(ImportReference importRef, Binding binding, IJavaElement element, int accuracy, MatchLocator locator) throws org.eclipse.core.runtime.CoreExceptionDescription copied from class:PatternLocator
Reports the match of the given import reference.- Overrides:
matchReportImportRef
in classPatternLocator
- Throws:
org.eclipse.core.runtime.CoreException
-
matchReportReference
protected void matchReportReference(ArrayTypeReference arrayRef, IJavaElement element, Binding elementBinding, int accuracy, MatchLocator locator) throws org.eclipse.core.runtime.CoreException- Throws:
org.eclipse.core.runtime.CoreException
-
matchReportReference
protected void matchReportReference(ASTNode reference, IJavaElement element, Binding elementBinding, int accuracy, MatchLocator locator) throws org.eclipse.core.runtime.CoreExceptionReports the match of the given reference.- Overrides:
matchReportReference
in classPatternLocator
- Throws:
org.eclipse.core.runtime.CoreException
-
matchReportReference
protected void matchReportReference(ASTNode reference, IJavaElement element, IJavaElement localElement, IJavaElement[] otherElements, Binding elementBinding, int accuracy, MatchLocator locator) throws org.eclipse.core.runtime.CoreExceptionReports the match of the given reference. Also provide a local and other elements to eventually report in match.- Overrides:
matchReportReference
in classPatternLocator
- Throws:
org.eclipse.core.runtime.CoreException
-
matchReportReference
protected void matchReportReference(QualifiedNameReference qNameRef, IJavaElement element, Binding elementBinding, int accuracy, MatchLocator locator) throws org.eclipse.core.runtime.CoreException- Throws:
org.eclipse.core.runtime.CoreException
-
matchReportReference
protected void matchReportReference(QualifiedTypeReference qTypeRef, IJavaElement element, Binding elementBinding, int accuracy, MatchLocator locator) throws org.eclipse.core.runtime.CoreException- Throws:
org.eclipse.core.runtime.CoreException
-
referenceType
protected int referenceType()- Overrides:
referenceType
in classPatternLocator
-
reportDeclaration
protected void reportDeclaration(ASTNode reference, IJavaElement element, MatchLocator locator, SimpleSet knownTypes) throws org.eclipse.core.runtime.CoreException- Throws:
org.eclipse.core.runtime.CoreException
-
reportDeclaration
protected void reportDeclaration(ReferenceBinding typeBinding, int maxType, MatchLocator locator, SimpleSet knownTypes) throws org.eclipse.core.runtime.CoreException- Throws:
org.eclipse.core.runtime.CoreException
-
resolveLevel
Description copied from class:PatternLocator
Finds out whether the given ast node matches this search pattern. Returns IMPOSSIBLE_MATCH if it doesn't. Returns INACCURATE_MATCH if it potentially matches this search pattern (i.e. it has already been resolved but resolving failed.) Returns ACCURATE_MATCH if it matches exactly this search pattern (i.e. it doesn't need to be resolved or it has already been resolved.)- Overrides:
resolveLevel
in classPatternLocator
-
resolveLevel
Description copied from class:PatternLocator
Finds out whether the given binding matches this search pattern. Returns ACCURATE_MATCH if it does. Returns INACCURATE_MATCH if resolve failed but match is still possible. Returns IMPOSSIBLE_MATCH otherwise. Default is to return INACCURATE_MATCH.- Overrides:
resolveLevel
in classPatternLocator
-
resolveLevel
-
resolveLevel
-
resolveLevelForType
-
resolveLevelForTypeOrEnclosingTypes
protected int resolveLevelForTypeOrEnclosingTypes(char[] simpleNamePattern, char[] qualificationPattern, TypeBinding binding)Returns whether the given type binding or one of its enclosing types matches the given simple name pattern and qualification pattern. Returns ACCURATE_MATCH if it does. Returns INACCURATE_MATCH if resolve failed. Returns IMPOSSIBLE_MATCH if it doesn't. -
recordResolution
Description copied from interface:IQualifiedTypeResolutionListener
Notifies that the given resolution has been found for the given type reference. Some of the bindings are intermediate types i.e. qualifying types.- Specified by:
recordResolution
in interfaceIQualifiedTypeResolutionListener
- Overrides:
recordResolution
in classPatternLocator
- Parameters:
typeReference
- the type referenceresolution
- the resolution found
-
toString
- Overrides:
toString
in classPatternLocator
-