org.aspectj.weaver.patterns
Class OrTypePattern

java.lang.Object
  extended by org.aspectj.weaver.patterns.PatternNode
      extended by org.aspectj.weaver.patterns.TypePattern
          extended by org.aspectj.weaver.patterns.OrTypePattern
All Implemented Interfaces:
IHasPosition, IHasSourceLocation

public class OrTypePattern
extends TypePattern

left || right

any binding to formals is explicitly forbidden for any composite by the language


Nested Class Summary
 
Nested classes/interfaces inherited from class org.aspectj.weaver.patterns.TypePattern
TypePattern.MatchKind
 
Field Summary
 
Fields inherited from class org.aspectj.weaver.patterns.TypePattern
AND, annotationPattern, ANY, ANY_KEY, ANY_WITH_ANNO, BINDING, DYNAMIC, ELLIPSIS, ELLIPSIS_KEY, EXACT, HAS_MEMBER, includeSubtypes, isVarArgs, NO, NO_KEY, NOT, OR, STATIC, TYPE_CATEGORY, typeParameters, WILD
 
Fields inherited from class org.aspectj.weaver.patterns.PatternNode
end, sourceContext, start
 
Constructor Summary
OrTypePattern(TypePattern left, TypePattern right)
           
 
Method Summary
 java.lang.Object accept(PatternNodeVisitor visitor, java.lang.Object data)
           
protected  boolean couldEverMatchSameTypesAs(TypePattern other)
           
 boolean equals(java.lang.Object obj)
           
 TypePattern getLeft()
           
 TypePattern getRight()
           
 int hashCode()
           
 boolean isStarAnnotation()
           
protected  boolean matchesExactly(ResolvedType type)
           
protected  boolean matchesExactly(ResolvedType type, ResolvedType annotatedType)
           
 FuzzyBoolean matchesInstanceof(ResolvedType type)
           
 boolean matchesStatically(ResolvedType type)
           
 TypePattern parameterizeWith(java.util.Map<java.lang.String,UnresolvedType> typeVariableMap, World w)
          return a version of this type pattern in which all type variable references have been replaced by their corresponding entry in the map.
static TypePattern read(VersionedDataInputStream s, ISourceContext context)
           
 TypePattern resolveBindings(IScope scope, Bindings bindings, boolean allowBinding, boolean requireExactType)
          This can modify in place, or return a new TypePattern if the type changes.
 void setAnnotationTypePattern(AnnotationTypePattern annPatt)
           
 void setIsVarArgs(boolean isVarArgs)
           
 java.lang.String toString()
           
 java.lang.Object traverse(PatternNodeVisitor visitor, java.lang.Object data)
           
 void write(CompressingDataOutputStream s)
           
 
Methods inherited from class org.aspectj.weaver.patterns.TypePattern
getAnnotationPattern, getExactType, getTypeParameters, hasFailedResolution, isArray, isBangVoid, isEllipsis, isIncludeSubtypes, isStar, isVarArgs, isVoid, matches, matchesSubtypes, matchesSubtypes, notExactType, postRead, remapAdviceFormals, resolve, resolveExactType, setTypeParameters
 
Methods inherited from class org.aspectj.weaver.patterns.PatternNode
copyLocationFrom, getEnd, getFileName, getSourceContext, getSourceLocation, getStart, readLocation, setLocation, writeLocation
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

OrTypePattern

public OrTypePattern(TypePattern left,
                     TypePattern right)
Method Detail

getRight

public TypePattern getRight()

getLeft

public TypePattern getLeft()

couldEverMatchSameTypesAs

protected boolean couldEverMatchSameTypesAs(TypePattern other)
Overrides:
couldEverMatchSameTypesAs in class TypePattern

matchesInstanceof

public FuzzyBoolean matchesInstanceof(ResolvedType type)
Specified by:
matchesInstanceof in class TypePattern

matchesExactly

protected boolean matchesExactly(ResolvedType type)
Specified by:
matchesExactly in class TypePattern

matchesExactly

protected boolean matchesExactly(ResolvedType type,
                                 ResolvedType annotatedType)
Specified by:
matchesExactly in class TypePattern

matchesStatically

public boolean matchesStatically(ResolvedType type)
Overrides:
matchesStatically in class TypePattern

setIsVarArgs

public void setIsVarArgs(boolean isVarArgs)
Overrides:
setIsVarArgs in class TypePattern

setAnnotationTypePattern

public void setAnnotationTypePattern(AnnotationTypePattern annPatt)
Overrides:
setAnnotationTypePattern in class TypePattern

write

public void write(CompressingDataOutputStream s)
           throws java.io.IOException
Specified by:
write in class PatternNode
Throws:
java.io.IOException

read

public static TypePattern read(VersionedDataInputStream s,
                               ISourceContext context)
                        throws java.io.IOException
Throws:
java.io.IOException

resolveBindings

public TypePattern resolveBindings(IScope scope,
                                   Bindings bindings,
                                   boolean allowBinding,
                                   boolean requireExactType)
Description copied from class: TypePattern
This can modify in place, or return a new TypePattern if the type changes.

Overrides:
resolveBindings in class TypePattern

parameterizeWith

public TypePattern parameterizeWith(java.util.Map<java.lang.String,UnresolvedType> typeVariableMap,
                                    World w)
Description copied from class: TypePattern
return a version of this type pattern in which all type variable references have been replaced by their corresponding entry in the map.

Specified by:
parameterizeWith in class TypePattern

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

isStarAnnotation

public boolean isStarAnnotation()
Overrides:
isStarAnnotation in class TypePattern

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

accept

public java.lang.Object accept(PatternNodeVisitor visitor,
                               java.lang.Object data)
Specified by:
accept in class PatternNode

traverse

public java.lang.Object traverse(PatternNodeVisitor visitor,
                                 java.lang.Object data)
Overrides:
traverse in class PatternNode