Package org.aspectj.weaver.bcel
Class BcelWeavingSupport
java.lang.Object
org.aspectj.weaver.bcel.BcelWeavingSupport
- All Implemented Interfaces:
IWeavingSupport
Bcel implementation of the weaving support required in a BcelWorld which will actually modify bytecode.
- Author:
- Andy Clement
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionconcreteTypeMunger
(ResolvedTypeMunger munger, ResolvedType aspectType) createAdviceMunger
(AjAttribute.AdviceAttribute attribute, Pointcut pointcut, Member signature, ResolvedType concreteAspect) makeCflowAccessVar
(ResolvedType formalType, Member cflowField, int arrayIndex) makeCflowCounterFieldAdder
(ResolvedMember cflowField) makeCflowStackFieldAdder
(ResolvedMember cflowField) makePerClauseAspect
(ResolvedType aspect, PerClause.Kind kind) Register a munger for perclause @AJ aspect so that we add aspectOf(..) to them as needed
-
Constructor Details
-
BcelWeavingSupport
public BcelWeavingSupport()
-
-
Method Details
-
createAdviceMunger
public Advice createAdviceMunger(AjAttribute.AdviceAttribute attribute, Pointcut pointcut, Member signature, ResolvedType concreteAspect) - Specified by:
createAdviceMunger
in interfaceIWeavingSupport
-
makeCflowStackFieldAdder
- Specified by:
makeCflowStackFieldAdder
in interfaceIWeavingSupport
-
makeCflowCounterFieldAdder
- Specified by:
makeCflowCounterFieldAdder
in interfaceIWeavingSupport
-
makePerClauseAspect
Register a munger for perclause @AJ aspect so that we add aspectOf(..) to them as needed- Specified by:
makePerClauseAspect
in interfaceIWeavingSupport
- Parameters:
aspect
-kind
-- Returns:
- munger
- See Also:
-
makeCflowAccessVar
- Specified by:
makeCflowAccessVar
in interfaceIWeavingSupport
-
concreteTypeMunger
- Specified by:
concreteTypeMunger
in interfaceIWeavingSupport
-
createAccessForInlineMunger
- Specified by:
createAccessForInlineMunger
in interfaceIWeavingSupport
-