Package org.aspectj.weaver.patterns
package org.aspectj.weaver.patterns
-
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.Marker interface for BindingTypePattern and BindingAnnotationTypePatternRepresents 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.This is a kind of KindedPointcut.pr354470.Implementors provide a 'verify()' method that is invoked at the end of type binding completion.Common super type for Pointcuts that can bind formal parameters.Represents the NOT of a signature pattern!TypePatternRepresents the OR of two other signature patterns.left || rightA Pointcut or TypePattern visitorA 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(!call(* Foo.do()) → * (see how the ! has been absorbed here..)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.Check if there are illegal 'void[]' , 'void[][]' etc.The PatternParser always creates WildTypePatterns for type patterns in pointcut expressions (apart from *, which is sometimes directly turned into TypePattern.ANY).