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
-
Method Summary
Modifier and TypeMethodDescriptionconcreteTypeMunger(ResolvedTypeMunger munger, ResolvedType aspectType)
createAccessForInlineMunger(ResolvedType aspect)
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:
makePerClauseAspect(ResolvedType, org.aspectj.weaver.patterns.PerClause.Kind)
-
makeCflowAccessVar
- Specified by:
makeCflowAccessVar
in interfaceIWeavingSupport
-
concreteTypeMunger
- Specified by:
concreteTypeMunger
in interfaceIWeavingSupport
-
createAccessForInlineMunger
- Specified by:
createAccessForInlineMunger
in interfaceIWeavingSupport
-