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
FieldsFields 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_FLAVORFields 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidclear()protected IJavaElementfindElement(IJavaElement element, int accuracy) protected intintmatch(Annotation node, MatchingNodeSet nodeSet) intmatch(ASTNode node, MatchingNodeSet nodeSet) Check if the given ast node syntactically matches this pattern.intmatch(Reference node, MatchingNodeSet nodeSet) intmatch(TypeReference node, MatchingNodeSet nodeSet) protected intmatchLevel(ImportReference importRef) Returns the match level for the given importRef.protected voidmatchLevelAndReportImportRef(ImportReference importRef, Binding binding, MatchLocator locator) Reports the match of the given import reference if the resolveLevel is high enough.protected voidmatchReportImportRef(ImportReference importRef, Binding binding, IJavaElement element, int accuracy, MatchLocator locator) Reports the match of the given import reference.protected voidmatchReportReference(ArrayTypeReference arrayRef, IJavaElement element, Binding elementBinding, int accuracy, MatchLocator locator) protected voidmatchReportReference(ASTNode reference, IJavaElement element, IJavaElement localElement, IJavaElement[] otherElements, Binding elementBinding, int accuracy, MatchLocator locator) Reports the match of the given reference.protected voidmatchReportReference(ASTNode reference, IJavaElement element, Binding elementBinding, int accuracy, MatchLocator locator) Reports the match of the given reference.protected voidmatchReportReference(QualifiedNameReference qNameRef, IJavaElement element, Binding elementBinding, int accuracy, MatchLocator locator) protected voidmatchReportReference(QualifiedTypeReference qTypeRef, IJavaElement element, Binding elementBinding, int accuracy, MatchLocator locator) voidrecordResolution(QualifiedTypeReference typeReference, TypeBinding resolution) Notifies that the given resolution has been found for the given type reference.protected intprotected voidreportDeclaration(ASTNode reference, IJavaElement element, MatchLocator locator, SimpleSet knownTypes) protected voidreportDeclaration(ReferenceBinding typeBinding, int maxType, MatchLocator locator, SimpleSet knownTypes) intresolveLevel(ASTNode node) Finds out whether the given ast node matches this search pattern.protected intresolveLevel(NameReference nameRef) protected intresolveLevel(TypeReference typeRef) intresolveLevel(Binding binding) Finds out whether the given binding matches this search pattern.protected intresolveLevelForType(TypeBinding typeBinding) protected intresolveLevelForTypeOrEnclosingTypes(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
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 final boolean isDeclarationOfReferencedTypesPattern
-
-
Constructor Details
-
TypeReferenceLocator
-
-
Method Details
-
clear
protected void clear()- Overrides:
clearin classPatternLocator
-
findElement
-
fineGrain
protected int fineGrain()- Overrides:
fineGrainin classPatternLocator
-
match
- Overrides:
matchin classPatternLocator
-
match
Description copied from class:PatternLocatorCheck if the given ast node syntactically matches this pattern. If it does, add it to the match set. Returns the match level.- Overrides:
matchin classPatternLocator
-
match
- Overrides:
matchin classPatternLocator
-
match
- Overrides:
matchin classPatternLocator
-
matchLevel
Description copied from class:PatternLocatorReturns the match level for the given importRef.- Overrides:
matchLevelin classPatternLocator
-
matchLevelAndReportImportRef
protected void matchLevelAndReportImportRef(ImportReference importRef, Binding binding, MatchLocator locator) throws org.eclipse.core.runtime.CoreException Description copied from class:PatternLocatorReports the match of the given import reference if the resolveLevel is high enough.- Overrides:
matchLevelAndReportImportRefin 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.CoreException Description copied from class:PatternLocatorReports the match of the given import reference.- Overrides:
matchReportImportRefin 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.CoreException Reports the match of the given reference.- Overrides:
matchReportReferencein 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.CoreException Reports the match of the given reference. Also provide a local and other elements to eventually report in match.- Overrides:
matchReportReferencein 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:
referenceTypein 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:PatternLocatorFinds 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:
resolveLevelin classPatternLocator
-
resolveLevel
Description copied from class:PatternLocatorFinds 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:
resolveLevelin 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:IQualifiedTypeResolutionListenerNotifies 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:
recordResolutionin interfaceIQualifiedTypeResolutionListener- Overrides:
recordResolutionin classPatternLocator- Parameters:
typeReference- the type referenceresolution- the resolution found
-
toString
- Overrides:
toStringin classPatternLocator
-