abc.weaving.residues
Class WeavingVar

java.lang.Object
  extended by abc.weaving.residues.WeavingVar
Direct Known Subclasses:
AdviceFormal, CflowSetup.CflowSetupBound, LocalVar, PolyLocalVar, SingleValueVar

public abstract class WeavingVar
extends java.lang.Object

A variable for use in weaving

Author:
Ganesh Sittampalam, Ondrej Lhotak

Constructor Summary
WeavingVar()
           
 
Method Summary
abstract  Local get()
          Get the soot local corresponding to this variable (only valid once it has been set)
abstract  Type getType()
          Get the soot type corresponding to this variable
abstract  boolean hasType()
          Has this variable got a type yet?
abstract  WeavingVar inline(ConstructorInliningMap cim)
           
static java.util.List inline(java.util.List list, ConstructorInliningMap cim)
           
 boolean maybeBox()
          Should primitive typed values be boxed if necessary when writing to this variable?
 boolean mustBox()
          Should we reject any binding value that isn't the appropriate type to box to this variable?
abstract  void resetForReweaving()
           
abstract  Stmt set(LocalGeneratorEx localgen, Chain units, Stmt begin, WeavingContext wc, Value val)
          Set the variable to the value v and return the last statement added (or begin if none)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WeavingVar

public WeavingVar()
Method Detail

set

public abstract Stmt set(LocalGeneratorEx localgen,
                         Chain units,
                         Stmt begin,
                         WeavingContext wc,
                         Value val)
Set the variable to the value v and return the last statement added (or begin if none)


get

public abstract Local get()
Get the soot local corresponding to this variable (only valid once it has been set)


hasType

public abstract boolean hasType()
Has this variable got a type yet?


getType

public abstract Type getType()
Get the soot type corresponding to this variable


maybeBox

public boolean maybeBox()
Should primitive typed values be boxed if necessary when writing to this variable?


mustBox

public boolean mustBox()
Should we reject any binding value that isn't the appropriate type to box to this variable?


resetForReweaving

public abstract void resetForReweaving()

inline

public abstract WeavingVar inline(ConstructorInliningMap cim)

inline

public static java.util.List inline(java.util.List list,
                                    ConstructorInliningMap cim)