|
|||||||||
| 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 variables
public 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 | ||||||||