org.aspectj.weaver.patterns
Class NotTypePattern

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

public class NotTypePattern
extends TypePattern

!TypePattern

any binding to formals is explicitly forbidden for any composite, ! is just the most obviously wrong case.

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
NotTypePattern(TypePattern pattern)
           
 
Method Summary
 java.lang.Object accept(PatternNodeVisitor visitor, java.lang.Object data)
           
 boolean equals(java.lang.Object obj)
           
 TypePattern getNegatedPattern()
           
 int hashCode()
           
 boolean isBangVoid()
          For quickly recognizing the pattern '!void'
 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, isEllipsis, isIncludeSubtypes, isStar, isStarAnnotation, 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

NotTypePattern

public NotTypePattern(TypePattern pattern)
Method Detail

getNegatedPattern

public TypePattern getNegatedPattern()

matchesInstanceof

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

matchesStatically

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

setAnnotationTypePattern

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

setIsVarArgs

public void setIsVarArgs(boolean isVarArgs)
Overrides:
setIsVarArgs 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

isBangVoid

public boolean isBangVoid()
Description copied from class: TypePattern
For quickly recognizing the pattern '!void'

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

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