Package org.aspectj.weaver.patterns
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 org.aspectj.weaver.patterns.ExactAnnotationTypePattern
bindingPattern, formalName, resolved
Fields inherited from class org.aspectj.weaver.patterns.AnnotationTypePattern
AND, ANY, ANY_KEY, BINDING, BINDINGFIELD, BINDINGFIELD2, ELLIPSIS, ELLIPSIS_KEY, EXACT, EXACTFIELD, NONE, NOT, OR, WILD
Fields inherited from class org.aspectj.weaver.patterns.PatternNode
end, sourceContext, start
-
Constructor Summary
ConstructorDescriptionExactAnnotationFieldTypePattern(ExactAnnotationTypePattern p, String formalName)
ExactAnnotationFieldTypePattern(UnresolvedType annotationType, String formalName)
-
Method Summary
Modifier and TypeMethodDescriptionaccept(PatternNodeVisitor visitor, Object data)
boolean
fastMatches(AnnotatedElement annotated)
int
hashCode()
matches(AnnotatedElement annotated)
matches(AnnotatedElement annotated, ResolvedType[] parameterAnnotations)
matchesRuntimeType(AnnotatedElement annotated)
parameterizeWith(Map typeVariableMap, World w)
static AnnotationTypePattern
read(VersionedDataInputStream s, ISourceContext context)
void
resolveBindings(IScope scope, Bindings bindings, boolean allowBinding)
resolve one of these funky things.toString()
void
Methods inherited from class org.aspectj.weaver.patterns.ExactAnnotationTypePattern
maybeGetSimpleName, verifyIsAnnotationType
Methods inherited from class org.aspectj.weaver.patterns.AnnotationTypePattern
isAny, isForParameterAnnotationMatch, remapAdviceFormals, setForParameterAnnotationMatch
Methods inherited from class org.aspectj.weaver.patterns.PatternNode
copyLocationFrom, getEnd, getFileName, getSourceContext, getSourceLocation, getStart, readLocation, setLocation, traverse, writeLocation
-
Constructor Details
-
ExactAnnotationFieldTypePattern
-
ExactAnnotationFieldTypePattern
-
-
Method Details
-
resolveBindings
public AnnotationTypePattern resolveBindings(IScope scope, Bindings bindings, boolean allowBinding)resolve one of these funky things. Need to:
(a) Check the formal is bound
(b) Check the annotation type is valid- Overrides:
resolveBindings
in classExactAnnotationTypePattern
-
write
- Overrides:
write
in classExactAnnotationTypePattern
- Throws:
IOException
-
read
public static AnnotationTypePattern read(VersionedDataInputStream s, ISourceContext context) throws IOException- Throws:
IOException
-
accept
- Overrides:
accept
in classExactAnnotationTypePattern
-
equals
- Overrides:
equals
in classExactAnnotationTypePattern
-
hashCode
public int hashCode()- Overrides:
hashCode
in classExactAnnotationTypePattern
-
fastMatches
- Overrides:
fastMatches
in classExactAnnotationTypePattern
-
getAnnotationType
- Overrides:
getAnnotationType
in classExactAnnotationTypePattern
-
getAnnotationValues
- Overrides:
getAnnotationValues
in classExactAnnotationTypePattern
-
getResolvedAnnotationType
- Overrides:
getResolvedAnnotationType
in classExactAnnotationTypePattern
-
matches
- Overrides:
matches
in classExactAnnotationTypePattern
-
matches
- Overrides:
matches
in classExactAnnotationTypePattern
-
matchesRuntimeType
- Overrides:
matchesRuntimeType
in classExactAnnotationTypePattern
-
parameterizeWith
- Overrides:
parameterizeWith
in classExactAnnotationTypePattern
-
resolve
- Overrides:
resolve
in classExactAnnotationTypePattern
-
toString
- Overrides:
toString
in classExactAnnotationTypePattern
-