All Implemented Interfaces:
Cloneable, IParallelizable, IIndexConstants
Direct Known Subclasses:
ConstructorDeclarationPattern

public class ConstructorPattern extends JavaSearchPattern
  • Field Details

    • 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 Details

    • 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, String[] parameterSignatures, IMethod method, int limitTo, int matchRule)
    • ConstructorPattern

      public ConstructorPattern(char[] declaringSimpleName, char[] declaringQualification, String declaringSignature, char[][] parameterQualifications, char[][] parameterSimpleNames, String[] parameterSignatures, char[][] arguments, int limitTo, int matchRule)
  • Method Details

    • 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 IOException
      Overrides:
      queryIn in class SearchPattern
      Throws:
      IOException
    • print

      protected StringBuffer print(StringBuffer output)
      Overrides:
      print in class JavaSearchPattern