org.aspectj.weaver.patterns
Class BindingTypePattern
java.lang.Object
org.aspectj.weaver.patterns.PatternNode
org.aspectj.weaver.patterns.TypePattern
org.aspectj.weaver.patterns.ExactTypePattern
org.aspectj.weaver.patterns.BindingTypePattern
- All Implemented Interfaces:
- IHasPosition, IHasSourceLocation, BindingPattern
public class BindingTypePattern
- extends ExactTypePattern
- implements BindingPattern
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 |
Methods inherited from class org.aspectj.weaver.patterns.ExactTypePattern |
accept, couldEverMatchSameTypesAs, getResolvedExactType, getType, isArray, isVoid, matchesExactly, matchesExactly, matchesInstanceof, matchesSubtypes, readTypePattern150, readTypePatternOldStyle, resolveBindings |
Methods inherited from class org.aspectj.weaver.patterns.TypePattern |
getAnnotationPattern, getExactType, getTypeParameters, hasFailedResolution, isBangVoid, isEllipsis, isIncludeSubtypes, isStar, isStarAnnotation, isVarArgs, matches, matchesStatically, matchesSubtypes, notExactType, postRead, resolve, resolveExactType, setAnnotationTypePattern, setIsVarArgs, setTypeParameters |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
BindingTypePattern
public BindingTypePattern(UnresolvedType type,
int index,
boolean isVarArgs)
BindingTypePattern
public BindingTypePattern(FormalBinding binding,
boolean isVarArgs)
getFormalIndex
public int getFormalIndex()
- Specified by:
getFormalIndex
in interface BindingPattern
getBindingName
public java.lang.String getBindingName()
equals
public boolean equals(java.lang.Object other)
- Overrides:
equals
in class ExactTypePattern
hashCode
public int hashCode()
- Overrides:
hashCode
in class ExactTypePattern
write
public void write(CompressingDataOutputStream out)
throws java.io.IOException
- Overrides:
write
in class ExactTypePattern
- Throws:
java.io.IOException
read
public static TypePattern read(VersionedDataInputStream s,
ISourceContext context)
throws java.io.IOException
- Throws:
java.io.IOException
remapAdviceFormals
public TypePattern remapAdviceFormals(IntMap bindings)
- Description copied from class:
TypePattern
- This is called during concretization of pointcuts, it is used by BindingTypePattern to return a new BindingTypePattern with a
formal index appropiate for the advice, rather than for the lexical declaration, i.e. this handles transforamtions through
named pointcuts.
pointcut foo(String name): args(name);
--> This makes a BindingTypePattern(0) pointing to the 0th formal
before(Foo f, String n): this(f) && foo(n) { ... }
--> when resolveReferences is called on the args from the above, it
will return a BindingTypePattern(1)
before(Foo f): this(f) && foo(*) { ... }
--> when resolveReferences is called on the args from the above, it
will return an ExactTypePattern(String)
- Overrides:
remapAdviceFormals
in class TypePattern
parameterizeWith
public TypePattern parameterizeWith(java.util.Map typeVariableMap,
World w)
- Description copied from class:
ExactTypePattern
- return a version of this type pattern with all type variables references replaced by the corresponding entry in the map.
- Overrides:
parameterizeWith
in class ExactTypePattern
toString
public java.lang.String toString()
- Overrides:
toString
in class ExactTypePattern