org.aspectj.org.eclipse.jdt.internal.core.search.matching
Class MethodPattern

java.lang.Object
  extended by org.aspectj.org.eclipse.jdt.internal.core.search.matching.InternalSearchPattern
      extended by org.aspectj.org.eclipse.jdt.core.search.SearchPattern
          extended by org.aspectj.org.eclipse.jdt.internal.core.search.matching.JavaSearchPattern
              extended by org.aspectj.org.eclipse.jdt.internal.core.search.matching.MethodPattern
All Implemented Interfaces:
IIndexConstants
Direct Known Subclasses:
DeclarationOfReferencedMethodsPattern

public class MethodPattern
extends JavaSearchPattern


Field Summary
protected static char[][] DECL_CATEGORIES
           
 char[] declaringQualification
           
 char[] declaringSimpleName
           
protected  IType declaringType
           
protected  boolean findDeclarations
           
protected  boolean findReferences
           
 int parameterCount
           
 char[][] parameterQualifications
           
 char[][] parameterSimpleNames
           
protected static char[][] REF_AND_DECL_CATEGORIES
           
protected static char[][] REF_CATEGORIES
           
 char[] returnQualification
           
 char[] returnSimpleName
           
 char[] selector
           
 boolean varargs
           
 
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.core.search.matching.JavaSearchPattern
MATCH_COMPATIBILITY_MASK, MATCH_MODE_MASK
 
Fields inherited from class org.aspectj.org.eclipse.jdt.core.search.SearchPattern
R_CAMELCASE_MATCH, R_CASE_SENSITIVE, R_EQUIVALENT_MATCH, R_ERASURE_MATCH, R_EXACT_MATCH, R_FULL_MATCH, R_PATTERN_MATCH, R_PREFIX_MATCH, R_REGEXP_MATCH
 
Fields inherited from interface org.aspectj.org.eclipse.jdt.internal.core.search.indexing.IIndexConstants
ANNOTATION_TYPE_SUFFIX, CLASS_AND_ENUM_SUFFIX, CLASS_AND_INTERFACE_SUFFIX, CLASS_SUFFIX, CONSTRUCTOR_DECL, CONSTRUCTOR_PATTERN, CONSTRUCTOR_REF, COUNTS, 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, 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
MethodPattern(boolean findDeclarations, boolean findReferences, char[] selector, char[] declaringQualification, char[] declaringSimpleName, char[] returnQualification, char[] returnSimpleName, char[][] parameterQualifications, char[][] parameterSimpleNames, IType declaringType, int matchRule)
           
MethodPattern(boolean findDeclarations, boolean findReferences, char[] selector, char[] declaringQualification, char[] declaringSimpleName, char[] returnQualification, char[] returnSimpleName, java.lang.String returnSignature, char[][] parameterQualifications, char[][] parameterSimpleNames, java.lang.String[] parameterSignatures, IMethod method, int matchRule)
           
MethodPattern(boolean findDeclarations, boolean findReferences, char[] selector, char[] declaringQualification, char[] declaringSimpleName, java.lang.String declaringSignature, char[] returnQualification, char[] returnSimpleName, java.lang.String returnSignature, char[][] parameterQualifications, char[][] parameterSimpleNames, java.lang.String[] parameterSignatures, char[][] arguments, int matchRule)
           
 
Method Summary
static char[] createIndexKey(char[] selector, int argCount)
          Method entries are encoded as selector '/' Arity: e.g.
 void decodeIndexKey(char[] key)
          Decode the given index key in this pattern.
 SearchPattern getBlankPattern()
          Returns a blank pattern that can be used as a record to decode an index key.
 char[][] getIndexCategories()
          Returns an array of index categories to consider for this index query.
 boolean matchesDecodedKey(SearchPattern decodedPattern)
          Returns whether this pattern matches the given pattern (representing a decoded index key).
protected  boolean mustResolve()
          Returns whether a method declaration or message send must be resolved to find out if this method pattern matches it.
protected  java.lang.StringBuffer print(java.lang.StringBuffer output)
           
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.core.search.matching.JavaSearchPattern
hasSignatures, hasTypeArguments, hasTypeParameters, toString
 
Methods inherited from class org.aspectj.org.eclipse.jdt.core.search.SearchPattern
camelCaseMatch, camelCaseMatch, createAndPattern, createOrPattern, createPattern, createPattern, createPattern, getIndexKey, getMatchRule, matchesName, validateMatchRule
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

findDeclarations

protected boolean findDeclarations

findReferences

protected boolean findReferences

selector

public char[] selector

declaringQualification

public char[] declaringQualification

declaringSimpleName

public char[] declaringSimpleName

returnQualification

public char[] returnQualification

returnSimpleName

public char[] returnSimpleName

parameterQualifications

public char[][] parameterQualifications

parameterSimpleNames

public char[][] parameterSimpleNames

parameterCount

public int parameterCount

varargs

public boolean varargs

declaringType

protected IType declaringType

REF_CATEGORIES

protected static char[][] REF_CATEGORIES

REF_AND_DECL_CATEGORIES

protected static char[][] REF_AND_DECL_CATEGORIES

DECL_CATEGORIES

protected static char[][] DECL_CATEGORIES
Constructor Detail

MethodPattern

public MethodPattern(boolean findDeclarations,
                     boolean findReferences,
                     char[] selector,
                     char[] declaringQualification,
                     char[] declaringSimpleName,
                     char[] returnQualification,
                     char[] returnSimpleName,
                     char[][] parameterQualifications,
                     char[][] parameterSimpleNames,
                     IType declaringType,
                     int matchRule)

MethodPattern

public MethodPattern(boolean findDeclarations,
                     boolean findReferences,
                     char[] selector,
                     char[] declaringQualification,
                     char[] declaringSimpleName,
                     char[] returnQualification,
                     char[] returnSimpleName,
                     java.lang.String returnSignature,
                     char[][] parameterQualifications,
                     char[][] parameterSimpleNames,
                     java.lang.String[] parameterSignatures,
                     IMethod method,
                     int matchRule)

MethodPattern

public MethodPattern(boolean findDeclarations,
                     boolean findReferences,
                     char[] selector,
                     char[] declaringQualification,
                     char[] declaringSimpleName,
                     java.lang.String declaringSignature,
                     char[] returnQualification,
                     char[] returnSimpleName,
                     java.lang.String returnSignature,
                     char[][] parameterQualifications,
                     char[][] parameterSimpleNames,
                     java.lang.String[] parameterSignatures,
                     char[][] arguments,
                     int matchRule)
Method Detail

createIndexKey

public static char[] createIndexKey(char[] selector,
                                    int argCount)
Method entries are encoded as selector '/' Arity: e.g. 'foo/0'


decodeIndexKey

public void decodeIndexKey(char[] key)
Description copied from class: SearchPattern
Decode the given index key in this pattern. The decoded index key is used by SearchPattern.matchesDecodedKey(SearchPattern) to find out if the corresponding index entry should be considered.

This method should be re-implemented in subclasses that need to decode an index key.

Overrides:
decodeIndexKey in class SearchPattern
Parameters:
key - the given index key

getBlankPattern

public SearchPattern getBlankPattern()
Description copied from class: SearchPattern
Returns a blank pattern that can be used as a record to decode an index key.

Implementors of this method should return a new search pattern that is going to be used to decode index keys.

Overrides:
getBlankPattern in class JavaSearchPattern
Returns:
a new blank pattern
See Also:
SearchPattern.decodeIndexKey(char[])

getIndexCategories

public char[][] getIndexCategories()
Description copied from class: SearchPattern
Returns an array of index categories to consider for this index query. These potential matches will be further narrowed by the match locator, but precise match locating can be expensive, and index query should be as accurate as possible so as to eliminate obvious false hits.

This method should be re-implemented in subclasses that need to narrow down the index query.

Overrides:
getIndexCategories in class SearchPattern
Returns:
an array of index categories

matchesDecodedKey

public boolean matchesDecodedKey(SearchPattern decodedPattern)
Description copied from class: SearchPattern
Returns whether this pattern matches the given pattern (representing a decoded index key).

This method should be re-implemented in subclasses that need to narrow down the index query.

Overrides:
matchesDecodedKey in class SearchPattern
Parameters:
decodedPattern - a pattern representing a decoded index key
Returns:
whether this pattern matches the given pattern

mustResolve

protected boolean mustResolve()
Returns whether a method declaration or message send must be resolved to find out if this method pattern matches it.


print

protected java.lang.StringBuffer print(java.lang.StringBuffer output)
Overrides:
print in class JavaSearchPattern