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

java.lang.Object
  extended by org.aspectj.org.eclipse.jdt.internal.core.search.matching.PatternLocator
      extended by org.aspectj.org.eclipse.jdt.internal.core.search.matching.VariableLocator
          extended by org.aspectj.org.eclipse.jdt.internal.core.search.matching.FieldLocator
All Implemented Interfaces:
IIndexConstants

public class FieldLocator
extends VariableLocator


Field Summary
protected  boolean isDeclarationOfAccessedFieldsPattern
           
 
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.core.search.matching.VariableLocator
pattern
 
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.core.search.matching.PatternLocator
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_FLAVOR
 
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
FieldLocator(FieldPattern pattern)
           
 
Method Summary
protected  int fineGrain()
           
 int match(ASTNode node, MatchingNodeSet nodeSet)
          Check if the given ast node syntactically matches this pattern.
 int match(FieldDeclaration node, MatchingNodeSet nodeSet)
           
protected  int matchContainer()
          Returns the type(s) of container for this pattern.
protected  int matchField(FieldBinding field, boolean matchName)
           
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 matchReference(Reference node, MatchingNodeSet nodeSet, boolean writeOnlyAccess)
           
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.
protected  int referenceType()
           
protected  void reportDeclaration(FieldBinding fieldBinding, MatchLocator locator, SimpleSet knownFields)
           
 int resolveLevel(ASTNode possiblelMatchingNode)
          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(NameReference nameRef)
           
protected  int resolveLevelForType(TypeBinding typeBinding)
           
protected  void updateMatch(ParameterizedTypeBinding parameterizedBinding, char[][][] patternTypeArguments, MatchLocator locator)
           
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.core.search.matching.VariableLocator
match, match, toString
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.core.search.matching.PatternLocator
clear, getQualifiedPattern, getQualifiedSourceName, getTypeNameBinding, initializePolymorphicSearch, match, match, match, match, match, match, match, match, match, matchesName, matchesTypeReference, matchLevel, matchNameValue, matchReportImportRef, newDeclarationMatch, patternLocator, qualifiedPattern, qualifiedSourceName, resolveLevelForType, resolveLevelForType, resolveLevelForType, updateMatch, updateMatch
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

isDeclarationOfAccessedFieldsPattern

protected boolean isDeclarationOfAccessedFieldsPattern
Constructor Detail

FieldLocator

public FieldLocator(FieldPattern pattern)
Method Detail

fineGrain

protected int fineGrain()
Overrides:
fineGrain in class PatternLocator

match

public int match(ASTNode node,
                 MatchingNodeSet nodeSet)
Description copied from class: PatternLocator
Check if the given ast node syntactically matches this pattern. If it does, add it to the match set. Returns the match level.

Overrides:
match in class PatternLocator

match

public int match(FieldDeclaration node,
                 MatchingNodeSet nodeSet)
Overrides:
match in class PatternLocator

matchContainer

protected int matchContainer()
Description copied from class: PatternLocator
Returns the type(s) of container for this pattern. It is a bit combination of types, denoting compilation unit, class declarations, field declarations or method declarations.

Overrides:
matchContainer in class PatternLocator

matchField

protected int matchField(FieldBinding field,
                         boolean matchName)

matchLevelAndReportImportRef

protected void matchLevelAndReportImportRef(ImportReference importRef,
                                            Binding binding,
                                            MatchLocator locator)
                                     throws CoreException
Description copied from class: PatternLocator
Reports the match of the given import reference if the resolveLevel is high enough.

Overrides:
matchLevelAndReportImportRef in class PatternLocator
Throws:
CoreException

matchReference

protected int matchReference(Reference node,
                             MatchingNodeSet nodeSet,
                             boolean writeOnlyAccess)
Overrides:
matchReference in class VariableLocator

matchReportReference

protected void matchReportReference(ASTNode reference,
                                    IJavaElement element,
                                    Binding elementBinding,
                                    int accuracy,
                                    MatchLocator locator)
                             throws CoreException
Description copied from class: PatternLocator
Reports the match of the given reference.

Overrides:
matchReportReference in class PatternLocator
Throws:
CoreException

matchReportReference

protected void matchReportReference(ASTNode reference,
                                    IJavaElement element,
                                    IJavaElement localElement,
                                    IJavaElement[] otherElements,
                                    Binding elementBinding,
                                    int accuracy,
                                    MatchLocator locator)
                             throws CoreException
Description copied from class: PatternLocator
Reports the match of the given reference. Also provide a local element to eventually report in match.

Overrides:
matchReportReference in class PatternLocator
Throws:
CoreException

updateMatch

protected void updateMatch(ParameterizedTypeBinding parameterizedBinding,
                           char[][][] patternTypeArguments,
                           MatchLocator locator)
Overrides:
updateMatch in class PatternLocator

reportDeclaration

protected void reportDeclaration(FieldBinding fieldBinding,
                                 MatchLocator locator,
                                 SimpleSet knownFields)
                          throws CoreException
Throws:
CoreException

referenceType

protected int referenceType()
Overrides:
referenceType in class PatternLocator

resolveLevel

public int resolveLevel(ASTNode possiblelMatchingNode)
Description copied from class: PatternLocator
Finds out whether the given ast node matches this search pattern. Returns IMPOSSIBLE_MATCH if it doesn't. Returns INACCURATE_MATCH if it potentially matches this search pattern (i.e. it has already been resolved but resolving failed.) Returns ACCURATE_MATCH if it matches exactly this search pattern (i.e. it doesn't need to be resolved or it has already been resolved.)

Overrides:
resolveLevel in class PatternLocator

resolveLevel

public int resolveLevel(Binding binding)
Description copied from class: PatternLocator
Finds out whether the given binding matches this search pattern. Returns ACCURATE_MATCH if it does. Returns INACCURATE_MATCH if resolve failed but match is still possible. Returns IMPOSSIBLE_MATCH otherwise. Default is to return INACCURATE_MATCH.

Overrides:
resolveLevel in class PatternLocator

resolveLevel

protected int resolveLevel(NameReference nameRef)

resolveLevelForType

protected int resolveLevelForType(TypeBinding typeBinding)