Class ExactAnnotationFieldTypePattern
java.lang.Object
org.aspectj.weaver.patterns.PatternNode
org.aspectj.weaver.patterns.AnnotationTypePattern
org.aspectj.weaver.patterns.ExactAnnotationTypePattern
org.aspectj.weaver.patterns.ExactAnnotationFieldTypePattern
- All Implemented Interfaces:
IHasPosition, IHasSourceLocation
Represents an attempt to bind the field of an annotation within a pointcut. For example:
before(Level lev): execution(* *(..)) && @annotation(TraceAnnotation(lev))
This binding annotation type pattern will be for 'lev'.
-
Field Summary
Fields inherited from class ExactAnnotationTypePattern
bindingPattern, formalName, resolvedFields inherited from class AnnotationTypePattern
AND, ANY, ANY_KEY, BINDING, BINDINGFIELD, BINDINGFIELD2, ELLIPSIS, ELLIPSIS_KEY, EXACT, EXACTFIELD, NONE, NOT, OR, WILDFields inherited from class PatternNode
end, sourceContext, start -
Constructor Summary
ConstructorsConstructorDescriptionExactAnnotationFieldTypePattern(ExactAnnotationTypePattern p, String formalName) ExactAnnotationFieldTypePattern(UnresolvedType annotationType, String formalName) -
Method Summary
Modifier and TypeMethodDescriptionaccept(PatternNodeVisitor visitor, Object data) booleanfastMatches(AnnotatedElement annotated) inthashCode()matches(AnnotatedElement annotated) matches(AnnotatedElement annotated, ResolvedType[] parameterAnnotations) matchesRuntimeType(AnnotatedElement annotated) parameterizeWith(Map typeVariableMap, World w) static AnnotationTypePatternread(VersionedDataInputStream s, ISourceContext context) voidresolveBindings(IScope scope, Bindings bindings, boolean allowBinding) resolve one of these funky things.toString()voidMethods inherited from class ExactAnnotationTypePattern
maybeGetSimpleName, verifyIsAnnotationTypeMethods inherited from class AnnotationTypePattern
isAny, isForParameterAnnotationMatch, remapAdviceFormals, setForParameterAnnotationMatchMethods inherited from class PatternNode
copyLocationFrom, getEnd, getFileName, getSourceContext, getSourceLocation, getStart, readLocation, setLocation, traverse, writeLocation
-
Constructor Details
-
ExactAnnotationFieldTypePattern
-
ExactAnnotationFieldTypePattern
-
-
Method Details
-
resolveBindings
resolve one of these funky things. Need to:
(a) Check the formal is bound
(b) Check the annotation type is valid- Overrides:
resolveBindingsin classExactAnnotationTypePattern
-
write
- Overrides:
writein classExactAnnotationTypePattern- Throws:
IOException
-
read
public static AnnotationTypePattern read(VersionedDataInputStream s, ISourceContext context) throws IOException - Throws:
IOException
-
accept
- Overrides:
acceptin classExactAnnotationTypePattern
-
equals
- Overrides:
equalsin classExactAnnotationTypePattern
-
hashCode
public int hashCode()- Overrides:
hashCodein classExactAnnotationTypePattern
-
fastMatches
- Overrides:
fastMatchesin classExactAnnotationTypePattern
-
getAnnotationType
- Overrides:
getAnnotationTypein classExactAnnotationTypePattern
-
getAnnotationValues
- Overrides:
getAnnotationValuesin classExactAnnotationTypePattern
-
getResolvedAnnotationType
- Overrides:
getResolvedAnnotationTypein classExactAnnotationTypePattern
-
matches
- Overrides:
matchesin classExactAnnotationTypePattern
-
matches
- Overrides:
matchesin classExactAnnotationTypePattern
-
matchesRuntimeType
- Overrides:
matchesRuntimeTypein classExactAnnotationTypePattern
-
parameterizeWith
- Overrides:
parameterizeWithin classExactAnnotationTypePattern
-
resolve
- Overrides:
resolvein classExactAnnotationTypePattern
-
toString
- Overrides:
toStringin classExactAnnotationTypePattern
-