public class MethodLocator extends PatternLocator
| Modifier and Type | Field and Description |
|---|---|
char[][][] |
allSuperDeclaringTypeNames |
protected boolean |
isDeclarationOfReferencedMethodsPattern |
protected MethodPattern |
pattern |
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_FLAVORAND_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, METHOD_DECL, METHOD_PATTERN, METHOD_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 and Description |
|---|
MethodLocator(MethodPattern pattern) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
clear() |
protected int |
fineGrain() |
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 |
matchContainer()
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,
Binding elementBinding,
int accuracy,
MatchLocator locator)
Reports the match of the given reference.
|
protected void |
matchReportReference(ASTNode reference,
IJavaElement element,
IJavaElement localElement,
IJavaElement[] otherElements,
Binding elementBinding,
int accuracy,
MatchLocator locator)
Reports the match of the given reference.
|
SearchMatch |
newDeclarationMatch(ASTNode reference,
IJavaElement element,
Binding elementBinding,
int accuracy,
int length,
MatchLocator locator) |
protected int |
referenceType() |
protected void |
reportDeclaration(MethodBinding methodBinding,
MatchLocator locator,
SimpleSet knownMethods) |
int |
resolveLevel(ASTNode possibleMatchingNode)
Finds out whether the given ast node matches this search pattern.
|
int |
resolveLevel(Binding binding)
Finds out whether the given binding matches this search pattern.
|
protected int |
resolveLevel(MessageSend messageSend) |
protected int |
resolveLevel(ReferenceExpression referenceExpression) |
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.
|
java.lang.String |
toString() |
getQualifiedPattern, getQualifiedSourceName, getTypeNameBinding, match, match, match, match, match, match, match, match, matchesName, matchesTypeReference, matchLevel, matchNameValue, matchReportImportRef, patternLocator, qualifiedPattern, qualifiedSourceName, recordResolution, resolveLevelForType, resolveLevelForType, resolveLevelForType, updateMatch, updateMatch, updateMatchprotected MethodPattern pattern
protected boolean isDeclarationOfReferencedMethodsPattern
public char[][][] allSuperDeclaringTypeNames
public MethodLocator(MethodPattern pattern)
protected void clear()
clear in class PatternLocatorprotected int fineGrain()
fineGrain in class PatternLocatorpublic void initializePolymorphicSearch(MatchLocator locator)
PatternLocatorinitializePolymorphicSearch in class PatternLocatorprotected boolean isVirtualInvoke(MethodBinding method, MessageSend messageSend)
public int match(ASTNode node, MatchingNodeSet nodeSet)
PatternLocatormatch in class PatternLocatorpublic int match(LambdaExpression node, MatchingNodeSet nodeSet)
match in class PatternLocatorpublic int match(MethodDeclaration node, MatchingNodeSet nodeSet)
match in class PatternLocatorpublic int match(MemberValuePair node, MatchingNodeSet nodeSet)
match in class PatternLocatorpublic int match(MessageSend node, MatchingNodeSet nodeSet)
match in class PatternLocatorpublic int match(ReferenceExpression node, MatchingNodeSet nodeSet)
match in class PatternLocatorpublic int match(Annotation node, MatchingNodeSet nodeSet)
match in class PatternLocatorprotected int matchContainer()
PatternLocatormatchContainer in class PatternLocatorprotected void matchLevelAndReportImportRef(ImportReference importRef, Binding binding, MatchLocator locator) throws CoreException
PatternLocatormatchLevelAndReportImportRef in class PatternLocatorCoreExceptionprotected int matchMethod(MethodBinding method, boolean skipImpossibleArg)
protected void matchReportReference(ASTNode reference, IJavaElement element, Binding elementBinding, int accuracy, MatchLocator locator) throws CoreException
PatternLocatormatchReportReference in class PatternLocatorCoreExceptionprotected void matchReportReference(ASTNode reference, IJavaElement element, IJavaElement localElement, IJavaElement[] otherElements, Binding elementBinding, int accuracy, MatchLocator locator) throws CoreException
PatternLocatormatchReportReference in class PatternLocatorCoreExceptionPatternLocator.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)public SearchMatch newDeclarationMatch(ASTNode reference, IJavaElement element, Binding elementBinding, int accuracy, int length, MatchLocator locator)
newDeclarationMatch in class PatternLocatorprotected int referenceType()
referenceType in class PatternLocatorprotected void reportDeclaration(MethodBinding methodBinding, MatchLocator locator, SimpleSet knownMethods) throws CoreException
CoreExceptionpublic int resolveLevel(ASTNode possibleMatchingNode)
PatternLocatorresolveLevel in class PatternLocatorpublic int resolveLevel(Binding binding)
PatternLocatorresolveLevel in class PatternLocatorprotected int resolveLevel(MessageSend messageSend)
protected int resolveLevel(ReferenceExpression referenceExpression)
protected int resolveLevelAsSubtype(char[] simplePattern,
char[] qualifiedPattern,
ReferenceBinding type,
char[] methodName,
TypeBinding[] argumentTypes,
char[] packageName,
boolean isDefault)
public java.lang.String toString()
toString in class PatternLocator