org.aspectj.weaver.bcel
Class BcelWeavingSupport
java.lang.Object
org.aspectj.weaver.bcel.BcelWeavingSupport
- All Implemented Interfaces:
- IWeavingSupport
public class BcelWeavingSupport
- extends java.lang.Object
- implements IWeavingSupport
Bcel implementation of the weaving support required in a BcelWorld which will actually modify bytecode.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
BcelWeavingSupport
public BcelWeavingSupport()
createAdviceMunger
public Advice createAdviceMunger(AjAttribute.AdviceAttribute attribute,
Pointcut pointcut,
Member signature,
ResolvedType concreteAspect)
- Specified by:
createAdviceMunger
in interface IWeavingSupport
makeCflowStackFieldAdder
public ConcreteTypeMunger makeCflowStackFieldAdder(ResolvedMember cflowField)
- Specified by:
makeCflowStackFieldAdder
in interface IWeavingSupport
makeCflowCounterFieldAdder
public ConcreteTypeMunger makeCflowCounterFieldAdder(ResolvedMember cflowField)
- Specified by:
makeCflowCounterFieldAdder
in interface IWeavingSupport
makePerClauseAspect
public ConcreteTypeMunger makePerClauseAspect(ResolvedType aspect,
PerClause.Kind kind)
- Register a munger for perclause @AJ aspect so that we add aspectOf(..) to them as needed
- Specified by:
makePerClauseAspect
in interface IWeavingSupport
- Parameters:
aspect
- kind
-
- Returns:
- munger
- See Also:
org.aspectj.weaver.bcel.BcelWorld#makePerClauseAspect(ResolvedType, org.aspectj.weaver.patterns.PerClause.Kind)
makeCflowAccessVar
public Var makeCflowAccessVar(ResolvedType formalType,
Member cflowField,
int arrayIndex)
- Specified by:
makeCflowAccessVar
in interface IWeavingSupport
concreteTypeMunger
public ConcreteTypeMunger concreteTypeMunger(ResolvedTypeMunger munger,
ResolvedType aspectType)
- Specified by:
concreteTypeMunger
in interface IWeavingSupport
createAccessForInlineMunger
public ConcreteTypeMunger createAccessForInlineMunger(ResolvedType aspect)
- Specified by:
createAccessForInlineMunger
in interface IWeavingSupport