Package org.aspectj.weaver.patterns
package org.aspectj.weaver.patterns
-
InterfaceDescriptionMarker interface for BindingTypePattern and BindingAnnotationTypePatternImplementors provide a 'verify()' method that is invoked at the end of type binding completion.A Pointcut or TypePattern visitor
-
ClassDescriptionImplements common functions to be used across ISignaturePatterns.Represents the AND of two other signature patterns.left && right(at)Annotation((at)Foo) or (at)Annotation(foo)This type represents a type pattern of '*' but with an annotation specified, e.g.args(arguments)Represents an attempt to bind the field of an annotation within a pointcut.Represents a declare annotation statement, one of atField, atMethod, atConstructor or atType.Captures type of declare annotation (method/type/field/constructor)Constructed based on an @DeclareMixin being found in an aspect.For a declare error/warning that specified a type pattern rather than a pointcut.Represents an attempt to bind the field of an annotation within a pointcut.Matches an annotation of a given typeRepresents a type that pointcuts may match.A marker class for bindings for which we want to ignore unbound issue and consider them as implicit binding - f.e. to handle JoinPoint in @AJ advicesThis is a kind of KindedPointcut.pr354470.Common super type for Pointcuts that can bind formal parameters.Represents the NOT of a signature pattern!Represents the OR of two other signature patterns.left || rightA visitor that turns a pointcut into a type pattern equivalent for a perthis or pertarget matching: - pertarget(target(Foo)) → Foo+ (this one is a special case..) - pertarget(execution(* Foo.do()) → Foo - perthis(call(* Foo.do()) → * - perthis(!The lifecycle of Pointcuts is modeled by Pointcut.State.Performs term rewriting for pointcut expressions.A scope that also considers type variables when looking up a type.Corresponds to target or this pcd.A TypeCategoryTypePattern matches on the category of a type, one of class/interface/aspect/inner/anonymous/enum/annotation, and these are specified in the pointcut via isClass() isInterface() isAspect() isInner() isAnonymous() isEnum() isAnnotation().On creation, type pattern only contains WildTypePattern nodes, not BindingType or ExactType.The PatternParser always creates WildTypePatterns for type patterns in pointcut expressions (apart from *, which is sometimes directly turned into TypePattern.ANY). resolveBindings() tries to work out what we've really got and turn it into a type pattern that we can use for matching.