|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectabc.weaving.residues.Residue
public abstract class Residue
The base class defining dynamic residues of pointcuts
Nested Class Summary | |
---|---|
static class |
Residue.Bindings
|
Constructor Summary | |
---|---|
Residue()
|
Method Summary | |
---|---|
abstract Stmt |
codeGen(SootMethod method,
LocalGeneratorEx localgen,
Chain units,
Stmt begin,
Stmt fail,
boolean sense,
WeavingContext wc)
Generate the code for this dynamic residue. |
void |
getAdviceFormalBindings(Residue.Bindings bindings,
AndResidue andRoot)
Fills the Bindings object with information of possible advice-formal bindings. |
java.util.List |
getResidueBoxes()
|
abstract Residue |
inline(ConstructorInliningMap cim)
Make a copy of the residue applying to an inlined version of the code. |
abstract Residue |
optimize()
Optimize the residue by rebuilding it, invoking the smart constructors along the way. |
Residue |
resetForReweaving()
|
Residue |
restructureToCreateBindingsMask(Local bindingsMaskLocal,
Residue.Bindings bindings)
Returns residue that replaces the old residue. |
protected static Stmt |
succeed(Chain units,
Stmt begin,
Stmt fail,
boolean sense)
This is a helper method for codeGen; it is called when an implementation of codeGen considers that the residue has succeeded, but hasn't yet considered the sense parameter. |
abstract java.lang.String |
toString()
Must provide a toString method |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public Residue()
Method Detail |
---|
public abstract Residue inline(ConstructorInliningMap cim)
public abstract Residue optimize()
public abstract Stmt codeGen(SootMethod method, LocalGeneratorEx localgen, Chain units, Stmt begin, Stmt fail, boolean sense, WeavingContext wc)
method
- The method the code is being inserted intolocalgen
- A local generator for the methodunits
- The chain the code is being inserted intobegin
- Code will be inserted just after this statementsense
- If this is false, inverts the meaning of failure and success for the residuefail
- If the residue "fails", the inserted code will jump to this point;
otherwise it will fall throughwc
- The weaving context
protected static Stmt succeed(Chain units, Stmt begin, Stmt fail, boolean sense)
units
- The chain the code is being inserted intobegin
- Any extra code will be inserted just after this statementfail
- The place to jump if sense is falsesense
- Indicates the sense of the residuepublic abstract java.lang.String toString()
toString
in class java.lang.Object
public Residue resetForReweaving()
public void getAdviceFormalBindings(Residue.Bindings bindings, AndResidue andRoot)
public Residue restructureToCreateBindingsMask(Local bindingsMaskLocal, Residue.Bindings bindings)
public java.util.List getResidueBoxes()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |