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

Author:
Erik Hilsdale, Jim Hugunin

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, ANY, ANY_KEY, ANY_WITH_ANNO, BINDING, DYNAMIC, ELLIPSIS, ELLIPSIS_KEY, EXACT, HAS_MEMBER, NO, NO_KEY, NOT, OR, STATIC, TYPE_CATEGORY, WILD
 
Constructor Summary
OrTypePattern(TypePattern left, TypePattern right)
           
 
Method Summary
 java.lang.Object accept(PatternNodeVisitor visitor, java.lang.Object data)
           
 boolean equals(java.lang.Object obj)
           
 TypePattern getLeft()
           
 TypePattern getRight()
           
 int hashCode()
           
 boolean isStarAnnotation()
           
 FuzzyBoolean matchesInstanceof(ResolvedType type)
           
 boolean matchesStatically(ResolvedType type)
           
 TypePattern parameterizeWith(java.util.Map 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, 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
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()

matchesInstanceof

public FuzzyBoolean matchesInstanceof(ResolvedType type)
Specified by:
matchesInstanceof 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 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