Package org.aspectj.weaver
package org.aspectj.weaver
-
ClassDescriptionThe five kinds of advice in AspectJ.These attributes are written to and read from .class files (see the JVM spec).Synthetic members should have NO advice put on them or on their contents.The AjcMemberMaker is responsible for creating the representations of methods/fields/etc that are placed in both aspects and affected target types.Represents any element that may have annotationsSimple representation of an annotation that the weaver can work with.Represents adding an annotation to a typeA TypeSafeEnum similar to the Java5 ElementType EnumRepresents a resolved array typeException to use inside the bcweaver.BindingScope that knows the enclosingType, which is needed for pointcut reference resolutionA BoundedReferenceType is the result of a generics wildcard expression ? extends String, ? super Foo etc..Representation of a shadow munger for a declare error or warning declaration.A variation of a DataOutputStream that is linked to a constant pool writer.Used during attribute reading to decode constant pool references.Used during attribute writing to encode common strings/etc as constant pool references.Some useful weaver constants.This holds on to all members that have an invasive effect outside of there own compilation unit.This holds on to all CrosscuttingMembers for a world.This interface is introduced to support tools like PointcutDoctor.Special kind of privileged access munger which exposes a type to be public.A delegate that can sit in the ReferenceType instance created for an aspect generated from aop.xml.An IClassWeaver is initialized with a class (a type, really, but let's ignore that for now) and a world, and has one method that actually weaves the contents of the world into the class implementation.Clients can pass a single cross-reference handler to the weaver on construction of a BcelWorld.A filter represents a mapping function from Iterator to IteratorIterators.Getter<A,
B> A getter represents a mapping function from Object to IteratorHistory: 246125Encapsulates operations that a world will need to support if it is actually going to modify bytecode rather than just match against it.Iterates over the signatures of a join point, calculating new signatures lazily to minimize processing and to avoid unneccessary "can't find type" errors.Abstract representation of a member (field/constructor/method) within a type.Common utility methods for members.Type munger for annotation style ITD declare parents.When we try to resolve a type in the world that we require to be present, and then fail to find it, we return an instance of this class.Code that created version one style ITD type mungers will be using direct field access from the dispatchersWeaver representation of an intertype declared member class.Walks a pointcut and determines if the synchronization related designators have been used: lock() or unlock()A privileged access munger is for handling privileged access to a member.A reference type represents some 'real' type, not a primitive, not an array - but a real type, for example java.util.List.Abstraction over a type - a reference type is Object or a descendant of Object, other types (int/etc) are considered primitive types.Carries an array of unresolved types - will resolve them on demand.Represent a resolved member.This is an abstraction over method/field introduction.Captures important runtime versions.A type-safe enum representing the kind of shadowsFor every shadow munger, nothing can be done with it until it is concretized.This type represents the weavers abstraction of an annotation - it is not tied to any underlying BCI toolkit.Some methods need a temporary type munger (because ConcreteTypeMunger is abstract - dont ask...).Represents a type variable with possible bounds.Tag interface - methods and types can be declaring elements for type variables.Implemented by Types that represent references to type variablesReferenceType pointing to a type variable.A UnresolvedType represents a type to the weaver.Lightweight subclass of DataInputStream that knows what version of the weaver was used to construct the data in it.Wraps a reference to a classloader inside a WeakReference.WeaverStateInfo represents how a type was processed.Represents a wildcarded bound for a generic type, this can be unbounded '?' or bounded via extends '? extends Foo' or super '? super Foo'.A World is a collection of known types and crosscutting members.