|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectabc.weaving.weaver.CflowCodeGenUtils.CflowCodeGen
public abstract static class CflowCodeGenUtils.CflowCodeGen
Field Summary | |
---|---|
protected abc.weaving.weaver.CflowCodeGenUtils.CodeGenUtils |
cgu
|
protected SootFieldRef |
field
|
Constructor Summary | |
---|---|
CflowCodeGenUtils.CflowCodeGen()
|
Method Summary | |
---|---|
abstract java.lang.String |
chooseName()
Get a name to denote fields, methods etc that involve cflow classes. |
Chain |
genInitCflowField(LocalGeneratorEx localgen,
SootFieldRef field)
Generate code to initialise a field to contain the cflow state (in an aspect) |
abstract Chain |
genInitLocal(LocalGeneratorEx localgen,
Local cFlowLocal,
Local cFlowInstance)
Generate code to initialise a local variable to the cflow thread-local |
Chain |
genInitLocalLazily(LocalGeneratorEx localgen,
Local cFlowLocal,
Local cFlowInstance)
Generate code to initialise a local variable to the cflow thread-local, if non-null |
Chain |
genInitLocalToNull(LocalGeneratorEx localgen,
Local l)
Generate code to initialise a cflow instance local to a dummy value if necessary |
abstract ChainStmtBox |
genIsValid(LocalGeneratorEx localgen,
Local cFlowLocal,
Local result,
Stmt succeed,
Stmt fail)
Generate code for an isValid test. |
abstract Chain |
genPeek(LocalGeneratorEx localgen,
Local cFlowLocal,
java.util.List targets)
Generate code for a peek operation. |
abstract ChainStmtBox |
genPop(LocalGeneratorEx localgen,
Local cFlowLocal)
Generate code for a pop operation. |
abstract ChainStmtBox |
genPush(LocalGeneratorEx localgen,
Local cFlowLocal,
java.util.List values)
Generate code for a push operation. |
abstract SootClass |
getCflowInstanceClass()
Get the SootClass for the thread-local cflow class. |
Type |
getCflowInstanceType()
Get the Type of the thread-local cflow class. |
abstract Type |
getCflowType()
Get the Type of the (global) cflow class |
void |
setCflowField(SootFieldRef field)
Set the field containing the reference to this Cflow |
abstract void |
setFormals(java.util.List types)
Set the types of the cflow bound vars. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected abc.weaving.weaver.CflowCodeGenUtils.CodeGenUtils cgu
protected SootFieldRef field
Constructor Detail |
---|
public CflowCodeGenUtils.CflowCodeGen()
Method Detail |
---|
public abstract Type getCflowType()
public abstract SootClass getCflowInstanceClass()
public Type getCflowInstanceType()
public abstract java.lang.String chooseName()
public Chain genInitLocalToNull(LocalGeneratorEx localgen, Local l)
l
- The cflow local variable to initialise
public void setCflowField(SootFieldRef field)
field
- The field (in an aspect) containing the cflowpublic abstract void setFormals(java.util.List types)
types
- The list of types of the cflow bound variablespublic abstract Chain genInitLocal(LocalGeneratorEx localgen, Local cFlowLocal, Local cFlowInstance)
cFlowLocal
- The local variable to contain the thread-local Cflow bookkeeping classcFlowInstance
- The cflow bookkeeping instance to get the thread-local from
public Chain genInitLocalLazily(LocalGeneratorEx localgen, Local cFlowLocal, Local cFlowInstance)
cFlowLocal
- The local variable to contain the thread-local Cflow bookkeeping classcFlowInstance
- The cflow bookkeeping instance to get the thread-local from
public abstract ChainStmtBox genPush(LocalGeneratorEx localgen, Local cFlowLocal, java.util.List values)
cFlowLocal
- The local variable containing the thread-local Cflow bookkeeping classvalues
- the list of values to push onto the cflow stack
public abstract ChainStmtBox genPop(LocalGeneratorEx localgen, Local cFlowLocal)
cFlowLocal
- The local variable containing the thread-local Cflow bookkeeping class
public abstract Chain genPeek(LocalGeneratorEx localgen, Local cFlowLocal, java.util.List targets)
cFlowLocal
- The local variable containing the thread-local Cflow bookkeeping classtargets
- The list of target variables to save the cflow context into
public abstract ChainStmtBox genIsValid(LocalGeneratorEx localgen, Local cFlowLocal, Local result, Stmt succeed, Stmt fail)
cFlowLocal
- The local variable containing the thread-local Cflow bookkeeping classresult
- The local variable to store the result of the test intosucceed
- The stmt to jump to if the test succeeds, or null if none requiredfail
- The stmt to jump to if the test fails, or null if none required
public Chain genInitCflowField(LocalGeneratorEx localgen, SootFieldRef field)
field
- The field to contain the cflow state (of type getCflowType())
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |