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

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.OrLocator
All Implemented Interfaces:
IIndexConstants

public class OrLocator
extends PatternLocator


Field Summary
protected  PatternLocator[] patternLocators
           
 
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
OrLocator(OrPattern pattern)
           
 
Method Summary
 void initializePolymorphicSearch(MatchLocator locator)
          Initializes this search pattern so that polymorphic search can be performed.
 int match(Annotation node, MatchingNodeSet nodeSet)
           
 int match(ASTNode node, MatchingNodeSet nodeSet)
          Check if the given ast node syntactically matches this pattern.
 int match(ConstructorDeclaration node, MatchingNodeSet nodeSet)
           
 int match(Expression node, MatchingNodeSet nodeSet)
           
 int match(FieldDeclaration node, MatchingNodeSet nodeSet)
           
 int match(LocalDeclaration node, MatchingNodeSet nodeSet)
           
 int match(MemberValuePair node, MatchingNodeSet nodeSet)
           
 int match(MessageSend node, MatchingNodeSet nodeSet)
           
 int match(MethodDeclaration node, MatchingNodeSet nodeSet)
           
 int match(Reference node, MatchingNodeSet nodeSet)
           
 int match(TypeDeclaration node, MatchingNodeSet nodeSet)
           
 int match(TypeParameter node, MatchingNodeSet nodeSet)
           
 int match(TypeReference node, MatchingNodeSet nodeSet)
           
protected  int matchContainer()
          Returns the type(s) of container for this pattern.
protected  void matchLevelAndReportImportRef(ImportReference importRef, Binding binding, MatchLocator locator)
          Reports the match of the given import reference if the resolveLevel is high enough.
protected  void matchReportImportRef(ImportReference importRef, Binding binding, IJavaElement element, int accuracy, MatchLocator locator)
          Reports the match of the given import reference.
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.
 SearchMatch newDeclarationMatch(ASTNode reference, IJavaElement element, Binding elementBinding, int accuracy, int length, MatchLocator locator)
           
 int resolveLevel(ASTNode node)
          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.
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.core.search.matching.PatternLocator
clear, fineGrain, getQualifiedPattern, getQualifiedSourceName, getTypeNameBinding, matchesName, matchesTypeReference, matchLevel, matchNameValue, patternLocator, qualifiedPattern, qualifiedSourceName, referenceType, resolveLevelForType, resolveLevelForType, resolveLevelForType, toString, updateMatch, updateMatch, updateMatch
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

patternLocators

protected PatternLocator[] patternLocators
Constructor Detail

OrLocator

public OrLocator(OrPattern pattern)
Method Detail

initializePolymorphicSearch

public void initializePolymorphicSearch(MatchLocator locator)
Description copied from class: PatternLocator
Initializes this search pattern so that polymorphic search can be performed.

Overrides:
initializePolymorphicSearch in class PatternLocator

match

public int match(Annotation node,
                 MatchingNodeSet nodeSet)
Overrides:
match 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(ConstructorDeclaration node,
                 MatchingNodeSet nodeSet)
Overrides:
match in class PatternLocator

match

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

match

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

match

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

match

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

match

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

match

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

match

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

match

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

match

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

match

public int match(TypeReference 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

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

matchReportImportRef

protected void matchReportImportRef(ImportReference importRef,
                                    Binding binding,
                                    IJavaElement element,
                                    int accuracy,
                                    MatchLocator locator)
                             throws CoreException
Description copied from class: PatternLocator
Reports the match of the given import reference.

Overrides:
matchReportImportRef 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

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

newDeclarationMatch

public SearchMatch newDeclarationMatch(ASTNode reference,
                                       IJavaElement element,
                                       Binding elementBinding,
                                       int accuracy,
                                       int length,
                                       MatchLocator locator)
Overrides:
newDeclarationMatch in class PatternLocator

resolveLevel

public int resolveLevel(ASTNode node)
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