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

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.ConstructorPattern
All Implemented Interfaces:
IIndexConstants
Direct Known Subclasses:
ConstructorDeclarationPattern

public class ConstructorPattern
extends JavaSearchPattern


Field Summary
protected static char[][] DECL_CATEGORIES
           
 char[] declaringQualification
           
 char[] declaringSimpleName
           
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
           
 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
ConstructorPattern(char[] declaringSimpleName, char[] declaringQualification, char[][] parameterQualifications, char[][] parameterSimpleNames, int limitTo, int matchRule)
           
ConstructorPattern(char[] declaringSimpleName, char[] declaringQualification, char[][] parameterQualifications, char[][] parameterSimpleNames, java.lang.String[] parameterSignatures, IMethod method, int limitTo, int matchRule)
           
ConstructorPattern(char[] declaringSimpleName, char[] declaringQualification, java.lang.String declaringSignature, char[][] parameterQualifications, char[][] parameterSimpleNames, java.lang.String[] parameterSignatures, char[][] arguments, int limitTo, int matchRule)
           
 
Method Summary
static char[] createDeclarationIndexKey(char[] typeName, int argCount, char[] signature, char[][] parameterTypes, char[][] parameterNames, int modifiers, char[] packageName, int typeModifiers, int extraFlags)
          Constructor entries are encoded as described Binary constructor for class TypeName '/' Arity '/' TypeModifers '/' PackageName '/' Signature '/' ParameterNamesopt '/' Modifiers Source constructor for class TypeName '/' Arity '/' TypeModifers '/' PackageName '/' ParameterTypes '/' ParameterNamesopt '/' Modifiers Constructor with 0 arity for class TypeName '/' 0 '/' TypeModifers '/' PackageName '/' Modifiers Constructor for enum, interface (annotation) and class with default constructor TypeName '/' # '/' TypeModifers '/' PackageName Constructor for member type TypeName '/' Arity '/' TypeModifers TypeModifiers contains some encoded extra information ExtraFlags.IsMemberType ExtraFlags.HasNonPrivateStaticMemberTypes ExtraFlags.ParameterTypesStoredAsSignature
static char[] createDefaultDeclarationIndexKey(char[] typeName, char[] packageName, int typeModifiers, int extraFlags)
           
static char[] createIndexKey(char[] typeName, int argCount)
          Constructor entries are encoded as TypeName '/' 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()
           
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, isPolymorphicSearch, 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

declaringQualification

public char[] declaringQualification

declaringSimpleName

public char[] declaringSimpleName

parameterQualifications

public char[][] parameterQualifications

parameterSimpleNames

public char[][] parameterSimpleNames

parameterCount

public int parameterCount

varargs

public boolean varargs

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

ConstructorPattern

public ConstructorPattern(char[] declaringSimpleName,
                          char[] declaringQualification,
                          char[][] parameterQualifications,
                          char[][] parameterSimpleNames,
                          int limitTo,
                          int matchRule)

ConstructorPattern

public ConstructorPattern(char[] declaringSimpleName,
                          char[] declaringQualification,
                          char[][] parameterQualifications,
                          char[][] parameterSimpleNames,
                          java.lang.String[] parameterSignatures,
                          IMethod method,
                          int limitTo,
                          int matchRule)

ConstructorPattern

public ConstructorPattern(char[] declaringSimpleName,
                          char[] declaringQualification,
                          java.lang.String declaringSignature,
                          char[][] parameterQualifications,
                          char[][] parameterSimpleNames,
                          java.lang.String[] parameterSignatures,
                          char[][] arguments,
                          int limitTo,
                          int matchRule)
Method Detail

createDeclarationIndexKey

public static char[] createDeclarationIndexKey(char[] typeName,
                                               int argCount,
                                               char[] signature,
                                               char[][] parameterTypes,
                                               char[][] parameterNames,
                                               int modifiers,
                                               char[] packageName,
                                               int typeModifiers,
                                               int extraFlags)
Constructor entries are encoded as described Binary constructor for class TypeName '/' Arity '/' TypeModifers '/' PackageName '/' Signature '/' ParameterNamesopt '/' Modifiers Source constructor for class TypeName '/' Arity '/' TypeModifers '/' PackageName '/' ParameterTypes '/' ParameterNamesopt '/' Modifiers Constructor with 0 arity for class TypeName '/' 0 '/' TypeModifers '/' PackageName '/' Modifiers Constructor for enum, interface (annotation) and class with default constructor TypeName '/' # '/' TypeModifers '/' PackageName Constructor for member type TypeName '/' Arity '/' TypeModifers TypeModifiers contains some encoded extra information ExtraFlags.IsMemberType ExtraFlags.HasNonPrivateStaticMemberTypes ExtraFlags.ParameterTypesStoredAsSignature


createDefaultDeclarationIndexKey

public static char[] createDefaultDeclarationIndexKey(char[] typeName,
                                                      char[] packageName,
                                                      int typeModifiers,
                                                      int extraFlags)

createIndexKey

public static char[] createIndexKey(char[] typeName,
                                    int argCount)
Constructor entries are encoded as TypeName '/' Arity: e.g. 'X/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()

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