abc.weaving.weaver
Class ShadowPointsSetter

java.lang.Object
  extended by abc.weaving.weaver.ShadowPointsSetter

public class ShadowPointsSetter
extends java.lang.Object

The purpose of this class is to iterate over all AdviceApplication instances and initialize their ShadowPoints. This is done within a class, for each method/constructor body. If more than one AdviceApplication applies to a particular joinpoint, then only one ShadowPoints object is allocated, that is shared between all of them. Creating the ShadowPoints will also introduce new NOP statements that mark the beginning and end of the joinpoint shadow. The weaver uses these markers to see where to insert code.

Author:
Laurie Hendren, Ondrej Lhotak, Jennifer Lhotak, Ganesh Sittampalam

Constructor Summary
ShadowPointsSetter()
           
ShadowPointsSetter(java.util.Map unitBindings)
           
 
Method Summary
 void setShadowPointsPass1(SootClass sc)
          Set all ShadowPoints for AdviceApplications in class sc.
 void setShadowPointsPass2(SootClass sc)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ShadowPointsSetter

public ShadowPointsSetter(java.util.Map unitBindings)

ShadowPointsSetter

public ShadowPointsSetter()
Method Detail

setShadowPointsPass1

public void setShadowPointsPass1(SootClass sc)
Set all ShadowPoints for AdviceApplications in class sc.


setShadowPointsPass2

public void setShadowPointsPass2(SootClass sc)