org.aspectj.weaver
Interface IWeavingSupport

All Known Implementing Classes:
BcelWeavingSupport

public interface IWeavingSupport

Encapsulates operations that a world will need to support if it is actually going to modify bytecode rather than just match against it. BcelWeavingSupport


Method Summary
 ConcreteTypeMunger concreteTypeMunger(ResolvedTypeMunger munger, ResolvedType aspectType)
           
 ConcreteTypeMunger createAccessForInlineMunger(ResolvedType inAspect)
           
 Advice createAdviceMunger(AjAttribute.AdviceAttribute attribute, Pointcut pointcut, Member signature, ResolvedType concreteAspect)
           
 Var makeCflowAccessVar(ResolvedType formalType, Member cflowField, int arrayIndex)
           
 ConcreteTypeMunger makeCflowCounterFieldAdder(ResolvedMember cflowField)
           
 ConcreteTypeMunger makeCflowStackFieldAdder(ResolvedMember cflowField)
           
 ConcreteTypeMunger makePerClauseAspect(ResolvedType aspect, PerClause.Kind kind)
          Register a munger for perclause @AJ aspect so that we add aspectOf(..) to them as needed
 

Method Detail

createAdviceMunger

Advice createAdviceMunger(AjAttribute.AdviceAttribute attribute,
                          Pointcut pointcut,
                          Member signature,
                          ResolvedType concreteAspect)

makeCflowStackFieldAdder

ConcreteTypeMunger makeCflowStackFieldAdder(ResolvedMember cflowField)

makeCflowCounterFieldAdder

ConcreteTypeMunger makeCflowCounterFieldAdder(ResolvedMember cflowField)

makePerClauseAspect

ConcreteTypeMunger makePerClauseAspect(ResolvedType aspect,
                                       PerClause.Kind kind)
Register a munger for perclause @AJ aspect so that we add aspectOf(..) to them as needed

See Also:
org.aspectj.weaver.bcel.BcelWorld#makePerClauseAspect(ResolvedType, org.aspectj.weaver.patterns.PerClause.Kind)

concreteTypeMunger

ConcreteTypeMunger concreteTypeMunger(ResolvedTypeMunger munger,
                                      ResolvedType aspectType)

createAccessForInlineMunger

ConcreteTypeMunger createAccessForInlineMunger(ResolvedType inAspect)

makeCflowAccessVar

Var makeCflowAccessVar(ResolvedType formalType,
                       Member cflowField,
                       int arrayIndex)