abc.weaving.residues
Class CheckType

java.lang.Object
  extended by abc.weaving.residues.Residue
      extended by abc.weaving.residues.CheckType

public class CheckType
extends Residue

Check the type of a context value

Author:
Ganesh Sittampalam, Ondrej Lhotak

Nested Class Summary
 
Nested classes/interfaces inherited from class abc.weaving.residues.Residue
Residue.Bindings
 
Method Summary
 Stmt codeGen(SootMethod method, LocalGeneratorEx localgen, Chain units, Stmt begin, Stmt fail, boolean sense, WeavingContext wc)
          Generate the code for this dynamic residue.
static Residue construct(ContextValue value, Type type)
           
 Residue inline(ConstructorInliningMap cim)
          Make a copy of the residue applying to an inlined version of the code.
 Residue optimize()
          Optimize the residue by rebuilding it, invoking the smart constructors along the way.
 java.lang.String toString()
          Must provide a toString method
 
Methods inherited from class abc.weaving.residues.Residue
getAdviceFormalBindings, getResidueBoxes, resetForReweaving, restructureToCreateBindingsMask, succeed
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

optimize

public Residue optimize()
Description copied from class: Residue
Optimize the residue by rebuilding it, invoking the smart constructors along the way.

Specified by:
optimize in class Residue

inline

public Residue inline(ConstructorInliningMap cim)
Description copied from class: Residue
Make a copy of the residue applying to an inlined version of the code.

Specified by:
inline in class Residue

construct

public static Residue construct(ContextValue value,
                                Type type)

toString

public java.lang.String toString()
Description copied from class: Residue
Must provide a toString method

Specified by:
toString in class Residue

codeGen

public Stmt codeGen(SootMethod method,
                    LocalGeneratorEx localgen,
                    Chain units,
                    Stmt begin,
                    Stmt fail,
                    boolean sense,
                    WeavingContext wc)
Description copied from class: Residue
Generate the code for this dynamic residue.

Specified by:
codeGen in class Residue
Parameters:
method - The method the code is being inserted into
localgen - A local generator for the method
units - The chain the code is being inserted into
begin - Code will be inserted just after this statement
fail - If the residue "fails", the inserted code will jump to this point; otherwise it will fall through
sense - If this is false, inverts the meaning of failure and success for the residue
wc - The weaving context
Returns:
The last statement that was inserted into the chain (or begin if nothing was).