abc.weaving.weaver
Class AroundWeaver.AdviceMethod

java.lang.Object
  extended by abc.weaving.weaver.AroundWeaver.AdviceMethod
Enclosing class:
AroundWeaver

public static class AroundWeaver.AdviceMethod
extends java.lang.Object


Nested Class Summary
 class AroundWeaver.AdviceMethod.AdviceLocalClass
           
static class AroundWeaver.AdviceMethod.InterfaceInfo
           
 class AroundWeaver.AdviceMethod.ProceedMethod
           
 
Field Summary
 Body adviceBody
           
 java.util.Map adviceLocalClasses
           
 java.util.Set adviceMethodInvocationStmts
           
 Chain adviceStatements
           
 boolean bAlwaysStaticProceedMethod
           
 boolean bHasBeenWovenInto
           
 java.util.Set directInvocationStmts
           
 boolean hasDynamicProceed
           
 java.util.List originalAdviceFormalTypes
           
 SootMethod sootAdviceMethod
           
 java.util.HashSet staticProceedTypes
           
 
Method Summary
 void doWeave(AdviceApplication adviceAppl, SootMethod shadowMethod)
           
 Type getAdviceReturnType()
           
 java.util.List getAllProceedMethods()
           
static java.util.List getOriginalAdviceFormals(AdviceDecl adviceDecl)
           
 AroundWeaver.AdviceMethod.ProceedMethod getProceedMethod(java.lang.String className, boolean bStatic)
           
 int getStaticDispatchTypeID(Type type)
           
 int getUniqueShadowID()
           
 int[] modifyAdviceMethod(java.util.List contextParameters, AroundWeaver.AdviceMethod.ProceedMethod proceedMethod, AroundWeaver.ObjectBox contextActualsResult, boolean bStaticProceedMethod, boolean bUseClosureObject)
           
 void setClosureProceedMethod(AroundWeaver.AdviceMethod.ProceedMethod m)
           
 void setProceedMethod(java.lang.String className, boolean bStatic, AroundWeaver.AdviceMethod.ProceedMethod proceedMethod)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sootAdviceMethod

public final SootMethod sootAdviceMethod

adviceBody

public final Body adviceBody

adviceStatements

public final Chain adviceStatements

originalAdviceFormalTypes

public final java.util.List originalAdviceFormalTypes

staticProceedTypes

public final java.util.HashSet staticProceedTypes

hasDynamicProceed

public boolean hasDynamicProceed

bAlwaysStaticProceedMethod

public final boolean bAlwaysStaticProceedMethod
See Also:
Constant Field Values

bHasBeenWovenInto

public boolean bHasBeenWovenInto

adviceMethodInvocationStmts

public final java.util.Set adviceMethodInvocationStmts

directInvocationStmts

public final java.util.Set directInvocationStmts

adviceLocalClasses

public final java.util.Map adviceLocalClasses
Method Detail

doWeave

public void doWeave(AdviceApplication adviceAppl,
                    SootMethod shadowMethod)

getStaticDispatchTypeID

public int getStaticDispatchTypeID(Type type)

modifyAdviceMethod

public int[] modifyAdviceMethod(java.util.List contextParameters,
                                AroundWeaver.AdviceMethod.ProceedMethod proceedMethod,
                                AroundWeaver.ObjectBox contextActualsResult,
                                boolean bStaticProceedMethod,
                                boolean bUseClosureObject)

getAdviceReturnType

public Type getAdviceReturnType()

getOriginalAdviceFormals

public static java.util.List getOriginalAdviceFormals(AdviceDecl adviceDecl)

getAllProceedMethods

public java.util.List getAllProceedMethods()

getProceedMethod

public AroundWeaver.AdviceMethod.ProceedMethod getProceedMethod(java.lang.String className,
                                                                boolean bStatic)

setClosureProceedMethod

public void setClosureProceedMethod(AroundWeaver.AdviceMethod.ProceedMethod m)

setProceedMethod

public void setProceedMethod(java.lang.String className,
                             boolean bStatic,
                             AroundWeaver.AdviceMethod.ProceedMethod proceedMethod)

getUniqueShadowID

public int getUniqueShadowID()