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

java.lang.Object
  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
           
static int FINE_GRAIN_MASK
           
 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
fineGrain, MATCH_COMPATIBILITY_MASK, MATCH_MODE_MASK
 
Fields inherited from class org.aspectj.org.eclipse.jdt.core.search.SearchPattern
focus, kind, mustResolve, R_CAMELCASE_MATCH, R_CAMELCASE_SAME_PART_COUNT_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
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, 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 Summary
MethodPattern(char[] selector, char[] declaringQualification, char[] declaringSimpleName, char[] returnQualification, char[] returnSimpleName, char[][] parameterQualifications, char[][] parameterSimpleNames, IType declaringType, int limitTo, int matchRule)
           
MethodPattern(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 limitTo, int matchRule)
           
MethodPattern(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 limitTo, 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 isPolymorphicSearch()
           
 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)
           
 EntryResult[] queryIn(Index index)
           
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.core.search.matching.JavaSearchPattern
getFineGrainFlagString, hasSignatures, hasTypeArguments, hasTypeParameters, toString
 
Methods inherited from class org.aspectj.org.eclipse.jdt.core.search.SearchPattern
acceptMatch, acceptMatch, camelCaseMatch, camelCaseMatch, camelCaseMatch, camelCaseMatch, createAndPattern, createOrPattern, createPattern, createPattern, createPattern, currentPattern, findIndexMatches, getIndexKey, getMatchingRegions, 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

FINE_GRAIN_MASK

public static final int FINE_GRAIN_MASK
See Also:
Constant Field Values
Constructor Detail

MethodPattern

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

MethodPattern

public MethodPattern(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 limitTo,
                     int matchRule)

MethodPattern

public MethodPattern(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 limitTo,
                     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

isPolymorphicSearch

public boolean isPolymorphicSearch()
Overrides:
isPolymorphicSearch in class SearchPattern

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.


queryIn

public EntryResult[] queryIn(Index index)
                      throws java.io.IOException
Overrides:
queryIn in class SearchPattern
Throws:
java.io.IOException

print

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