Class MethodLocator
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.core.search.matching.PatternLocator
org.aspectj.org.eclipse.jdt.internal.core.search.matching.MethodLocator
- 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 ReferenceBinding
checkMethodRef(MethodBinding method, ReferenceExpression referenceExpression)
protected void
clear()
protected int
void
initializePolymorphicSearch(MatchLocator locator)
Initializes this search pattern so that polymorphic search can be performed.protected boolean
isVirtualInvoke(MethodBinding method, MessageSend messageSend)
Returns whether the code gen will use an invoke virtual for this message send or not.int
match(Annotation node, MatchingNodeSet nodeSet)
int
match(ASTNode node, MatchingNodeSet nodeSet)
Check if the given ast node syntactically matches this pattern.int
match(LambdaExpression node, MatchingNodeSet nodeSet)
int
match(MemberValuePair node, MatchingNodeSet nodeSet)
int
match(MessageSend node, MatchingNodeSet nodeSet)
int
match(MethodDeclaration node, MatchingNodeSet nodeSet)
int
match(ReferenceExpression node, MatchingNodeSet nodeSet)
protected int
Returns the type(s) of container for this pattern.protected void
matchLevelAndReportImportRef(ImportReference importRef, Binding binding, MatchLocator locator)
Reports the match of the given import reference if the resolveLevel is high enough.protected int
matchMethod(MethodBinding method, boolean skipImpossibleArg)
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.newDeclarationMatch(ASTNode reference, IJavaElement element, Binding elementBinding, int accuracy, int length, MatchLocator locator)
protected int
protected void
reportDeclaration(MethodBinding methodBinding, MatchLocator locator, SimpleSet knownMethods)
int
resolveLevel(ASTNode possibleMatchingNode)
Finds out whether the given ast node matches this search pattern.protected int
resolveLevel(MessageSend messageSend)
protected int
resolveLevel(ReferenceExpression referenceExpression)
int
resolveLevel(Binding binding)
Finds out whether the given binding matches this search pattern.protected int
resolveLevelAsSubtype(char[] simplePattern, char[] qualifiedPattern, ReferenceBinding type, char[] methodName, TypeBinding[] argumentTypes, char[] packageName, boolean isDefault)
Returns whether the given reference type binding matches or is a subtype of a type that matches the given qualified pattern.toString()
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.core.search.matching.PatternLocator
getQualifiedPattern, getQualifiedSourceName, getTypeNameBinding, match, match, match, match, match, match, match, match, match, match, matchesName, matchesTypeReference, matchLevel, matchNameValue, matchReportImportRef, patternLocator, qualifiedPattern, qualifiedSourceName, recordResolution, resolveLevelForType, resolveLevelForType, resolveLevelForType, updateMatch, updateMatch, updateMatch
-
Field Details
-
pattern
-
isDeclarationOfReferencedMethodsPattern
protected boolean isDeclarationOfReferencedMethodsPattern -
allSuperDeclaringTypeNames
public char[][][] allSuperDeclaringTypeNames
-
-
Constructor Details
-
MethodLocator
-
-
Method Details
-
clear
protected void clear()- Overrides:
clear
in classPatternLocator
-
fineGrain
protected int fineGrain()- Overrides:
fineGrain
in classPatternLocator
-
initializePolymorphicSearch
Description copied from class:PatternLocator
Initializes this search pattern so that polymorphic search can be performed.- Overrides:
initializePolymorphicSearch
in classPatternLocator
-
isVirtualInvoke
Returns whether the code gen will use an invoke virtual for this message send or not. -
checkMethodRef
protected ReferenceBinding checkMethodRef(MethodBinding method, ReferenceExpression referenceExpression) -
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
-
match
- Overrides:
match
in classPatternLocator
-
match
- Overrides:
match
in classPatternLocator
-
match
- Overrides:
match
in classPatternLocator
-
match
- Overrides:
match
in classPatternLocator
-
matchContainer
protected int matchContainer()Description copied from class:PatternLocator
Returns the type(s) of container for this pattern. It is a bit combination of types, denoting compilation unit, class declarations, field declarations or method declarations.- Overrides:
matchContainer
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
-
matchMethod
-
matchReportReference
protected void matchReportReference(ASTNode reference, IJavaElement element, Binding elementBinding, int accuracy, MatchLocator locator) throws org.eclipse.core.runtime.CoreExceptionDescription copied from class:PatternLocator
Reports 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.CoreExceptionDescription copied from class:PatternLocator
Reports the match of the given reference. Also provide a local element to eventually report in match.- Overrides:
matchReportReference
in classPatternLocator
- Throws:
org.eclipse.core.runtime.CoreException
- See Also:
PatternLocator.matchReportReference(org.aspectj.org.eclipse.jdt.internal.compiler.ast.ASTNode, org.aspectj.org.eclipse.jdt.core.IJavaElement, Binding, int, org.aspectj.org.eclipse.jdt.internal.core.search.matching.MatchLocator)
-
newDeclarationMatch
public SearchMatch newDeclarationMatch(ASTNode reference, IJavaElement element, Binding elementBinding, int accuracy, int length, MatchLocator locator)- Overrides:
newDeclarationMatch
in classPatternLocator
-
referenceType
protected int referenceType()- Overrides:
referenceType
in classPatternLocator
-
reportDeclaration
protected void reportDeclaration(MethodBinding methodBinding, MatchLocator locator, SimpleSet knownMethods) 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
-
resolveLevelAsSubtype
protected int resolveLevelAsSubtype(char[] simplePattern, char[] qualifiedPattern, ReferenceBinding type, char[] methodName, TypeBinding[] argumentTypes, char[] packageName, boolean isDefault)Returns whether the given reference type binding matches or is a subtype of a type that matches the given qualified pattern. Returns ACCURATE_MATCH if it does. Returns INACCURATE_MATCH if resolve fails Returns IMPOSSIBLE_MATCH if it doesn't. -
toString
- Overrides:
toString
in classPatternLocator
-