abc.weaving.weaver
Class ShadowPoints

java.lang.Object
  extended by abc.weaving.weaver.ShadowPoints
Direct Known Subclasses:
RebindingShadowPoints

public class ShadowPoints
extends java.lang.Object

A data structure to keep track of the beginning and end points of a pointcut shadow. Once created, the beginning and end points will alway point to NOP statements. Weaving will take place just after the beginning NOP and just before the ending NOP. Each abc.weaving.matching.AdviceApplication instance refers to a ShadowPoints instance. A ShadowPoints instance is shared between all AdviceApplications that apply to a specific pointcut.

Author:
Laurie Hendren, Ondrej Lhotak, Ganesh Sittampalam

Field Summary
protected  Stmt begin
           
protected  SootMethod container
           
protected  Stmt end
           
 
Constructor Summary
ShadowPoints(SootMethod container, Stmt b, Stmt e)
          Should always get references to NopStmts.
 
Method Summary
 Stmt getBegin()
           
 Stmt getEnd()
           
 ShadowMatch getShadowMatch()
           
 ShadowPoints inline(ConstructorInliningMap cim)
           
 void setShadowMatch(ShadowMatch sm)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

container

protected final SootMethod container

begin

protected final Stmt begin

end

protected final Stmt end
Constructor Detail

ShadowPoints

public ShadowPoints(SootMethod container,
                    Stmt b,
                    Stmt e)
Should always get references to NopStmts. For all types of pointcuts both b and e will be non-null. Even handler pointcuts have an ending nop, so they can handle BeforeAfterAdvice for cflow etc; but the nop will initially be right next to the starting nop.

Method Detail

inline

public ShadowPoints inline(ConstructorInliningMap cim)

getBegin

public Stmt getBegin()

getEnd

public Stmt getEnd()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

setShadowMatch

public void setShadowMatch(ShadowMatch sm)

getShadowMatch

public ShadowMatch getShadowMatch()