org.aspectj.weaver.reflect
Class DeferredResolvedPointcutDefinition

java.lang.Object
  extended by org.aspectj.weaver.MemberImpl
      extended by org.aspectj.weaver.ResolvedMemberImpl
          extended by org.aspectj.weaver.ResolvedPointcutDefinition
              extended by org.aspectj.weaver.reflect.DeferredResolvedPointcutDefinition
All Implemented Interfaces:
java.lang.Comparable<Member>, AnnotatedElement, IHasPosition, Member, ResolvedMember, TypeVariableDeclaringElement

public class DeferredResolvedPointcutDefinition
extends ResolvedPointcutDefinition

When a Java15ReflectionBasedDelegate gets the pointcuts for a given class it tries to resolve them before returning. This can cause problems if the resolution of one pointcut in the type depends on another pointcut in the same type. Therefore the algorithm proceeds in two phases, first we create and store instances of this class in the pointcuts array, and once that is done, we come back round and resolve the actual pointcut expression. This means that if we recurse doing resolution, we will find the named pointcut we are looking for!


Field Summary
 
Fields inherited from class org.aspectj.weaver.ResolvedPointcutDefinition
DUMMY, NO_POINTCUTS
 
Fields inherited from class org.aspectj.weaver.ResolvedMemberImpl
annotations, annotationTypes, backingGenericMember, checkedExceptions, end, parameterAnnotations, parameterAnnotationTypes, showParameterNames, sourceContext, start, typeVariables
 
Fields inherited from class org.aspectj.weaver.MemberImpl
declaringType, kind, modifiers, name, parameterTypes, returnType
 
Fields inherited from interface org.aspectj.weaver.ResolvedMember
NONE
 
Fields inherited from interface org.aspectj.weaver.Member
ADVICE, CONSTRUCTOR, FIELD, HANDLER, METHOD, MONITORENTER, MONITOREXIT, NO_PARAMETER_ANNOTATION_TYPES, NO_PARAMETER_ANNOTATIONXS, POINTCUT, STATIC_INITIALIZATION
 
Constructor Summary
DeferredResolvedPointcutDefinition(UnresolvedType declaringType, int modifiers, java.lang.String name, UnresolvedType[] parameterTypes)
           
 
Method Summary
 
Methods inherited from class org.aspectj.weaver.ResolvedPointcutDefinition
getPointcut, isAjSynthetic, parameterizedWith, read, setPointcut, toString, write
 
Methods inherited from class org.aspectj.weaver.ResolvedMemberImpl
addAnnotation, appendSigWithTypeVarBoundsRemoved, evictWeavingState, getAnnotationDefaultValue, getAnnotationOfType, getAnnotations, getAnnotationTypes, getAssociatedShadowMunger, getBackingGenericMember, getEffectiveSignature, getEnd, getExceptions, getExceptions, getGenericParameterTypes, getGenericReturnType, getGenericSignature, getJoinPointSignatures, getModifiers, getModifiers, getParameterAnnotations, getParameterAnnotationTypes, getParameterNames, getParameterNames, getParameterSignatureErased, getSignatureErased, getSignatureForAttribute, getSourceContext, getSourceContext, getSourceLocation, getStart, getTypeVariableNamed, getTypeVariables, hasAnnotation, hasAnnotations, hasBackingGenericMember, isAbstract, isAnnotatedElsewhere, isBridgeMethod, isCompatibleWith, isDefault, isDefaultConstructor, isEquivalentTo, isPublic, isSynthetic, isVarargsMethod, isVisible, matches, parameterize, parameterizedWith, parameterizedWith, readResolvedMember, readResolvedMemberArray, resetKind, resetModifiers, resetName, resetReturnTypeToObjectArray, resolve, setAjSynthetic, setAnnotatedElsewhere, setAnnotationTypes, setCheckedExceptions, setDeclaringType, setParameterNames, setPosition, setSourceContext, setTypeVariables, setVarargsMethod, toDebugString, toGenericString, writeArray
 
Methods inherited from class org.aspectj.weaver.MemberImpl
canBeParameterized, compareTo, equals, equalsApartFromDeclaringType, field, getArity, getDeclaringType, getDeclaringTypes, getJoinPointSignatures, getKind, getName, getParameterSignature, getParameterTypes, getReturnType, getSignature, getType, hashCode, isInterface, isPrivate, isStatic, makeExceptionHandlerSignature, method, method, monitorEnter, monitorExit, pointcut, typesToSignature, typesToSignature, wipeJoinpointSignatures
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.aspectj.weaver.ResolvedMember
equalsApartFromDeclaringType
 
Methods inherited from interface org.aspectj.weaver.Member
canBeParameterized, compareTo, getArity, getDeclaringType, getDeclaringTypes, getJoinPointSignatures, getKind, getName, getParameterSignature, getParameterTypes, getReturnType, getSignature, getType
 

Constructor Detail

DeferredResolvedPointcutDefinition

public DeferredResolvedPointcutDefinition(UnresolvedType declaringType,
                                          int modifiers,
                                          java.lang.String name,
                                          UnresolvedType[] parameterTypes)